From 91c87f32d91b61e7d731c1a940cf0e9b9aaf4a77 Mon Sep 17 00:00:00 2001 From: David Benson Date: Tue, 20 Aug 2019 16:53:06 +0000 Subject: [PATCH] 4.0.4 release --- ChangeLog | 5 + docs/js-api/files/index-txt.html | 2 +- docs/js-api/files/mxClient-js.html | 4 +- docs/js-api/index/General20.html | 2 +- docs/js-api/index/Variables16.html | 2 +- docs/js-api/javascript/searchdata.js | 128 +- docs/manual.html | 2 +- docs/manual_javavis.html | 2 +- docs/php-api/files/canvas/mxGdCanvas-php.html | 125 -- .../files/canvas/mxHtmlCanvas-php.html | 63 - docs/php-api/files/index-txt.html | 39 - docs/php-api/files/io/mxCellCodec-php.html | 43 - docs/php-api/files/io/mxCodec-php.html | 79 - .../php-api/files/io/mxCodecRegistry-php.html | 57 - docs/php-api/files/io/mxModelCodec-php.html | 43 - docs/php-api/files/io/mxObjectCodec-php.html | 115 -- .../files/io/mxStylesheetCodec-php.html | 43 - docs/php-api/files/model/mxCell-php.html | 149 -- docs/php-api/files/model/mxCellPath-php.html | 51 - docs/php-api/files/model/mxGeometry-php.html | 67 - .../php-api/files/model/mxGraphModel-php.html | 155 -- .../reader/mxGraphViewHtmlReader-php.html | 49 - .../reader/mxGraphViewImageReader-php.html | 77 - docs/php-api/files/util/mxConstants-php.html | 323 ---- docs/php-api/files/util/mxEvent-php.html | 47 - .../php-api/files/util/mxEventObject-php.html | 61 - .../php-api/files/util/mxEventSource-php.html | 49 - .../php-api/files/util/mxImageBundle-php.html | 67 - docs/php-api/files/util/mxLog-php.html | 83 - docs/php-api/files/util/mxPoint-php.html | 53 - docs/php-api/files/util/mxRectangle-php.html | 63 - docs/php-api/files/util/mxUtils-php.html | 119 -- docs/php-api/files/view/mxCellState-php.html | 73 - .../view/mxConnectionConstraint-php.html | 49 - docs/php-api/files/view/mxEdgeStyle-php.html | 67 - docs/php-api/files/view/mxGraph-php.html | 137 -- docs/php-api/files/view/mxGraphView-php.html | 137 -- docs/php-api/files/view/mxPerimeter-php.html | 63 - .../files/view/mxStyleRegistry-php.html | 51 - docs/php-api/files/view/mxStylesheet-php.html | 65 - docs/php-api/index.html | 1 - docs/php-api/index/Classes.html | 34 - docs/php-api/index/Files.html | 38 - docs/php-api/index/Functions.html | 42 - docs/php-api/index/Functions2.html | 34 - docs/php-api/index/Functions3.html | 38 - docs/php-api/index/Functions4.html | 34 - docs/php-api/index/Functions5.html | 46 - docs/php-api/index/Functions6.html | 38 - docs/php-api/index/Functions7.html | 46 - docs/php-api/index/Functions8.html | 34 - docs/php-api/index/General.html | 38 - docs/php-api/index/General10.html | 54 - docs/php-api/index/General2.html | 34 - docs/php-api/index/General3.html | 34 - docs/php-api/index/General4.html | 38 - docs/php-api/index/General5.html | 34 - docs/php-api/index/General6.html | 42 - docs/php-api/index/General7.html | 42 - docs/php-api/index/General8.html | 38 - docs/php-api/index/General9.html | 34 - docs/php-api/index/Interfaces.html | 34 - docs/php-api/index/Variables.html | 70 - docs/php-api/index/Variables2.html | 50 - docs/php-api/index/Variables3.html | 34 - docs/php-api/index/Variables4.html | 54 - docs/php-api/javascript/main.js | 841 --------- docs/php-api/javascript/prettify.js | 1526 ----------------- docs/php-api/javascript/searchdata.js | 182 -- docs/php-api/search/ClassesM.html | 20 - docs/php-api/search/FilesA.html | 20 - docs/php-api/search/FilesM.html | 20 - docs/php-api/search/FunctionsA.html | 20 - docs/php-api/search/FunctionsB.html | 20 - docs/php-api/search/FunctionsC.html | 20 - docs/php-api/search/FunctionsD.html | 20 - docs/php-api/search/FunctionsE.html | 20 - docs/php-api/search/FunctionsF.html | 20 - docs/php-api/search/FunctionsG.html | 20 - docs/php-api/search/FunctionsI.html | 20 - docs/php-api/search/FunctionsL.html | 20 - docs/php-api/search/FunctionsM.html | 20 - docs/php-api/search/FunctionsO.html | 20 - docs/php-api/search/FunctionsP.html | 20 - docs/php-api/search/FunctionsR.html | 20 - docs/php-api/search/FunctionsS.html | 20 - docs/php-api/search/FunctionsT.html | 20 - docs/php-api/search/FunctionsU.html | 20 - docs/php-api/search/FunctionsV.html | 20 - docs/php-api/search/FunctionsW.html | 20 - docs/php-api/search/GeneralA.html | 20 - docs/php-api/search/GeneralB.html | 20 - docs/php-api/search/GeneralC.html | 20 - docs/php-api/search/GeneralD.html | 20 - docs/php-api/search/GeneralE.html | 20 - docs/php-api/search/GeneralF.html | 20 - docs/php-api/search/GeneralG.html | 20 - docs/php-api/search/GeneralH.html | 20 - docs/php-api/search/GeneralI.html | 20 - docs/php-api/search/GeneralL.html | 20 - docs/php-api/search/GeneralM.html | 20 - docs/php-api/search/GeneralN.html | 20 - docs/php-api/search/GeneralO.html | 20 - docs/php-api/search/GeneralP.html | 20 - docs/php-api/search/GeneralR.html | 20 - docs/php-api/search/GeneralS.html | 20 - docs/php-api/search/GeneralT.html | 20 - docs/php-api/search/GeneralU.html | 20 - docs/php-api/search/GeneralV.html | 20 - docs/php-api/search/GeneralW.html | 20 - docs/php-api/search/GeneralX.html | 20 - docs/php-api/search/GeneralY.html | 20 - docs/php-api/search/InterfacesM.html | 20 - docs/php-api/search/NoResults.html | 15 - docs/php-api/search/VariablesA.html | 20 - docs/php-api/search/VariablesB.html | 20 - docs/php-api/search/VariablesC.html | 20 - docs/php-api/search/VariablesD.html | 20 - docs/php-api/search/VariablesE.html | 20 - docs/php-api/search/VariablesF.html | 20 - docs/php-api/search/VariablesG.html | 20 - docs/php-api/search/VariablesH.html | 20 - docs/php-api/search/VariablesI.html | 20 - docs/php-api/search/VariablesL.html | 20 - docs/php-api/search/VariablesM.html | 20 - docs/php-api/search/VariablesN.html | 20 - docs/php-api/search/VariablesO.html | 20 - docs/php-api/search/VariablesP.html | 20 - docs/php-api/search/VariablesR.html | 20 - docs/php-api/search/VariablesS.html | 20 - docs/php-api/search/VariablesT.html | 20 - docs/php-api/search/VariablesU.html | 20 - docs/php-api/search/VariablesV.html | 20 - docs/php-api/search/VariablesW.html | 20 - docs/php-api/search/VariablesX.html | 20 - docs/php-api/search/VariablesY.html | 20 - docs/php-api/styles/main.css | 828 --------- .../html/classcom_1_1mxgraph_1_1mxGraph.html | 8 +- dotnet/src/view/mxGraph.cs | 4 +- index.html | 6 +- java/build.xml | 2 +- .../mxgraph/analysis/StructuralException.html | 12 +- .../class-use/StructuralException.html | 12 +- .../analysis/class-use/mxAnalysisGraph.html | 12 +- .../class-use/mxConstantCostFunction.html | 12 +- .../class-use/mxDistanceCostFunction.html | 12 +- .../class-use/mxFibonacciHeap.Node.html | 12 +- .../analysis/class-use/mxFibonacciHeap.html | 12 +- .../analysis/class-use/mxGraphAnalysis.html | 12 +- .../analysis/class-use/mxGraphGenerator.html | 12 +- .../mxGraphProperties.GraphType.html | 12 +- .../analysis/class-use/mxGraphProperties.html | 12 +- .../analysis/class-use/mxGraphStructure.html | 12 +- .../analysis/class-use/mxICostFunction.html | 12 +- .../analysis/class-use/mxTraversal.html | 12 +- .../analysis/class-use/mxUnionFind.Node.html | 12 +- .../analysis/class-use/mxUnionFind.html | 12 +- .../com/mxgraph/analysis/mxAnalysisGraph.html | 12 +- .../analysis/mxConstantCostFunction.html | 12 +- .../analysis/mxDistanceCostFunction.html | 12 +- .../analysis/mxFibonacciHeap.Node.html | 12 +- .../com/mxgraph/analysis/mxFibonacciHeap.html | 12 +- .../com/mxgraph/analysis/mxGraphAnalysis.html | 12 +- .../mxgraph/analysis/mxGraphGenerator.html | 12 +- .../analysis/mxGraphProperties.GraphType.html | 12 +- .../mxgraph/analysis/mxGraphProperties.html | 12 +- .../mxgraph/analysis/mxGraphStructure.html | 12 +- .../com/mxgraph/analysis/mxICostFunction.html | 12 +- .../com/mxgraph/analysis/mxTraversal.html | 12 +- .../mxgraph/analysis/mxUnionFind.Node.html | 12 +- .../com/mxgraph/analysis/mxUnionFind.html | 12 +- .../com/mxgraph/analysis/package-summary.html | 12 +- .../com/mxgraph/analysis/package-tree.html | 12 +- .../com/mxgraph/analysis/package-use.html | 12 +- .../canvas/class-use/mxBasicCanvas.html | 12 +- .../canvas/class-use/mxGraphics2DCanvas.html | 12 +- .../mxGraphicsCanvas2D.CanvasState.html | 12 +- .../canvas/class-use/mxGraphicsCanvas2D.html | 12 +- .../canvas/class-use/mxHtmlCanvas.html | 12 +- .../mxgraph/canvas/class-use/mxICanvas.html | 12 +- .../mxgraph/canvas/class-use/mxICanvas2D.html | 12 +- .../canvas/class-use/mxImageCanvas.html | 12 +- .../mxgraph/canvas/class-use/mxSvgCanvas.html | 12 +- .../mxgraph/canvas/class-use/mxVmlCanvas.html | 12 +- .../com/mxgraph/canvas/mxBasicCanvas.html | 12 +- .../mxgraph/canvas/mxGraphics2DCanvas.html | 12 +- .../mxGraphicsCanvas2D.CanvasState.html | 12 +- .../mxgraph/canvas/mxGraphicsCanvas2D.html | 12 +- .../docs/com/mxgraph/canvas/mxHtmlCanvas.html | 12 +- java/docs/com/mxgraph/canvas/mxICanvas.html | 12 +- java/docs/com/mxgraph/canvas/mxICanvas2D.html | 12 +- .../com/mxgraph/canvas/mxImageCanvas.html | 12 +- java/docs/com/mxgraph/canvas/mxSvgCanvas.html | 12 +- java/docs/com/mxgraph/canvas/mxVmlCanvas.html | 12 +- .../com/mxgraph/canvas/package-summary.html | 12 +- .../docs/com/mxgraph/canvas/package-tree.html | 12 +- java/docs/com/mxgraph/canvas/package-use.html | 12 +- .../class-use/mxConstCostFunction.html | 12 +- .../class-use/mxCostFunction.html | 12 +- .../class-use/mxDoubleValCostFunction.html | 12 +- .../costfunction/mxConstCostFunction.html | 12 +- .../mxgraph/costfunction/mxCostFunction.html | 12 +- .../costfunction/mxDoubleValCostFunction.html | 12 +- .../mxgraph/costfunction/package-summary.html | 12 +- .../mxgraph/costfunction/package-tree.html | 12 +- .../com/mxgraph/costfunction/package-use.html | 12 +- .../class-use/mxGeneratorConstFunction.html | 12 +- .../class-use/mxGeneratorFunction.html | 12 +- .../class-use/mxGeneratorRandomFunction.html | 12 +- .../mxGeneratorRandomIntFunction.html | 12 +- .../mxGeneratorConstFunction.html | 12 +- .../mxGeneratorFunction.html | 12 +- .../mxGeneratorRandomFunction.html | 12 +- .../mxGeneratorRandomIntFunction.html | 12 +- .../generatorfunction/package-summary.html | 12 +- .../generatorfunction/package-tree.html | 12 +- .../generatorfunction/package-use.html | 12 +- .../com/mxgraph/io/class-use/mxCellCodec.html | 12 +- .../io/class-use/mxChildChangeCodec.html | 12 +- .../com/mxgraph/io/class-use/mxCodec.html | 12 +- .../mxgraph/io/class-use/mxCodecRegistry.html | 12 +- .../com/mxgraph/io/class-use/mxGdCodec.html | 12 +- .../class-use/mxGdCodec.mxGDParseState.html | 12 +- .../io/class-use/mxGenericChangeCodec.html | 12 +- .../mxgraph/io/class-use/mxModelCodec.html | 12 +- .../mxgraph/io/class-use/mxObjectCodec.html | 12 +- .../io/class-use/mxRootChangeCodec.html | 12 +- .../io/class-use/mxStylesheetCodec.html | 12 +- .../io/class-use/mxTerminalChangeCodec.html | 12 +- java/docs/com/mxgraph/io/mxCellCodec.html | 12 +- .../com/mxgraph/io/mxChildChangeCodec.html | 12 +- java/docs/com/mxgraph/io/mxCodec.html | 12 +- java/docs/com/mxgraph/io/mxCodecRegistry.html | 12 +- java/docs/com/mxgraph/io/mxGdCodec.html | 12 +- .../mxgraph/io/mxGdCodec.mxGDParseState.html | 12 +- .../com/mxgraph/io/mxGenericChangeCodec.html | 12 +- java/docs/com/mxgraph/io/mxModelCodec.html | 12 +- java/docs/com/mxgraph/io/mxObjectCodec.html | 12 +- .../com/mxgraph/io/mxRootChangeCodec.html | 12 +- .../com/mxgraph/io/mxStylesheetCodec.html | 12 +- .../com/mxgraph/io/mxTerminalChangeCodec.html | 12 +- java/docs/com/mxgraph/io/package-summary.html | 12 +- java/docs/com/mxgraph/io/package-tree.html | 12 +- java/docs/com/mxgraph/io/package-use.html | 12 +- .../layout/class-use/mxCircleLayout.html | 12 +- .../mxCompactTreeLayout.Polygon.html | 12 +- .../mxCompactTreeLayout.Polyline.html | 12 +- .../mxCompactTreeLayout.TreeNode.html | 12 +- ...xCompactTreeLayout.WeightedCellSorter.html | 12 +- .../layout/class-use/mxCompactTreeLayout.html | 12 +- .../layout/class-use/mxEdgeLabelLayout.html | 12 +- .../layout/class-use/mxFastOrganicLayout.html | 12 +- .../layout/class-use/mxGraphLayout.html | 12 +- .../layout/class-use/mxIGraphLayout.html | 12 +- .../mxOrganicLayout.CellWrapper.html | 12 +- .../layout/class-use/mxOrganicLayout.html | 12 +- .../class-use/mxParallelEdgeLayout.html | 12 +- .../layout/class-use/mxPartitionLayout.html | 12 +- .../layout/class-use/mxStackLayout.html | 12 +- .../class-use/mxHierarchicalLayout.html | 12 +- .../mxGraphAbstractHierarchyCell.html | 12 +- .../model/class-use/mxGraphHierarchyEdge.html | 12 +- .../mxGraphHierarchyModel.CellVisitor.html | 12 +- .../class-use/mxGraphHierarchyModel.html | 12 +- .../model/class-use/mxGraphHierarchyNode.html | 12 +- .../model/class-use/mxGraphHierarchyRank.html | 12 +- .../model/mxGraphAbstractHierarchyCell.html | 12 +- .../model/mxGraphHierarchyEdge.html | 12 +- .../mxGraphHierarchyModel.CellVisitor.html | 12 +- .../model/mxGraphHierarchyModel.html | 12 +- .../model/mxGraphHierarchyNode.html | 12 +- .../model/mxGraphHierarchyRank.html | 12 +- .../hierarchical/model/package-summary.html | 12 +- .../hierarchical/model/package-tree.html | 12 +- .../hierarchical/model/package-use.html | 12 +- .../hierarchical/mxHierarchicalLayout.html | 12 +- .../layout/hierarchical/package-summary.html | 12 +- .../layout/hierarchical/package-tree.html | 12 +- .../layout/hierarchical/package-use.html | 12 +- ...CoordinateAssignment.AreaSpatialCache.html | 12 +- ...ordinateAssignment.WeightedCellSorter.html | 12 +- .../class-use/mxCoordinateAssignment.html | 12 +- .../class-use/mxHierarchicalLayoutStage.html | 12 +- ...ridCrossingReduction.MedianCellSorter.html | 12 +- .../mxMedianHybridCrossingReduction.html | 12 +- .../class-use/mxMinimumCycleRemover.html | 12 +- ...CoordinateAssignment.AreaSpatialCache.html | 12 +- ...ordinateAssignment.WeightedCellSorter.html | 12 +- .../stage/mxCoordinateAssignment.html | 12 +- .../stage/mxHierarchicalLayoutStage.html | 12 +- ...ridCrossingReduction.MedianCellSorter.html | 12 +- .../mxMedianHybridCrossingReduction.html | 12 +- .../stage/mxMinimumCycleRemover.html | 12 +- .../hierarchical/stage/package-summary.html | 12 +- .../hierarchical/stage/package-tree.html | 12 +- .../hierarchical/stage/package-use.html | 12 +- .../com/mxgraph/layout/mxCircleLayout.html | 12 +- .../layout/mxCompactTreeLayout.Polygon.html | 12 +- .../layout/mxCompactTreeLayout.Polyline.html | 12 +- .../layout/mxCompactTreeLayout.TreeNode.html | 12 +- ...xCompactTreeLayout.WeightedCellSorter.html | 12 +- .../mxgraph/layout/mxCompactTreeLayout.html | 12 +- .../com/mxgraph/layout/mxEdgeLabelLayout.html | 12 +- .../mxgraph/layout/mxFastOrganicLayout.html | 12 +- .../com/mxgraph/layout/mxGraphLayout.html | 12 +- .../com/mxgraph/layout/mxIGraphLayout.html | 12 +- .../layout/mxOrganicLayout.CellWrapper.html | 12 +- .../com/mxgraph/layout/mxOrganicLayout.html | 12 +- .../mxgraph/layout/mxParallelEdgeLayout.html | 12 +- .../com/mxgraph/layout/mxPartitionLayout.html | 12 +- .../com/mxgraph/layout/mxStackLayout.html | 12 +- .../class-use/mxOrthogonalLayout.html | 12 +- .../model/class-use/mxOrthogonalModel.html | 12 +- .../model/class-use/mxPointPair.html | 12 +- .../model/class-use/mxPointSequence.html | 12 +- .../orthogonal/model/class-use/mxSegment.html | 12 +- .../orthogonal/model/mxOrthogonalModel.html | 12 +- .../layout/orthogonal/model/mxPointPair.html | 12 +- .../orthogonal/model/mxPointSequence.html | 12 +- .../layout/orthogonal/model/mxSegment.html | 12 +- .../orthogonal/model/package-summary.html | 12 +- .../layout/orthogonal/model/package-tree.html | 12 +- .../layout/orthogonal/model/package-use.html | 12 +- .../layout/orthogonal/mxOrthogonalLayout.html | 12 +- .../layout/orthogonal/package-summary.html | 12 +- .../layout/orthogonal/package-tree.html | 12 +- .../layout/orthogonal/package-use.html | 12 +- .../com/mxgraph/layout/package-summary.html | 12 +- .../docs/com/mxgraph/layout/package-tree.html | 12 +- java/docs/com/mxgraph/layout/package-use.html | 12 +- .../com/mxgraph/model/class-use/mxCell.html | 12 +- .../mxgraph/model/class-use/mxCellPath.html | 12 +- .../mxgraph/model/class-use/mxGeometry.html | 12 +- .../model/class-use/mxGraphModel.Filter.html | 12 +- .../mxgraph/model/class-use/mxGraphModel.html | 12 +- .../class-use/mxGraphModel.mxChildChange.html | 12 +- .../mxGraphModel.mxCollapseChange.html | 12 +- .../mxGraphModel.mxGeometryChange.html | 12 +- .../class-use/mxGraphModel.mxRootChange.html | 12 +- .../class-use/mxGraphModel.mxStyleChange.html | 12 +- .../mxGraphModel.mxTerminalChange.html | 12 +- .../class-use/mxGraphModel.mxValueChange.html | 12 +- .../mxGraphModel.mxVisibleChange.html | 12 +- .../com/mxgraph/model/class-use/mxICell.html | 12 +- .../model/class-use/mxIGraphModel.html | 12 +- ...xIGraphModel.mxAtomicGraphModelChange.html | 12 +- java/docs/com/mxgraph/model/mxCell.html | 12 +- java/docs/com/mxgraph/model/mxCellPath.html | 12 +- java/docs/com/mxgraph/model/mxGeometry.html | 12 +- .../mxgraph/model/mxGraphModel.Filter.html | 12 +- java/docs/com/mxgraph/model/mxGraphModel.html | 12 +- .../model/mxGraphModel.mxChildChange.html | 12 +- .../model/mxGraphModel.mxCollapseChange.html | 12 +- .../model/mxGraphModel.mxGeometryChange.html | 12 +- .../model/mxGraphModel.mxRootChange.html | 12 +- .../model/mxGraphModel.mxStyleChange.html | 12 +- .../model/mxGraphModel.mxTerminalChange.html | 12 +- .../model/mxGraphModel.mxValueChange.html | 12 +- .../model/mxGraphModel.mxVisibleChange.html | 12 +- java/docs/com/mxgraph/model/mxICell.html | 12 +- .../docs/com/mxgraph/model/mxIGraphModel.html | 12 +- ...xIGraphModel.mxAtomicGraphModelChange.html | 12 +- .../com/mxgraph/model/package-summary.html | 12 +- java/docs/com/mxgraph/model/package-tree.html | 12 +- java/docs/com/mxgraph/model/package-use.html | 12 +- .../mxDomOutputParser.IElementHandler.html | 12 +- .../reader/class-use/mxDomOutputParser.html | 12 +- .../class-use/mxGraphViewImageReader.html | 12 +- .../reader/class-use/mxGraphViewReader.html | 12 +- .../mxSaxOutputHandler.IElementHandler.html | 12 +- .../reader/class-use/mxSaxOutputHandler.html | 12 +- .../mxDomOutputParser.IElementHandler.html | 12 +- .../com/mxgraph/reader/mxDomOutputParser.html | 12 +- .../reader/mxGraphViewImageReader.html | 12 +- .../com/mxgraph/reader/mxGraphViewReader.html | 12 +- .../mxSaxOutputHandler.IElementHandler.html | 12 +- .../mxgraph/reader/mxSaxOutputHandler.html | 12 +- .../com/mxgraph/reader/package-summary.html | 12 +- .../docs/com/mxgraph/reader/package-tree.html | 12 +- java/docs/com/mxgraph/reader/package-use.html | 12 +- .../mxgraph/shape/class-use/mxActorShape.html | 12 +- .../mxgraph/shape/class-use/mxArrowShape.html | 12 +- .../mxgraph/shape/class-use/mxBasicShape.html | 12 +- .../mxgraph/shape/class-use/mxCloudShape.html | 12 +- .../shape/class-use/mxConnectorShape.html | 12 +- .../mxCurveLabelShape.LabelGlyphCache.html | 12 +- .../mxCurveLabelShape.LabelPosition.html | 12 +- .../shape/class-use/mxCurveLabelShape.html | 12 +- .../mxgraph/shape/class-use/mxCurveShape.html | 12 +- .../shape/class-use/mxCylinderShape.html | 12 +- .../shape/class-use/mxDefaultTextShape.html | 12 +- .../shape/class-use/mxDoubleEllipseShape.html | 12 +- .../class-use/mxDoubleRectangleShape.html | 12 +- .../shape/class-use/mxEllipseShape.html | 12 +- .../shape/class-use/mxHexagonShape.html | 12 +- .../shape/class-use/mxHtmlTextShape.html | 12 +- .../mxgraph/shape/class-use/mxIMarker.html | 12 +- .../com/mxgraph/shape/class-use/mxIShape.html | 12 +- .../mxgraph/shape/class-use/mxITextShape.html | 12 +- .../mxgraph/shape/class-use/mxImageShape.html | 12 +- .../mxgraph/shape/class-use/mxLabelShape.html | 12 +- .../mxgraph/shape/class-use/mxLineShape.html | 12 +- .../shape/class-use/mxMarkerRegistry.html | 12 +- .../shape/class-use/mxRectangleShape.html | 12 +- .../shape/class-use/mxRhombusShape.html | 12 +- .../mxgraph/shape/class-use/mxStencil.html | 12 +- .../shape/class-use/mxStencilRegistry.html | 12 +- .../shape/class-use/mxStencilShape.html | 12 +- .../class-use/mxStencilShape.svgShape.html | 12 +- .../shape/class-use/mxSwimlaneShape.html | 12 +- .../shape/class-use/mxTriangleShape.html | 12 +- java/docs/com/mxgraph/shape/mxActorShape.html | 12 +- java/docs/com/mxgraph/shape/mxArrowShape.html | 12 +- java/docs/com/mxgraph/shape/mxBasicShape.html | 12 +- java/docs/com/mxgraph/shape/mxCloudShape.html | 12 +- .../com/mxgraph/shape/mxConnectorShape.html | 12 +- .../mxCurveLabelShape.LabelGlyphCache.html | 12 +- .../mxCurveLabelShape.LabelPosition.html | 12 +- .../com/mxgraph/shape/mxCurveLabelShape.html | 12 +- java/docs/com/mxgraph/shape/mxCurveShape.html | 12 +- .../com/mxgraph/shape/mxCylinderShape.html | 12 +- .../com/mxgraph/shape/mxDefaultTextShape.html | 12 +- .../mxgraph/shape/mxDoubleEllipseShape.html | 12 +- .../mxgraph/shape/mxDoubleRectangleShape.html | 12 +- .../com/mxgraph/shape/mxEllipseShape.html | 12 +- .../com/mxgraph/shape/mxHexagonShape.html | 12 +- .../com/mxgraph/shape/mxHtmlTextShape.html | 12 +- java/docs/com/mxgraph/shape/mxIMarker.html | 12 +- java/docs/com/mxgraph/shape/mxIShape.html | 12 +- java/docs/com/mxgraph/shape/mxITextShape.html | 12 +- java/docs/com/mxgraph/shape/mxImageShape.html | 12 +- java/docs/com/mxgraph/shape/mxLabelShape.html | 12 +- java/docs/com/mxgraph/shape/mxLineShape.html | 12 +- .../com/mxgraph/shape/mxMarkerRegistry.html | 12 +- .../com/mxgraph/shape/mxRectangleShape.html | 12 +- .../com/mxgraph/shape/mxRhombusShape.html | 12 +- java/docs/com/mxgraph/shape/mxStencil.html | 12 +- .../com/mxgraph/shape/mxStencilRegistry.html | 12 +- .../com/mxgraph/shape/mxStencilShape.html | 12 +- .../shape/mxStencilShape.svgShape.html | 12 +- .../com/mxgraph/shape/mxSwimlaneShape.html | 12 +- .../com/mxgraph/shape/mxTriangleShape.html | 12 +- .../com/mxgraph/shape/package-summary.html | 12 +- java/docs/com/mxgraph/shape/package-tree.html | 12 +- java/docs/com/mxgraph/shape/package-use.html | 12 +- .../swing/class-use/mxGraphComponent.html | 12 +- .../mxGraphComponent.mxGraphControl.html | 12 +- .../mxGraphComponent.mxMouseRedirector.html | 12 +- .../mxGraphOutline.MouseTracker.html | 12 +- .../swing/class-use/mxGraphOutline.html | 12 +- .../handler/class-use/mxCellHandler.html | 12 +- .../swing/handler/class-use/mxCellMarker.html | 12 +- .../handler/class-use/mxCellTracker.html | 12 +- .../handler/class-use/mxConnectPreview.html | 12 +- .../class-use/mxConnectionHandler.html | 12 +- .../handler/class-use/mxEdgeHandler.html | 12 +- .../handler/class-use/mxElbowEdgeHandler.html | 12 +- .../handler/class-use/mxGraphHandler.html | 12 +- .../class-use/mxGraphTransferHandler.html | 12 +- .../handler/class-use/mxInsertHandler.html | 12 +- .../handler/class-use/mxKeyboardHandler.html | 12 +- .../handler/class-use/mxMovePreview.html | 12 +- .../handler/class-use/mxPanningHandler.html | 12 +- .../handler/class-use/mxRotationHandler.html | 12 +- .../swing/handler/class-use/mxRubberband.html | 12 +- .../class-use/mxSelectionCellsHandler.html | 12 +- .../handler/class-use/mxVertexHandler.html | 12 +- .../mxgraph/swing/handler/mxCellHandler.html | 12 +- .../mxgraph/swing/handler/mxCellMarker.html | 12 +- .../mxgraph/swing/handler/mxCellTracker.html | 12 +- .../swing/handler/mxConnectPreview.html | 12 +- .../swing/handler/mxConnectionHandler.html | 12 +- .../mxgraph/swing/handler/mxEdgeHandler.html | 12 +- .../swing/handler/mxElbowEdgeHandler.html | 12 +- .../mxgraph/swing/handler/mxGraphHandler.html | 12 +- .../swing/handler/mxGraphTransferHandler.html | 12 +- .../swing/handler/mxInsertHandler.html | 12 +- .../swing/handler/mxKeyboardHandler.html | 12 +- .../mxgraph/swing/handler/mxMovePreview.html | 12 +- .../swing/handler/mxPanningHandler.html | 12 +- .../swing/handler/mxRotationHandler.html | 12 +- .../mxgraph/swing/handler/mxRubberband.html | 12 +- .../handler/mxSelectionCellsHandler.html | 12 +- .../swing/handler/mxVertexHandler.html | 12 +- .../swing/handler/package-summary.html | 12 +- .../mxgraph/swing/handler/package-tree.html | 12 +- .../mxgraph/swing/handler/package-use.html | 12 +- .../com/mxgraph/swing/mxGraphComponent.html | 12 +- .../mxGraphComponent.mxGraphControl.html | 12 +- .../mxGraphComponent.mxMouseRedirector.html | 12 +- .../swing/mxGraphOutline.MouseTracker.html | 12 +- .../com/mxgraph/swing/mxGraphOutline.html | 12 +- .../com/mxgraph/swing/package-summary.html | 12 +- java/docs/com/mxgraph/swing/package-tree.html | 12 +- java/docs/com/mxgraph/swing/package-use.html | 12 +- .../swing/util/class-use/mxAnimation.html | 12 +- .../swing/util/class-use/mxCellOverlay.html | 12 +- .../mxGraphActions.DeleteAction.html | 12 +- .../class-use/mxGraphActions.DrillAction.html | 12 +- .../class-use/mxGraphActions.EditAction.html | 12 +- .../class-use/mxGraphActions.FoldAction.html | 12 +- .../class-use/mxGraphActions.GroupAction.html | 12 +- .../class-use/mxGraphActions.LayerAction.html | 12 +- ...mxGraphActions.RemoveFromParentAction.html | 12 +- .../mxGraphActions.SelectAction.html | 12 +- .../mxGraphActions.UngroupAction.html | 12 +- ...xGraphActions.UpdateGroupBoundsAction.html | 12 +- .../class-use/mxGraphActions.ZoomAction.html | 12 +- .../swing/util/class-use/mxGraphActions.html | 12 +- .../util/class-use/mxGraphTransferable.html | 12 +- .../swing/util/class-use/mxICellOverlay.html | 12 +- .../swing/util/class-use/mxMorphing.html | 12 +- .../swing/util/class-use/mxMouseAdapter.html | 12 +- .../util/class-use/mxSwingConstants.html | 12 +- .../com/mxgraph/swing/util/mxAnimation.html | 12 +- .../com/mxgraph/swing/util/mxCellOverlay.html | 12 +- .../util/mxGraphActions.DeleteAction.html | 12 +- .../util/mxGraphActions.DrillAction.html | 12 +- .../swing/util/mxGraphActions.EditAction.html | 12 +- .../swing/util/mxGraphActions.FoldAction.html | 12 +- .../util/mxGraphActions.GroupAction.html | 12 +- .../util/mxGraphActions.LayerAction.html | 12 +- ...mxGraphActions.RemoveFromParentAction.html | 12 +- .../util/mxGraphActions.SelectAction.html | 12 +- .../util/mxGraphActions.UngroupAction.html | 12 +- ...xGraphActions.UpdateGroupBoundsAction.html | 12 +- .../swing/util/mxGraphActions.ZoomAction.html | 12 +- .../mxgraph/swing/util/mxGraphActions.html | 12 +- .../swing/util/mxGraphTransferable.html | 12 +- .../mxgraph/swing/util/mxICellOverlay.html | 12 +- .../com/mxgraph/swing/util/mxMorphing.html | 12 +- .../mxgraph/swing/util/mxMouseAdapter.html | 12 +- .../mxgraph/swing/util/mxSwingConstants.html | 12 +- .../mxgraph/swing/util/package-summary.html | 12 +- .../com/mxgraph/swing/util/package-tree.html | 12 +- .../com/mxgraph/swing/util/package-use.html | 12 +- .../swing/view/class-use/mxCellEditor.html | 12 +- .../view/class-use/mxCellStatePreview.html | 12 +- .../swing/view/class-use/mxICellEditor.html | 12 +- .../view/class-use/mxInteractiveCanvas.html | 12 +- .../com/mxgraph/swing/view/mxCellEditor.html | 12 +- .../swing/view/mxCellStatePreview.html | 12 +- .../com/mxgraph/swing/view/mxICellEditor.html | 12 +- .../swing/view/mxInteractiveCanvas.html | 12 +- .../mxgraph/swing/view/package-summary.html | 12 +- .../com/mxgraph/swing/view/package-tree.html | 12 +- .../com/mxgraph/swing/view/package-use.html | 12 +- .../com/mxgraph/util/class-use/mxBase64.html | 12 +- .../mxCellRenderer.CanvasFactory.html | 12 +- .../util/class-use/mxCellRenderer.html | 12 +- .../mxgraph/util/class-use/mxConstants.html | 12 +- .../com/mxgraph/util/class-use/mxCurve.html | 12 +- .../mxgraph/util/class-use/mxDomUtils.html | 12 +- .../com/mxgraph/util/class-use/mxEvent.html | 12 +- .../mxgraph/util/class-use/mxEventObject.html | 12 +- .../mxgraph/util/class-use/mxEventSource.html | 12 +- .../mxEventSource.mxIEventListener.html | 12 +- .../mxgraph/util/class-use/mxHtmlColor.html | 12 +- .../com/mxgraph/util/class-use/mxImage.html | 12 +- .../mxgraph/util/class-use/mxImageBundle.html | 12 +- .../util/class-use/mxLightweightLabel.html | 12 +- .../com/mxgraph/util/class-use/mxLine.html | 12 +- .../com/mxgraph/util/class-use/mxPoint.html | 12 +- .../mxgraph/util/class-use/mxRectangle.html | 12 +- .../mxgraph/util/class-use/mxResources.html | 12 +- .../com/mxgraph/util/class-use/mxSpline.html | 12 +- .../mxgraph/util/class-use/mxSpline1D.html | 12 +- .../mxgraph/util/class-use/mxStyleUtils.html | 12 +- .../mxgraph/util/class-use/mxUndoManager.html | 12 +- .../util/class-use/mxUndoableEdit.html | 12 +- .../mxUndoableEdit.mxUndoableChange.html | 12 +- .../com/mxgraph/util/class-use/mxUtils.html | 12 +- .../mxgraph/util/class-use/mxXmlUtils.html | 12 +- java/docs/com/mxgraph/util/mxBase64.html | 12 +- .../util/mxCellRenderer.CanvasFactory.html | 12 +- .../docs/com/mxgraph/util/mxCellRenderer.html | 12 +- java/docs/com/mxgraph/util/mxConstants.html | 12 +- java/docs/com/mxgraph/util/mxCurve.html | 12 +- java/docs/com/mxgraph/util/mxDomUtils.html | 12 +- java/docs/com/mxgraph/util/mxEvent.html | 12 +- java/docs/com/mxgraph/util/mxEventObject.html | 12 +- java/docs/com/mxgraph/util/mxEventSource.html | 12 +- .../util/mxEventSource.mxIEventListener.html | 12 +- java/docs/com/mxgraph/util/mxHtmlColor.html | 12 +- java/docs/com/mxgraph/util/mxImage.html | 12 +- java/docs/com/mxgraph/util/mxImageBundle.html | 12 +- .../com/mxgraph/util/mxLightweightLabel.html | 12 +- java/docs/com/mxgraph/util/mxLine.html | 12 +- java/docs/com/mxgraph/util/mxPoint.html | 12 +- java/docs/com/mxgraph/util/mxRectangle.html | 12 +- java/docs/com/mxgraph/util/mxResources.html | 12 +- java/docs/com/mxgraph/util/mxSpline.html | 12 +- java/docs/com/mxgraph/util/mxSpline1D.html | 12 +- java/docs/com/mxgraph/util/mxStyleUtils.html | 12 +- java/docs/com/mxgraph/util/mxUndoManager.html | 12 +- .../docs/com/mxgraph/util/mxUndoableEdit.html | 12 +- .../util/mxUndoableEdit.mxUndoableChange.html | 12 +- java/docs/com/mxgraph/util/mxUtils.html | 12 +- java/docs/com/mxgraph/util/mxXmlUtils.html | 12 +- .../com/mxgraph/util/package-summary.html | 12 +- java/docs/com/mxgraph/util/package-tree.html | 12 +- java/docs/com/mxgraph/util/package-use.html | 12 +- .../png/class-use/mxPngEncodeParam.Gray.html | 12 +- .../class-use/mxPngEncodeParam.Palette.html | 12 +- .../png/class-use/mxPngEncodeParam.RGB.html | 12 +- .../util/png/class-use/mxPngEncodeParam.html | 12 +- .../util/png/class-use/mxPngImageEncoder.html | 12 +- .../class-use/mxPngSuggestedPaletteEntry.html | 12 +- .../util/png/class-use/mxPngTextDecoder.html | 12 +- .../util/png/mxPngEncodeParam.Gray.html | 12 +- .../util/png/mxPngEncodeParam.Palette.html | 12 +- .../util/png/mxPngEncodeParam.RGB.html | 12 +- .../mxgraph/util/png/mxPngEncodeParam.html | 12 +- .../mxgraph/util/png/mxPngImageEncoder.html | 12 +- .../util/png/mxPngSuggestedPaletteEntry.html | 12 +- .../mxgraph/util/png/mxPngTextDecoder.html | 12 +- .../com/mxgraph/util/png/package-summary.html | 12 +- .../com/mxgraph/util/png/package-tree.html | 12 +- .../com/mxgraph/util/png/package-use.html | 12 +- .../com/mxgraph/util/svg/AWTPathProducer.html | 12 +- .../mxgraph/util/svg/AWTPolygonProducer.html | 12 +- .../mxgraph/util/svg/AWTPolylineProducer.html | 12 +- .../com/mxgraph/util/svg/AbstractParser.html | 12 +- .../com/mxgraph/util/svg/CSSConstants.html | 12 +- .../mxgraph/util/svg/DefaultErrorHandler.html | 12 +- .../com/mxgraph/util/svg/ErrorHandler.html | 12 +- .../mxgraph/util/svg/ExtendedGeneralPath.html | 12 +- .../util/svg/ExtendedPathIterator.html | 12 +- .../mxgraph/util/svg/NormalizingReader.html | 12 +- .../com/mxgraph/util/svg/NumberParser.html | 12 +- .../com/mxgraph/util/svg/ParseException.html | 12 +- java/docs/com/mxgraph/util/svg/Parser.html | 12 +- .../com/mxgraph/util/svg/PathHandler.html | 12 +- .../docs/com/mxgraph/util/svg/PathParser.html | 12 +- .../com/mxgraph/util/svg/PointsHandler.html | 12 +- .../com/mxgraph/util/svg/PointsParser.html | 12 +- .../com/mxgraph/util/svg/ShapeProducer.html | 12 +- .../util/svg/StringNormalizingReader.html | 12 +- .../util/svg/class-use/AWTPathProducer.html | 12 +- .../svg/class-use/AWTPolygonProducer.html | 12 +- .../svg/class-use/AWTPolylineProducer.html | 12 +- .../util/svg/class-use/AbstractParser.html | 12 +- .../util/svg/class-use/CSSConstants.html | 12 +- .../svg/class-use/DefaultErrorHandler.html | 12 +- .../util/svg/class-use/ErrorHandler.html | 12 +- .../svg/class-use/ExtendedGeneralPath.html | 12 +- .../svg/class-use/ExtendedPathIterator.html | 12 +- .../util/svg/class-use/NormalizingReader.html | 12 +- .../util/svg/class-use/NumberParser.html | 12 +- .../util/svg/class-use/ParseException.html | 12 +- .../mxgraph/util/svg/class-use/Parser.html | 12 +- .../util/svg/class-use/PathHandler.html | 12 +- .../util/svg/class-use/PathParser.html | 12 +- .../util/svg/class-use/PointsHandler.html | 12 +- .../util/svg/class-use/PointsParser.html | 12 +- .../util/svg/class-use/ShapeProducer.html | 12 +- .../class-use/StringNormalizingReader.html | 12 +- .../com/mxgraph/util/svg/package-summary.html | 12 +- .../com/mxgraph/util/svg/package-tree.html | 12 +- .../com/mxgraph/util/svg/package-use.html | 12 +- .../mxgraph/view/class-use/mxCellState.html | 12 +- .../class-use/mxConnectionConstraint.html | 12 +- .../mxgraph/view/class-use/mxEdgeStyle.html | 12 +- .../mxEdgeStyle.mxEdgeStyleFunction.html | 12 +- .../com/mxgraph/view/class-use/mxGraph.html | 12 +- .../class-use/mxGraph.mxICellVisitor.html | 12 +- .../view/class-use/mxGraphSelectionModel.html | 12 +- ...GraphSelectionModel.mxSelectionChange.html | 12 +- .../mxgraph/view/class-use/mxGraphView.html | 12 +- .../mxGraphView.mxCurrentRootChange.html | 12 +- .../view/class-use/mxLayoutManager.html | 12 +- .../view/class-use/mxMultiplicity.html | 12 +- .../mxgraph/view/class-use/mxPerimeter.html | 12 +- .../mxPerimeter.mxPerimeterFunction.html | 12 +- .../view/class-use/mxStyleRegistry.html | 12 +- .../mxgraph/view/class-use/mxStylesheet.html | 12 +- .../view/class-use/mxSwimlaneManager.html | 12 +- .../view/class-use/mxTemporaryCellStates.html | 12 +- java/docs/com/mxgraph/view/mxCellState.html | 12 +- .../mxgraph/view/mxConnectionConstraint.html | 12 +- java/docs/com/mxgraph/view/mxEdgeStyle.html | 12 +- .../view/mxEdgeStyle.mxEdgeStyleFunction.html | 12 +- java/docs/com/mxgraph/view/mxGraph.html | 14 +- .../mxgraph/view/mxGraph.mxICellVisitor.html | 12 +- .../mxgraph/view/mxGraphSelectionModel.html | 12 +- ...GraphSelectionModel.mxSelectionChange.html | 12 +- java/docs/com/mxgraph/view/mxGraphView.html | 12 +- .../view/mxGraphView.mxCurrentRootChange.html | 12 +- .../com/mxgraph/view/mxLayoutManager.html | 12 +- .../docs/com/mxgraph/view/mxMultiplicity.html | 12 +- java/docs/com/mxgraph/view/mxPerimeter.html | 12 +- .../view/mxPerimeter.mxPerimeterFunction.html | 12 +- .../com/mxgraph/view/mxStyleRegistry.html | 12 +- java/docs/com/mxgraph/view/mxStylesheet.html | 12 +- .../com/mxgraph/view/mxSwimlaneManager.html | 12 +- .../mxgraph/view/mxTemporaryCellStates.html | 12 +- .../com/mxgraph/view/package-summary.html | 12 +- java/docs/com/mxgraph/view/package-tree.html | 12 +- java/docs/com/mxgraph/view/package-use.html | 12 +- java/docs/constant-values.html | 14 +- java/docs/deprecated-list.html | 12 +- java/docs/help-doc.html | 12 +- java/docs/index-all.html | 12 +- java/docs/index.html | 14 +- java/docs/overview-summary.html | 4 +- java/docs/overview-tree.html | 12 +- java/docs/serialized-form.html | 12 +- java/lib/mxgraph-all.jar | Bin 609722 -> 609716 bytes java/lib/mxgraph-core.jar | Bin 461794 -> 461788 bytes java/lib/mxgraph-swing.jar | Bin 148510 -> 148503 bytes java/src/com/mxgraph/view/mxGraph.java | 4 +- .../examples/grapheditor/www/js/Actions.js | 2 +- .../examples/grapheditor/www/js/Dialogs.js | 112 +- .../examples/grapheditor/www/js/Format.js | 163 +- .../examples/grapheditor/www/js/Graph.js | 60 +- .../examples/grapheditor/www/js/Shapes.js | 20 + .../examples/grapheditor/www/js/Sidebar.js | 22 +- .../grapheditor/www/resources/grapheditor.txt | 1 + .../www/resources/grapheditor_de.txt | 3 +- javascript/mxClient.js | 11 +- javascript/mxClient.min.js | 10 +- javascript/src/css/common.css | 12 +- javascript/src/js/io/mxStylesheetCodec.js | 2 +- javascript/src/js/mxClient.js | 4 +- javascript/src/js/util/mxConstants.js | 1 - javascript/src/js/util/mxSvgCanvas2D.js | 4 +- package.json | 2 +- php/examples/backend.php | 61 - php/examples/deployment.php | 115 -- php/examples/diagrams/graphmodel.xml | 8 - php/examples/diagrams/graphview.xml | 34 - php/examples/embedimage.html | 124 -- php/examples/embedimage.php | 147 -- php/examples/fixedpoints.php | 64 - php/examples/frontend.html | 92 - php/examples/graph.php | 56 - php/examples/reader.php | 49 - php/examples/server.php | 71 - php/examples/template.html | 67 - php/examples/ttf/verah.ttf | Bin 71024 -> 0 bytes php/index.html | 68 - php/src/canvas/mxGdCanvas.php | 1414 --------------- php/src/canvas/mxHtmlCanvas.php | 188 -- php/src/index.txt | 19 - php/src/io/mxCellCodec.php | 210 --- php/src/io/mxCodec.php | 474 ----- php/src/io/mxCodecRegistry.php | 152 -- php/src/io/mxModelCodec.php | 92 - php/src/io/mxObjectCodec.php | 826 --------- php/src/io/mxStylesheetCodec.php | 181 -- php/src/model/mxCell.php | 751 -------- php/src/model/mxCellPath.php | 102 -- php/src/model/mxGeometry.php | 233 --- php/src/model/mxGraphModel.php | 1334 -------------- php/src/mxServer.php | 51 - php/src/reader/mxGraphViewHtmlReader.php | 68 - php/src/reader/mxGraphViewImageReader.php | 293 ---- php/src/util/mxConstants.php | 1165 ------------- php/src/util/mxEvent.php | 34 - php/src/util/mxEventObject.php | 107 -- php/src/util/mxEventSource.php | 61 - php/src/util/mxImageBundle.php | 82 - php/src/util/mxLog.php | 223 --- php/src/util/mxPoint.php | 65 - php/src/util/mxRectangle.php | 136 -- php/src/util/mxUtils.php | 1177 ------------- php/src/view/mxCellState.php | 197 --- php/src/view/mxConnectionConstraint.php | 49 - php/src/view/mxEdgeStyle.php | 564 ------ php/src/view/mxGraph.php | 899 ---------- php/src/view/mxGraphView.php | 1422 --------------- php/src/view/mxPerimeter.php | 534 ------ php/src/view/mxStyleRegistry.php | 70 - php/src/view/mxStylesheet.php | 226 --- php/test/mxCodecTest.php | 75 - 775 files changed, 3827 insertions(+), 26382 deletions(-) delete mode 100644 docs/php-api/files/canvas/mxGdCanvas-php.html delete mode 100644 docs/php-api/files/canvas/mxHtmlCanvas-php.html delete mode 100644 docs/php-api/files/index-txt.html delete mode 100644 docs/php-api/files/io/mxCellCodec-php.html delete mode 100644 docs/php-api/files/io/mxCodec-php.html delete mode 100644 docs/php-api/files/io/mxCodecRegistry-php.html delete mode 100644 docs/php-api/files/io/mxModelCodec-php.html delete mode 100644 docs/php-api/files/io/mxObjectCodec-php.html delete mode 100644 docs/php-api/files/io/mxStylesheetCodec-php.html delete mode 100644 docs/php-api/files/model/mxCell-php.html delete mode 100644 docs/php-api/files/model/mxCellPath-php.html delete mode 100644 docs/php-api/files/model/mxGeometry-php.html delete mode 100644 docs/php-api/files/model/mxGraphModel-php.html delete mode 100644 docs/php-api/files/reader/mxGraphViewHtmlReader-php.html delete mode 100644 docs/php-api/files/reader/mxGraphViewImageReader-php.html delete mode 100644 docs/php-api/files/util/mxConstants-php.html delete mode 100644 docs/php-api/files/util/mxEvent-php.html delete mode 100644 docs/php-api/files/util/mxEventObject-php.html delete mode 100644 docs/php-api/files/util/mxEventSource-php.html delete mode 100644 docs/php-api/files/util/mxImageBundle-php.html delete mode 100644 docs/php-api/files/util/mxLog-php.html delete mode 100644 docs/php-api/files/util/mxPoint-php.html delete mode 100644 docs/php-api/files/util/mxRectangle-php.html delete mode 100644 docs/php-api/files/util/mxUtils-php.html delete mode 100644 docs/php-api/files/view/mxCellState-php.html delete mode 100644 docs/php-api/files/view/mxConnectionConstraint-php.html delete mode 100644 docs/php-api/files/view/mxEdgeStyle-php.html delete mode 100644 docs/php-api/files/view/mxGraph-php.html delete mode 100644 docs/php-api/files/view/mxGraphView-php.html delete mode 100644 docs/php-api/files/view/mxPerimeter-php.html delete mode 100644 docs/php-api/files/view/mxStyleRegistry-php.html delete mode 100644 docs/php-api/files/view/mxStylesheet-php.html delete mode 100644 docs/php-api/index.html delete mode 100644 docs/php-api/index/Classes.html delete mode 100644 docs/php-api/index/Files.html delete mode 100644 docs/php-api/index/Functions.html delete mode 100644 docs/php-api/index/Functions2.html delete mode 100644 docs/php-api/index/Functions3.html delete mode 100644 docs/php-api/index/Functions4.html delete mode 100644 docs/php-api/index/Functions5.html delete mode 100644 docs/php-api/index/Functions6.html delete mode 100644 docs/php-api/index/Functions7.html delete mode 100644 docs/php-api/index/Functions8.html delete mode 100644 docs/php-api/index/General.html delete mode 100644 docs/php-api/index/General10.html delete mode 100644 docs/php-api/index/General2.html delete mode 100644 docs/php-api/index/General3.html delete mode 100644 docs/php-api/index/General4.html delete mode 100644 docs/php-api/index/General5.html delete mode 100644 docs/php-api/index/General6.html delete mode 100644 docs/php-api/index/General7.html delete mode 100644 docs/php-api/index/General8.html delete mode 100644 docs/php-api/index/General9.html delete mode 100644 docs/php-api/index/Interfaces.html delete mode 100644 docs/php-api/index/Variables.html delete mode 100644 docs/php-api/index/Variables2.html delete mode 100644 docs/php-api/index/Variables3.html delete mode 100644 docs/php-api/index/Variables4.html delete mode 100644 docs/php-api/javascript/main.js delete mode 100644 docs/php-api/javascript/prettify.js delete mode 100644 docs/php-api/javascript/searchdata.js delete mode 100644 docs/php-api/search/ClassesM.html delete mode 100644 docs/php-api/search/FilesA.html delete mode 100644 docs/php-api/search/FilesM.html delete mode 100644 docs/php-api/search/FunctionsA.html delete mode 100644 docs/php-api/search/FunctionsB.html delete mode 100644 docs/php-api/search/FunctionsC.html delete mode 100644 docs/php-api/search/FunctionsD.html delete mode 100644 docs/php-api/search/FunctionsE.html delete mode 100644 docs/php-api/search/FunctionsF.html delete mode 100644 docs/php-api/search/FunctionsG.html delete mode 100644 docs/php-api/search/FunctionsI.html delete mode 100644 docs/php-api/search/FunctionsL.html delete mode 100644 docs/php-api/search/FunctionsM.html delete mode 100644 docs/php-api/search/FunctionsO.html delete mode 100644 docs/php-api/search/FunctionsP.html delete mode 100644 docs/php-api/search/FunctionsR.html delete mode 100644 docs/php-api/search/FunctionsS.html delete mode 100644 docs/php-api/search/FunctionsT.html delete mode 100644 docs/php-api/search/FunctionsU.html delete mode 100644 docs/php-api/search/FunctionsV.html delete mode 100644 docs/php-api/search/FunctionsW.html delete mode 100644 docs/php-api/search/GeneralA.html delete mode 100644 docs/php-api/search/GeneralB.html delete mode 100644 docs/php-api/search/GeneralC.html delete mode 100644 docs/php-api/search/GeneralD.html delete mode 100644 docs/php-api/search/GeneralE.html delete mode 100644 docs/php-api/search/GeneralF.html delete mode 100644 docs/php-api/search/GeneralG.html delete mode 100644 docs/php-api/search/GeneralH.html delete mode 100644 docs/php-api/search/GeneralI.html delete mode 100644 docs/php-api/search/GeneralL.html delete mode 100644 docs/php-api/search/GeneralM.html delete mode 100644 docs/php-api/search/GeneralN.html delete mode 100644 docs/php-api/search/GeneralO.html delete mode 100644 docs/php-api/search/GeneralP.html delete mode 100644 docs/php-api/search/GeneralR.html delete mode 100644 docs/php-api/search/GeneralS.html delete mode 100644 docs/php-api/search/GeneralT.html delete mode 100644 docs/php-api/search/GeneralU.html delete mode 100644 docs/php-api/search/GeneralV.html delete mode 100644 docs/php-api/search/GeneralW.html delete mode 100644 docs/php-api/search/GeneralX.html delete mode 100644 docs/php-api/search/GeneralY.html delete mode 100644 docs/php-api/search/InterfacesM.html delete mode 100644 docs/php-api/search/NoResults.html delete mode 100644 docs/php-api/search/VariablesA.html delete mode 100644 docs/php-api/search/VariablesB.html delete mode 100644 docs/php-api/search/VariablesC.html delete mode 100644 docs/php-api/search/VariablesD.html delete mode 100644 docs/php-api/search/VariablesE.html delete mode 100644 docs/php-api/search/VariablesF.html delete mode 100644 docs/php-api/search/VariablesG.html delete mode 100644 docs/php-api/search/VariablesH.html delete mode 100644 docs/php-api/search/VariablesI.html delete mode 100644 docs/php-api/search/VariablesL.html delete mode 100644 docs/php-api/search/VariablesM.html delete mode 100644 docs/php-api/search/VariablesN.html delete mode 100644 docs/php-api/search/VariablesO.html delete mode 100644 docs/php-api/search/VariablesP.html delete mode 100644 docs/php-api/search/VariablesR.html delete mode 100644 docs/php-api/search/VariablesS.html delete mode 100644 docs/php-api/search/VariablesT.html delete mode 100644 docs/php-api/search/VariablesU.html delete mode 100644 docs/php-api/search/VariablesV.html delete mode 100644 docs/php-api/search/VariablesW.html delete mode 100644 docs/php-api/search/VariablesX.html delete mode 100644 docs/php-api/search/VariablesY.html delete mode 100644 docs/php-api/styles/main.css delete mode 100644 php/examples/backend.php delete mode 100644 php/examples/deployment.php delete mode 100644 php/examples/diagrams/graphmodel.xml delete mode 100644 php/examples/diagrams/graphview.xml delete mode 100644 php/examples/embedimage.html delete mode 100644 php/examples/embedimage.php delete mode 100644 php/examples/fixedpoints.php delete mode 100644 php/examples/frontend.html delete mode 100644 php/examples/graph.php delete mode 100644 php/examples/reader.php delete mode 100644 php/examples/server.php delete mode 100644 php/examples/template.html delete mode 100644 php/examples/ttf/verah.ttf delete mode 100644 php/index.html delete mode 100644 php/src/canvas/mxGdCanvas.php delete mode 100644 php/src/canvas/mxHtmlCanvas.php delete mode 100644 php/src/index.txt delete mode 100644 php/src/io/mxCellCodec.php delete mode 100644 php/src/io/mxCodec.php delete mode 100644 php/src/io/mxCodecRegistry.php delete mode 100644 php/src/io/mxModelCodec.php delete mode 100644 php/src/io/mxObjectCodec.php delete mode 100644 php/src/io/mxStylesheetCodec.php delete mode 100644 php/src/model/mxCell.php delete mode 100644 php/src/model/mxCellPath.php delete mode 100644 php/src/model/mxGeometry.php delete mode 100644 php/src/model/mxGraphModel.php delete mode 100644 php/src/mxServer.php delete mode 100644 php/src/reader/mxGraphViewHtmlReader.php delete mode 100644 php/src/reader/mxGraphViewImageReader.php delete mode 100644 php/src/util/mxConstants.php delete mode 100644 php/src/util/mxEvent.php delete mode 100644 php/src/util/mxEventObject.php delete mode 100644 php/src/util/mxEventSource.php delete mode 100644 php/src/util/mxImageBundle.php delete mode 100644 php/src/util/mxLog.php delete mode 100644 php/src/util/mxPoint.php delete mode 100644 php/src/util/mxRectangle.php delete mode 100644 php/src/util/mxUtils.php delete mode 100644 php/src/view/mxCellState.php delete mode 100644 php/src/view/mxConnectionConstraint.php delete mode 100644 php/src/view/mxEdgeStyle.php delete mode 100644 php/src/view/mxGraph.php delete mode 100644 php/src/view/mxGraphView.php delete mode 100644 php/src/view/mxPerimeter.php delete mode 100644 php/src/view/mxStyleRegistry.php delete mode 100644 php/src/view/mxStylesheet.php delete mode 100644 php/test/mxCodecTest.php diff --git a/ChangeLog b/ChangeLog index 57c49c216..ffc8390cb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +20-JUL-2019: 4.0.4 + +- Moved PHP code to own repo +- Adds DPI support in advanced dialog + 26-JUL-2019: 4.0.3 - Reverts forcing quotes around font names in CSS and SVG diff --git a/docs/js-api/files/index-txt.html b/docs/js-api/files/index-txt.html index 75c789d03..52ecba419 100644 --- a/docs/js-api/files/index-txt.html +++ b/docs/js-api/files/index-txt.html @@ -55,7 +55,7 @@ HideAllBut([1], 13);// --> -
Bootstrapping mechanism for the mxGraph thin client.
VERSION: '4.0.3'
Contains the current version of the mxGraph library.
Extends mxEventSource to implement a application wrapper for a graph that adds actions, I/O using mxCodec, auto-layout using mxLayoutManager, command history using undoManager, and standard dialogs and widgets, eg.
Extends mxEventSource to implement a graph component for the browser.
Extends mxEventSource to implement a graph model.
Cells are the elements of the graph model.
Extends mxEventSource to implement a view for a graph.
Renders cells into a document object model.
Defines the appearance of the cells in a graph.
Implements a command history.
Extends mxEventSource to implement a graph overlay, represented by an icon and a tooltip.
Defines invalid connections along with the error messages that they produce.
Event handler that selects rectangular regions.
Graph event handler that displays tooltips.
Graph event handler that handles selection.
Extends mxGraphLayout to implement a compact tree (Moen) algorithm.
Base class for all shapes.
Singleton that implements a clipboard for graph cells.
Defines various global constants.
Cross-browser DOM event support.
A singleton class that provides cross-browser helper methods.
Implements internationalization.
A singleton class that implements a simple console.
Generic codec for JavaScript objects that implements a mapping between JavaScript objects and XML nodes that maps each field or element to an attribute or child node, and vice versa.
XML codec for JavaScript object graphs.
Singleton class that acts as a global registry for codecs.
The mxEventObject is a wrapper for all properties of a single event.
Base class for objects that dispatch named events.
Base class for all mouse events in mxGraph.
mxEventSource.prototype.fireEvent = function(evt,
sender)
Dispatches the given event to the listeners which are registered for the event.
mxEventSource.prototype.addListener = function(name,
funct)
Binds the specified function to the given event name.
mxEventSource.prototype.removeListener = function(funct)
Removes all occurrences of the given listener from eventListeners.
mxGraph.prototype.fireMouseEvent = function(evtName,
me,
sender)
Dispatches the given event in the graph event dispatch loop.
mxGraph.prototype.addMouseListener = function(listener)
Adds a listener to the graph event dispatch loop.
mxGraph.prototype.removeMouseListener = function(listener)
Removes the specified graph listener.
Basepath for all URLs in the core without trailing slash.
Basepath for all images URLs in the core without trailing slash.
Defines the language of the client, eg.
Defines the default language which is used in the common resource files.
include: function(src)
Dynamically adds a script node to the document header.
eval: function(expr)
Evaluates the given expression using eval and returns the JavaScript object that represents the expression result.
mxGraph.prototype.setCellWarning = function(cell,
warning,
img,
isSelect)
Creates an overlay for the given cell using the warning and image or warningImage and returns the new mxCellOverlay.
mxGraph.prototype.warningImage
Specifies the mxImage for the image to be used to display a warning overlay.
+
Bootstrapping mechanism for the mxGraph thin client.
VERSION: '4.0.4'
Contains the current version of the mxGraph library.
Extends mxEventSource to implement a application wrapper for a graph that adds actions, I/O using mxCodec, auto-layout using mxLayoutManager, command history using undoManager, and standard dialogs and widgets, eg.
Extends mxEventSource to implement a graph component for the browser.
Extends mxEventSource to implement a graph model.
Cells are the elements of the graph model.
Extends mxEventSource to implement a view for a graph.
Renders cells into a document object model.
Defines the appearance of the cells in a graph.
Implements a command history.
Extends mxEventSource to implement a graph overlay, represented by an icon and a tooltip.
Defines invalid connections along with the error messages that they produce.
Event handler that selects rectangular regions.
Graph event handler that displays tooltips.
Graph event handler that handles selection.
Extends mxGraphLayout to implement a compact tree (Moen) algorithm.
Base class for all shapes.
Singleton that implements a clipboard for graph cells.
Defines various global constants.
Cross-browser DOM event support.
A singleton class that provides cross-browser helper methods.
Implements internationalization.
A singleton class that implements a simple console.
Generic codec for JavaScript objects that implements a mapping between JavaScript objects and XML nodes that maps each field or element to an attribute or child node, and vice versa.
XML codec for JavaScript object graphs.
Singleton class that acts as a global registry for codecs.
The mxEventObject is a wrapper for all properties of a single event.
Base class for objects that dispatch named events.
Base class for all mouse events in mxGraph.
mxEventSource.prototype.fireEvent = function(evt,
sender)
Dispatches the given event to the listeners which are registered for the event.
mxEventSource.prototype.addListener = function(name,
funct)
Binds the specified function to the given event name.
mxEventSource.prototype.removeListener = function(funct)
Removes all occurrences of the given listener from eventListeners.
mxGraph.prototype.fireMouseEvent = function(evtName,
me,
sender)
Dispatches the given event in the graph event dispatch loop.
mxGraph.prototype.addMouseListener = function(listener)
Adds a listener to the graph event dispatch loop.
mxGraph.prototype.removeMouseListener = function(listener)
Removes the specified graph listener.
Basepath for all URLs in the core without trailing slash.
Basepath for all images URLs in the core without trailing slash.
Defines the language of the client, eg.
Defines the default language which is used in the common resource files.
include: function(src)
Dynamically adds a script node to the document header.
eval: function(expr)
Evaluates the given expression using eval and returns the JavaScript object that represents the expression result.
mxGraph.prototype.setCellWarning = function(cell,
warning,
img,
isSelect)
Creates an overlay for the given cell using the warning and image or warningImage and returns the new mxCellOverlay.
mxGraph.prototype.warningImage
Specifies the mxImage for the image to be used to display a warning overlay.
diff --git a/docs/js-api/files/mxClient-js.html b/docs/js-api/files/mxClient-js.html index e1a6528ac..8866ef8eb 100644 --- a/docs/js-api/files/mxClient-js.html +++ b/docs/js-api/files/mxClient-js.html @@ -15,7 +15,7 @@ if (browserType) {document.write("
");if (browserV

Variables

-

VERSION

VERSION: '4.0.3'

Contains the current version of the mxGraph library.  The strings that communicate versions of mxGraph use the following format.

versionMajor.versionMinor.buildNumber.revisionNumber

Current version is 4.0.3.

+

VERSION

VERSION: '4.0.4'

Contains the current version of the mxGraph library.  The strings that communicate versions of mxGraph use the following format.

versionMajor.versionMinor.buildNumber.revisionNumber

Current version is 4.0.4.

IS_IE

IS_IE: navigator.userAgent.indexOf('MSIE') >

True if the current browser is Internet Explorer 10 or below.  Use mxClient.IS_IE11 to detect IE 11.

@@ -145,7 +145,7 @@ HideAllBut([1], 13);// -->
-
VERSION: '4.0.3'
Contains the current version of the mxGraph library.
IS_IE: navigator.userAgent.indexOf('MSIE') >
True if the current browser is Internet Explorer 10 or below.
IS_IE6: navigator.userAgent.indexOf('MSIE 6') >
True if the current browser is Internet Explorer 6.x.
IS_IE11: !!navigator.userAgent.match(/Trident\/7\./)
True if the current browser is Internet Explorer 11.x.
IS_EDGE: !!navigator.userAgent.match(/Edge\//)
True if the current browser is Microsoft Edge.
IS_QUIRKS: navigator.userAgent.indexOf('MSIE') >
True if the current browser is Internet Explorer and it is in quirks mode.
IS_EM: 'spellcheck' in document.createElement(
   'textarea'
) && document.documentMode
True if the browser is IE11 in enterprise mode (IE8 standards mode).
VML_PREFIX: 'v'
Prefix for VML namespace in node names.
OFFICE_PREFIX: 'o'
Prefix for VML office namespace in node names.
IS_NS: navigator.userAgent.indexOf('Mozilla/') >
True if the current browser is Netscape (including Firefox).
IS_OP: navigator.userAgent.indexOf('Opera/') >
True if the current browser is Opera.
IS_OT: navigator.userAgent.indexOf('Presto/') >
True if -o-transform is available as a CSS style, ie for Opera browsers based on a Presto engine with version 2.5 or later.
IS_SF: navigator.userAgent.indexOf('AppleWebKit/') >
True if the current browser is Safari.
IS_IOS: (navigator.userAgent.match(/(iPad|iPhone|iPod)/g) ? true false)
Returns true if the user agent is an iPad, iPhone or iPod.
IS_GC: navigator.userAgent.indexOf('Chrome/') >
True if the current browser is Google Chrome.
IS_CHROMEAPP: window.chrome !
True if the this is running inside a Chrome App.
IS_FF: navigator.userAgent.indexOf('Firefox/') >
True if the current browser is Firefox.
IS_VML: navigator.appName.toUpperCase()
True if the browser supports VML.
IS_SVG: navigator.appName.toUpperCase() !
True if the browser supports SVG.
NO_FO: !document.createElementNS || document.createElementNS(
   'http://www.w3.org/2000/svg',
   'foreignObject'
) !
True if foreignObject support is not available.
IS_WIN: navigator.appVersion.indexOf('Win') > 0
True if the client is a Windows.
IS_MAC: navigator.appVersion.indexOf('Mac') > 0
True if the client is a Mac.
IS_CHROMEOS: /\bCrOS\b/.test(navigator.userAgent)
True if the client is a Chrome OS.
IS_TOUCH: 'ontouchstart' in document.documentElement
True if this device supports touchstart/-move/-end events (Apple iOS, Android, Chromebook and Chrome Browser on touch-enabled devices).
IS_POINTER: window.PointerEvent !
True if this device supports Microsoft pointer events (always false on Macs).
defaultBundles: []
Contains the base names of the default bundles if mxLoadResources is false.
isBrowserSupported: function()
Returns true if the current browser is supported, that is, if mxClient.IS_VML or mxClient.IS_SVG is true.
link: function(rel,
href,
doc,
id)
Adds a link node to the head of the document.
loadResources: function(fn,
lan)
Helper method to load the default bundles if mxLoadResources is false.
include: function(src)
Dynamically adds a script node to the document header.
Extends mxEventSource to implement a graph component for the browser.
Extends mxEventSource to implement a application wrapper for a graph that adds actions, I/O using mxCodec, auto-layout using mxLayoutManager, command history using undoManager, and standard dialogs and widgets, eg.
add: function(basename,
lan,
callback)
Adds the default and current language properties file for the specified basename.
Basepath for all URLs in the core without trailing slash.
getSpecialBundle: function(basename,
lan)
Hook for subclassers to return the URL for the special bundle.
mxEditor.prototype.askZoomResource
Specifies the resource key for the zoom dialog.
mxEditor.prototype.lastSavedResource
Specifies the resource key for the last saved info.
mxEditor.prototype.currentFileResource
Specifies the resource key for the current file info.
mxEditor.prototype.propertiesResource
Specifies the resource key for the properties window title.
mxEditor.prototype.tasksResource
Specifies the resource key for the tasks window title.
mxEditor.prototype.helpResource
Specifies the resource key for the help window title.
mxEditor.prototype.outlineResource
Specifies the resource key for the outline window title.
mxElbowEdgeHandler.prototype.doubleClickOrientationResource
Specifies the resource key for the tooltip to be displayed on the single control point for routed edges.
errorResource: (mxClient.language ! =  'none') ? 'error' : ''
Specifies the resource key for the title of the error window.
closeResource: (mxClient.language ! =  'none') ? 'close' : ''
Specifies the resource key for the label of the close button.
mxGraphSelectionModel.prototype.doneResource
Specifies the resource key for the status message after a long operation.
mxGraphSelectionModel.prototype.updatingSelectionResource
Specifies the resource key for the status message while the selection is being updated.
mxGraphView.prototype.doneResource
Specifies the resource key for the status message after a long operation.
Specifies the resource key for the status message while the document is being updated.
mxGraph.prototype.containsValidationErrorsResource
Specifies the resource key for the warning message to be displayed when a collapsed cell contains validation errors.
mxGraph.prototype.alreadyConnectedResource
Specifies the resource key for the error message to be displayed in non-multigraphs when two vertices are already connected.
isLanguageSupported: function(lan)
Hook for subclassers to disable support for a given language.
+
VERSION: '4.0.4'
Contains the current version of the mxGraph library.
IS_IE: navigator.userAgent.indexOf('MSIE') >
True if the current browser is Internet Explorer 10 or below.
IS_IE6: navigator.userAgent.indexOf('MSIE 6') >
True if the current browser is Internet Explorer 6.x.
IS_IE11: !!navigator.userAgent.match(/Trident\/7\./)
True if the current browser is Internet Explorer 11.x.
IS_EDGE: !!navigator.userAgent.match(/Edge\//)
True if the current browser is Microsoft Edge.
IS_QUIRKS: navigator.userAgent.indexOf('MSIE') >
True if the current browser is Internet Explorer and it is in quirks mode.
IS_EM: 'spellcheck' in document.createElement(
   'textarea'
) && document.documentMode
True if the browser is IE11 in enterprise mode (IE8 standards mode).
VML_PREFIX: 'v'
Prefix for VML namespace in node names.
OFFICE_PREFIX: 'o'
Prefix for VML office namespace in node names.
IS_NS: navigator.userAgent.indexOf('Mozilla/') >
True if the current browser is Netscape (including Firefox).
IS_OP: navigator.userAgent.indexOf('Opera/') >
True if the current browser is Opera.
IS_OT: navigator.userAgent.indexOf('Presto/') >
True if -o-transform is available as a CSS style, ie for Opera browsers based on a Presto engine with version 2.5 or later.
IS_SF: navigator.userAgent.indexOf('AppleWebKit/') >
True if the current browser is Safari.
IS_IOS: (navigator.userAgent.match(/(iPad|iPhone|iPod)/g) ? true false)
Returns true if the user agent is an iPad, iPhone or iPod.
IS_GC: navigator.userAgent.indexOf('Chrome/') >
True if the current browser is Google Chrome.
IS_CHROMEAPP: window.chrome !
True if the this is running inside a Chrome App.
IS_FF: navigator.userAgent.indexOf('Firefox/') >
True if the current browser is Firefox.
IS_VML: navigator.appName.toUpperCase()
True if the browser supports VML.
IS_SVG: navigator.appName.toUpperCase() !
True if the browser supports SVG.
NO_FO: !document.createElementNS || document.createElementNS(
   'http://www.w3.org/2000/svg',
   'foreignObject'
) !
True if foreignObject support is not available.
IS_WIN: navigator.appVersion.indexOf('Win') > 0
True if the client is a Windows.
IS_MAC: navigator.appVersion.indexOf('Mac') > 0
True if the client is a Mac.
IS_CHROMEOS: /\bCrOS\b/.test(navigator.userAgent)
True if the client is a Chrome OS.
IS_TOUCH: 'ontouchstart' in document.documentElement
True if this device supports touchstart/-move/-end events (Apple iOS, Android, Chromebook and Chrome Browser on touch-enabled devices).
IS_POINTER: window.PointerEvent !
True if this device supports Microsoft pointer events (always false on Macs).
defaultBundles: []
Contains the base names of the default bundles if mxLoadResources is false.
isBrowserSupported: function()
Returns true if the current browser is supported, that is, if mxClient.IS_VML or mxClient.IS_SVG is true.
link: function(rel,
href,
doc,
id)
Adds a link node to the head of the document.
loadResources: function(fn,
lan)
Helper method to load the default bundles if mxLoadResources is false.
include: function(src)
Dynamically adds a script node to the document header.
Extends mxEventSource to implement a graph component for the browser.
Extends mxEventSource to implement a application wrapper for a graph that adds actions, I/O using mxCodec, auto-layout using mxLayoutManager, command history using undoManager, and standard dialogs and widgets, eg.
add: function(basename,
lan,
callback)
Adds the default and current language properties file for the specified basename.
Basepath for all URLs in the core without trailing slash.
getSpecialBundle: function(basename,
lan)
Hook for subclassers to return the URL for the special bundle.
mxEditor.prototype.askZoomResource
Specifies the resource key for the zoom dialog.
mxEditor.prototype.lastSavedResource
Specifies the resource key for the last saved info.
mxEditor.prototype.currentFileResource
Specifies the resource key for the current file info.
mxEditor.prototype.propertiesResource
Specifies the resource key for the properties window title.
mxEditor.prototype.tasksResource
Specifies the resource key for the tasks window title.
mxEditor.prototype.helpResource
Specifies the resource key for the help window title.
mxEditor.prototype.outlineResource
Specifies the resource key for the outline window title.
mxElbowEdgeHandler.prototype.doubleClickOrientationResource
Specifies the resource key for the tooltip to be displayed on the single control point for routed edges.
errorResource: (mxClient.language ! =  'none') ? 'error' : ''
Specifies the resource key for the title of the error window.
closeResource: (mxClient.language ! =  'none') ? 'close' : ''
Specifies the resource key for the label of the close button.
mxGraphSelectionModel.prototype.doneResource
Specifies the resource key for the status message after a long operation.
mxGraphSelectionModel.prototype.updatingSelectionResource
Specifies the resource key for the status message while the selection is being updated.
mxGraphView.prototype.doneResource
Specifies the resource key for the status message after a long operation.
Specifies the resource key for the status message while the document is being updated.
mxGraph.prototype.containsValidationErrorsResource
Specifies the resource key for the warning message to be displayed when a collapsed cell contains validation errors.
mxGraph.prototype.alreadyConnectedResource
Specifies the resource key for the error message to be displayed in non-multigraphs when two vertices are already connected.
isLanguageSupported: function(lan)
Hook for subclassers to disable support for a given language.
diff --git a/docs/js-api/index/General20.html b/docs/js-api/index/General20.html index 8b2c91a22..f25f8f747 100644 --- a/docs/js-api/index/General20.html +++ b/docs/js-api/index/General20.html @@ -13,7 +13,7 @@ if (browserType) {document.write("
");if (browserV
Index
$#! · 0-9 · A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z
V
 VALID_COLOR, mxConstants
 validate, mxGraphView
 validateBackground, mxGraphView
 validateBackgroundImage, mxGraphView
 validateBackgroundPage, mxGraphView
 validateCell
 validateCellState, mxGraphView
 validateConnection
 validateEdge, mxGraph
 validateGraph, mxGraph
 validating, mxEditor
 Validation, mxGraph
 validationAlert, mxGraph
 validColor, mxCellMarker
 validNeighbors, mxMultiplicity
 validNeighborsAllowed, mxMultiplicity
 validState, mxCellMarker
 value
 valueChanged, mxCell
 valueForCellChanged, mxGraphModel
 values, mxStyleRegistry
 Variables
 VERSION, mxClient
 vertex, mxCell
 VERTEX_SELECTION_COLOR, mxConstants
 VERTEX_SELECTION_STROKEWIDTH, mxConstants
 vertexArray, mxFastOrganicLayout
 vertexLabelsMovable, mxGraph
 vertexMapper
 vertical, mxGuide
 verticalAlign, mxCellOverlay
 verticalLayout, mxCompactTreeLayout
 verticalOffset, mxVertexHandler
 verticalTextRotation, mxText
 view
 viewStateChanged, mxGraphView
 VIRTUAL_HANDLE, mxEvent
 virtualBendOpacity, mxEdgeHandler
 virtualBendsEnabled, mxEdgeHandler
 visible
 visibleSourceState, mxCellState
 visibleStateForCellChanged, mxGraphModel
 visibleTargetState, mxCellState
 visit
 visited
 VML_PREFIX, mxClient
 VML_SHADOWCOLOR, mxConstants
 vmlScale
-
VALID_COLOR: '#00FF00'
Defines the color to be used for the coloring valid connection previews.
mxGraphView.prototype.validate = function(cell)
Calls validateCell and validateCellState and updates the graphBounds using getBoundingBox.
mxGraphView.prototype.validateBackground = function()
Calls validateBackgroundImage and validateBackgroundPage.
mxGraphView.prototype.validateBackgroundImage = function()
Validates the background image.
mxGraphView.prototype.validateBackgroundPage = function()
Validates the background page.
mxGraph.prototype.validateCell = function(cell,
context)
Hook method for subclassers to return an error message for the given cell and validation context.
mxGraphView.prototype.validateCell = function(cell,
visible)
Recursively creates the cell state for the given cell if visible is true and the given cell is visible.
mxGraphView.prototype.validateCellState = function(cell,
recurse)
Validates and repaints the mxCellState for the given mxCell.
mxConnectionHandler.prototype.validateConnection = function(source,
target)
Returns the error message or an empty string if the connection for the given source target pair is not valid.
mxEdgeHandler.prototype.validateConnection = function(source,
target)
Returns the error message or an empty string if the connection for the given source, target pair is not valid.
mxGraph.prototype.validateEdge = function(edge,
source,
target)
Hook method for subclassers to return an error message for the given edge and terminals.
mxGraph.prototype.validateGraph = function(cell,
context)
Validates the graph by validating each descendant of the given cell or the root of the model.
mxEditor.prototype.validating
Specifies if mxGraph.validateGraph should automatically be invoked after each change.
mxGraph.prototype.validationAlert = function(message)
Displays the given validation error in a dialog.
mxCellMarker.prototype.validColor
Holds the valid marker color.
mxMultiplicity.prototype.validNeighbors
Holds an array of strings that specify the type of neighbor for which this rule applies.
mxMultiplicity.prototype.validNeighborsAllowed
Boolean indicating if the list of validNeighbors are those that are allowed for this rule or those that are not allowed for this rule.
mxCellMarker.prototype.validState
Holds the marked mxCellState if it is valid.
mxCell.prototype.value
Holds the user object.
mxMultiplicity.prototype.value
Optional string that specifies the value of the attribute to be passed to mxUtils.isNode to check if the rule applies to a cell.
mxCell.prototype.valueChanged = function(newValue)
Changes the user object after an in-place edit and returns the previous value.
mxGraphModel.prototype.valueForCellChanged = function(cell,
value)
Inner callback to update the user object of the given mxCell using mxCell.valueChanged and return the previous value, that is, the return value of mxCell.valueChanged.
values: []
Maps from strings to objects.
VERSION: '4.0.3'
Contains the current version of the mxGraph library.
mxCell.prototype.vertex
Specifies whether the cell is a vertex.
VERTEX_SELECTION_COLOR: '#00FF00'
Defines the color to be used for the selection border of vertices.
VERTEX_SELECTION_STROKEWIDTH: 1
Defines the strokewidth to be used for vertex selections.
mxFastOrganicLayout.prototype.vertexArray
An array of all vertices to be laid out.
mxGraph.prototype.vertexLabelsMovable
Specifies the return value for vertices in isLabelMovable.
mxGraphHierarchyModel.prototype.vertexMapper
Map from graph vertices to internal model nodes.
mxSwimlaneModel.prototype.vertexMapper
Map from graph vertices to internal model nodes.
mxGuide.prototype.vertical
Specifies if vertical guides are enabled.
mxCellOverlay.prototype.verticalAlign
Holds the vertical alignment for the overlay.
mxCompactTreeLayout.prototype.verticalLayout = function(node,
parent,
x0,
y0,
bounds)
mxVertexHandler.prototype.verticalOffset
The horizontal offset for the handles.
mxText.prototype.verticalTextRotation
Rotation for vertical text.
mxCellState.prototype.view
Reference to the enclosing mxGraphView.
mxGraph.prototype.view
Holds the mxGraphView that caches the mxCellStates for the cells.
mxTemporaryCellStates.prototype.view
Holds the width of the rectangle.
mxGraphView.prototype.viewStateChanged = function()
Invoked after scale and/or translate has changed.
VIRTUAL_HANDLE: -100000
Start index for the virtual handles in an mxMouseEvent.
mxEdgeHandler.prototype.virtualBendOpacity
Opacity to be used for virtual bends (see virtualBendsEnabled).
mxEdgeHandler.prototype.virtualBendsEnabled
Specifies if virtual bends should be added in the center of each segments.
mxCell.prototype.visible
Specifies whether the cell is visible.
mxShape.prototype.visible
Specifies if the shape is visible.
mxWindow.prototype.visible
Boolean flag that represents the visible state of the window.
mxCellState.prototype.visibleSourceState
Caches the visible source terminal state.
mxGraphModel.prototype.visibleStateForCellChanged = function(cell,
visible)
Inner callback to update the visible state of the given mxCell using mxCell.setCollapsed and return the previous visible state.
mxCellState.prototype.visibleTargetState
Caches the visible target terminal state.
mxDictionary.prototype.visit = function(visitor)
Visits all entries in the dictionary using the given function with the following signature: function(key, value) where key is a string and value is an object.
mxGraphHierarchyModel.prototype.visit = function(visitor,
dfsRoots,
trackAncestors,
seenNodes)
A depth first search through the internal heirarchy model.
mxSwimlaneModel.prototype.visit = function(visitor,
dfsRoots,
trackAncestors,
seenNodes)
A depth first search through the internal heirarchy model.
mxCompactTreeLayout.prototype.visited
Specifies if the tree should be moved to the top, left corner if it is inside a top-level layer.
WeightedCellSorter.prototype.visited
Whether or not this cell has been visited in the current assignment.
VML_PREFIX: 'v'
Prefix for VML namespace in node names.
VML_SHADOWCOLOR: 'gray'
Used for shadow color in filters where transparency is not supported (Microsoft Internet Explorer).
mxDoubleEllipse.prototype.vmlScale
Scale for improving the precision of VML rendering.
mxShape.prototype.vmlScale
Scale for improving the precision of VML rendering.
mxVmlCanvas2D.prototype.vmlScale
Specifies the scale used to draw VML shapes.
+
VALID_COLOR: '#00FF00'
Defines the color to be used for the coloring valid connection previews.
mxGraphView.prototype.validate = function(cell)
Calls validateCell and validateCellState and updates the graphBounds using getBoundingBox.
mxGraphView.prototype.validateBackground = function()
Calls validateBackgroundImage and validateBackgroundPage.
mxGraphView.prototype.validateBackgroundImage = function()
Validates the background image.
mxGraphView.prototype.validateBackgroundPage = function()
Validates the background page.
mxGraph.prototype.validateCell = function(cell,
context)
Hook method for subclassers to return an error message for the given cell and validation context.
mxGraphView.prototype.validateCell = function(cell,
visible)
Recursively creates the cell state for the given cell if visible is true and the given cell is visible.
mxGraphView.prototype.validateCellState = function(cell,
recurse)
Validates and repaints the mxCellState for the given mxCell.
mxConnectionHandler.prototype.validateConnection = function(source,
target)
Returns the error message or an empty string if the connection for the given source target pair is not valid.
mxEdgeHandler.prototype.validateConnection = function(source,
target)
Returns the error message or an empty string if the connection for the given source, target pair is not valid.
mxGraph.prototype.validateEdge = function(edge,
source,
target)
Hook method for subclassers to return an error message for the given edge and terminals.
mxGraph.prototype.validateGraph = function(cell,
context)
Validates the graph by validating each descendant of the given cell or the root of the model.
mxEditor.prototype.validating
Specifies if mxGraph.validateGraph should automatically be invoked after each change.
mxGraph.prototype.validationAlert = function(message)
Displays the given validation error in a dialog.
mxCellMarker.prototype.validColor
Holds the valid marker color.
mxMultiplicity.prototype.validNeighbors
Holds an array of strings that specify the type of neighbor for which this rule applies.
mxMultiplicity.prototype.validNeighborsAllowed
Boolean indicating if the list of validNeighbors are those that are allowed for this rule or those that are not allowed for this rule.
mxCellMarker.prototype.validState
Holds the marked mxCellState if it is valid.
mxCell.prototype.value
Holds the user object.
mxMultiplicity.prototype.value
Optional string that specifies the value of the attribute to be passed to mxUtils.isNode to check if the rule applies to a cell.
mxCell.prototype.valueChanged = function(newValue)
Changes the user object after an in-place edit and returns the previous value.
mxGraphModel.prototype.valueForCellChanged = function(cell,
value)
Inner callback to update the user object of the given mxCell using mxCell.valueChanged and return the previous value, that is, the return value of mxCell.valueChanged.
values: []
Maps from strings to objects.
VERSION: '4.0.4'
Contains the current version of the mxGraph library.
mxCell.prototype.vertex
Specifies whether the cell is a vertex.
VERTEX_SELECTION_COLOR: '#00FF00'
Defines the color to be used for the selection border of vertices.
VERTEX_SELECTION_STROKEWIDTH: 1
Defines the strokewidth to be used for vertex selections.
mxFastOrganicLayout.prototype.vertexArray
An array of all vertices to be laid out.
mxGraph.prototype.vertexLabelsMovable
Specifies the return value for vertices in isLabelMovable.
mxGraphHierarchyModel.prototype.vertexMapper
Map from graph vertices to internal model nodes.
mxSwimlaneModel.prototype.vertexMapper
Map from graph vertices to internal model nodes.
mxGuide.prototype.vertical
Specifies if vertical guides are enabled.
mxCellOverlay.prototype.verticalAlign
Holds the vertical alignment for the overlay.
mxCompactTreeLayout.prototype.verticalLayout = function(node,
parent,
x0,
y0,
bounds)
mxVertexHandler.prototype.verticalOffset
The horizontal offset for the handles.
mxText.prototype.verticalTextRotation
Rotation for vertical text.
mxCellState.prototype.view
Reference to the enclosing mxGraphView.
mxGraph.prototype.view
Holds the mxGraphView that caches the mxCellStates for the cells.
mxTemporaryCellStates.prototype.view
Holds the width of the rectangle.
mxGraphView.prototype.viewStateChanged = function()
Invoked after scale and/or translate has changed.
VIRTUAL_HANDLE: -100000
Start index for the virtual handles in an mxMouseEvent.
mxEdgeHandler.prototype.virtualBendOpacity
Opacity to be used for virtual bends (see virtualBendsEnabled).
mxEdgeHandler.prototype.virtualBendsEnabled
Specifies if virtual bends should be added in the center of each segments.
mxCell.prototype.visible
Specifies whether the cell is visible.
mxShape.prototype.visible
Specifies if the shape is visible.
mxWindow.prototype.visible
Boolean flag that represents the visible state of the window.
mxCellState.prototype.visibleSourceState
Caches the visible source terminal state.
mxGraphModel.prototype.visibleStateForCellChanged = function(cell,
visible)
Inner callback to update the visible state of the given mxCell using mxCell.setCollapsed and return the previous visible state.
mxCellState.prototype.visibleTargetState
Caches the visible target terminal state.
mxDictionary.prototype.visit = function(visitor)
Visits all entries in the dictionary using the given function with the following signature: function(key, value) where key is a string and value is an object.
mxGraphHierarchyModel.prototype.visit = function(visitor,
dfsRoots,
trackAncestors,
seenNodes)
A depth first search through the internal heirarchy model.
mxSwimlaneModel.prototype.visit = function(visitor,
dfsRoots,
trackAncestors,
seenNodes)
A depth first search through the internal heirarchy model.
mxCompactTreeLayout.prototype.visited
Specifies if the tree should be moved to the top, left corner if it is inside a top-level layer.
WeightedCellSorter.prototype.visited
Whether or not this cell has been visited in the current assignment.
VML_PREFIX: 'v'
Prefix for VML namespace in node names.
VML_SHADOWCOLOR: 'gray'
Used for shadow color in filters where transparency is not supported (Microsoft Internet Explorer).
mxDoubleEllipse.prototype.vmlScale
Scale for improving the precision of VML rendering.
mxShape.prototype.vmlScale
Scale for improving the precision of VML rendering.
mxVmlCanvas2D.prototype.vmlScale
Specifies the scale used to draw VML shapes.
diff --git a/docs/js-api/index/Variables16.html b/docs/js-api/index/Variables16.html index da1285cd0..2ebd5ce11 100644 --- a/docs/js-api/index/Variables16.html +++ b/docs/js-api/index/Variables16.html @@ -17,7 +17,7 @@ if (browserType) {document.write("
");if (browserV -
VALID_COLOR: '#00FF00'
Defines the color to be used for the coloring valid connection previews.
mxEditor.prototype.validating
Specifies if mxGraph.validateGraph should automatically be invoked after each change.
mxCellMarker.prototype.validColor
Holds the valid marker color.
mxMultiplicity.prototype.validNeighbors
Holds an array of strings that specify the type of neighbor for which this rule applies.
mxMultiplicity.prototype.validNeighborsAllowed
Boolean indicating if the list of validNeighbors are those that are allowed for this rule or those that are not allowed for this rule.
mxCellMarker.prototype.validState
Holds the marked mxCellState if it is valid.
mxCell.prototype.value
Holds the user object.
mxMultiplicity.prototype.value
Optional string that specifies the value of the attribute to be passed to mxUtils.isNode to check if the rule applies to a cell.
values: []
Maps from strings to objects.
VERSION: '4.0.3'
Contains the current version of the mxGraph library.
mxCell.prototype.vertex
Specifies whether the cell is a vertex.
VERTEX_SELECTION_COLOR: '#00FF00'
Defines the color to be used for the selection border of vertices.
VERTEX_SELECTION_STROKEWIDTH: 1
Defines the strokewidth to be used for vertex selections.
mxFastOrganicLayout.prototype.vertexArray
An array of all vertices to be laid out.
mxGraph.prototype.vertexLabelsMovable
Specifies the return value for vertices in isLabelMovable.
mxGraphHierarchyModel.prototype.vertexMapper
Map from graph vertices to internal model nodes.
mxSwimlaneModel.prototype.vertexMapper
Map from graph vertices to internal model nodes.
mxGuide.prototype.vertical
Specifies if vertical guides are enabled.
mxCellOverlay.prototype.verticalAlign
Holds the vertical alignment for the overlay.
mxVertexHandler.prototype.verticalOffset
The horizontal offset for the handles.
mxText.prototype.verticalTextRotation
Rotation for vertical text.
mxCellState.prototype.view
Reference to the enclosing mxGraphView.
mxGraph.prototype.view
Holds the mxGraphView that caches the mxCellStates for the cells.
mxTemporaryCellStates.prototype.view
Holds the width of the rectangle.
VIRTUAL_HANDLE: -100000
Start index for the virtual handles in an mxMouseEvent.
mxEdgeHandler.prototype.virtualBendOpacity
Opacity to be used for virtual bends (see virtualBendsEnabled).
mxEdgeHandler.prototype.virtualBendsEnabled
Specifies if virtual bends should be added in the center of each segments.
mxCell.prototype.visible
Specifies whether the cell is visible.
mxShape.prototype.visible
Specifies if the shape is visible.
mxWindow.prototype.visible
Boolean flag that represents the visible state of the window.
mxCellState.prototype.visibleSourceState
Caches the visible source terminal state.
mxCellState.prototype.visibleTargetState
Caches the visible target terminal state.
mxCompactTreeLayout.prototype.visited
Specifies if the tree should be moved to the top, left corner if it is inside a top-level layer.
WeightedCellSorter.prototype.visited
Whether or not this cell has been visited in the current assignment.
VML_PREFIX: 'v'
Prefix for VML namespace in node names.
VML_SHADOWCOLOR: 'gray'
Used for shadow color in filters where transparency is not supported (Microsoft Internet Explorer).
mxDoubleEllipse.prototype.vmlScale
Scale for improving the precision of VML rendering.
mxShape.prototype.vmlScale
Scale for improving the precision of VML rendering.
mxVmlCanvas2D.prototype.vmlScale
Specifies the scale used to draw VML shapes.
+
VALID_COLOR: '#00FF00'
Defines the color to be used for the coloring valid connection previews.
mxEditor.prototype.validating
Specifies if mxGraph.validateGraph should automatically be invoked after each change.
mxCellMarker.prototype.validColor
Holds the valid marker color.
mxMultiplicity.prototype.validNeighbors
Holds an array of strings that specify the type of neighbor for which this rule applies.
mxMultiplicity.prototype.validNeighborsAllowed
Boolean indicating if the list of validNeighbors are those that are allowed for this rule or those that are not allowed for this rule.
mxCellMarker.prototype.validState
Holds the marked mxCellState if it is valid.
mxCell.prototype.value
Holds the user object.
mxMultiplicity.prototype.value
Optional string that specifies the value of the attribute to be passed to mxUtils.isNode to check if the rule applies to a cell.
values: []
Maps from strings to objects.
VERSION: '4.0.4'
Contains the current version of the mxGraph library.
mxCell.prototype.vertex
Specifies whether the cell is a vertex.
VERTEX_SELECTION_COLOR: '#00FF00'
Defines the color to be used for the selection border of vertices.
VERTEX_SELECTION_STROKEWIDTH: 1
Defines the strokewidth to be used for vertex selections.
mxFastOrganicLayout.prototype.vertexArray
An array of all vertices to be laid out.
mxGraph.prototype.vertexLabelsMovable
Specifies the return value for vertices in isLabelMovable.
mxGraphHierarchyModel.prototype.vertexMapper
Map from graph vertices to internal model nodes.
mxSwimlaneModel.prototype.vertexMapper
Map from graph vertices to internal model nodes.
mxGuide.prototype.vertical
Specifies if vertical guides are enabled.
mxCellOverlay.prototype.verticalAlign
Holds the vertical alignment for the overlay.
mxVertexHandler.prototype.verticalOffset
The horizontal offset for the handles.
mxText.prototype.verticalTextRotation
Rotation for vertical text.
mxCellState.prototype.view
Reference to the enclosing mxGraphView.
mxGraph.prototype.view
Holds the mxGraphView that caches the mxCellStates for the cells.
mxTemporaryCellStates.prototype.view
Holds the width of the rectangle.
VIRTUAL_HANDLE: -100000
Start index for the virtual handles in an mxMouseEvent.
mxEdgeHandler.prototype.virtualBendOpacity
Opacity to be used for virtual bends (see virtualBendsEnabled).
mxEdgeHandler.prototype.virtualBendsEnabled
Specifies if virtual bends should be added in the center of each segments.
mxCell.prototype.visible
Specifies whether the cell is visible.
mxShape.prototype.visible
Specifies if the shape is visible.
mxWindow.prototype.visible
Boolean flag that represents the visible state of the window.
mxCellState.prototype.visibleSourceState
Caches the visible source terminal state.
mxCellState.prototype.visibleTargetState
Caches the visible target terminal state.
mxCompactTreeLayout.prototype.visited
Specifies if the tree should be moved to the top, left corner if it is inside a top-level layer.
WeightedCellSorter.prototype.visited
Whether or not this cell has been visited in the current assignment.
VML_PREFIX: 'v'
Prefix for VML namespace in node names.
VML_SHADOWCOLOR: 'gray'
Used for shadow color in filters where transparency is not supported (Microsoft Internet Explorer).
mxDoubleEllipse.prototype.vmlScale
Scale for improving the precision of VML rendering.
mxShape.prototype.vmlScale
Scale for improving the precision of VML rendering.
mxVmlCanvas2D.prototype.vmlScale
Specifies the scale used to draw VML shapes.
diff --git a/docs/js-api/javascript/searchdata.js b/docs/js-api/javascript/searchdata.js index 64198859e..35c52bfd9 100644 --- a/docs/js-api/javascript/searchdata.js +++ b/docs/js-api/javascript/searchdata.js @@ -1,34 +1,4 @@ var indexSectionsWithContent = { - "Functions": { - "Symbols": false, - "Numbers": false, - "A": true, - "B": true, - "C": true, - "D": true, - "E": true, - "F": true, - "G": true, - "H": true, - "I": true, - "J": true, - "K": true, - "L": true, - "M": true, - "N": true, - "O": true, - "P": true, - "Q": true, - "R": true, - "S": true, - "T": true, - "U": true, - "V": true, - "W": true, - "X": false, - "Y": false, - "Z": true - }, "Events": { "Symbols": false, "Numbers": false, @@ -59,10 +29,40 @@ var indexSectionsWithContent = { "Y": false, "Z": false }, - "Cookies": { + "Variables": { "Symbols": false, "Numbers": false, - "A": false, + "A": true, + "B": true, + "C": true, + "D": true, + "E": true, + "F": true, + "G": true, + "H": true, + "I": true, + "J": true, + "K": true, + "L": true, + "M": true, + "N": true, + "O": true, + "P": true, + "Q": true, + "R": true, + "S": true, + "T": true, + "U": true, + "V": true, + "W": true, + "X": true, + "Y": true, + "Z": true + }, + "Files": { + "Symbols": false, + "Numbers": false, + "A": true, "B": false, "C": false, "D": false, @@ -89,10 +89,10 @@ var indexSectionsWithContent = { "Y": false, "Z": false }, - "Files": { + "Cookies": { "Symbols": false, "Numbers": false, - "A": true, + "A": false, "B": false, "C": false, "D": false, @@ -149,6 +149,36 @@ var indexSectionsWithContent = { "Y": true, "Z": true }, + "Functions": { + "Symbols": false, + "Numbers": false, + "A": true, + "B": true, + "C": true, + "D": true, + "E": true, + "F": true, + "G": true, + "H": true, + "I": true, + "J": true, + "K": true, + "L": true, + "M": true, + "N": true, + "O": true, + "P": true, + "Q": true, + "R": true, + "S": true, + "T": true, + "U": true, + "V": true, + "W": true, + "X": false, + "Y": false, + "Z": true + }, "Classes": { "Symbols": false, "Numbers": false, @@ -178,35 +208,5 @@ var indexSectionsWithContent = { "X": false, "Y": false, "Z": false - }, - "Variables": { - "Symbols": false, - "Numbers": false, - "A": true, - "B": true, - "C": true, - "D": true, - "E": true, - "F": true, - "G": true, - "H": true, - "I": true, - "J": true, - "K": true, - "L": true, - "M": true, - "N": true, - "O": true, - "P": true, - "Q": true, - "R": true, - "S": true, - "T": true, - "U": true, - "V": true, - "W": true, - "X": true, - "Y": true, - "Z": true } } \ No newline at end of file diff --git a/docs/manual.html b/docs/manual.html index f358439e3..37e3005d7 100644 --- a/docs/manual.html +++ b/docs/manual.html @@ -9,7 +9,7 @@

mxGraph User Manual – JavaScript Client



-

mxGraph Version 4.0.3 – 26. July 2019

+

mxGraph Version 4.0.4 – 20. August 2019

Copyright (c) JGraph Ltd 2006-2017


All rights reserved. No part of this publication may be diff --git a/docs/manual_javavis.html b/docs/manual_javavis.html index 007114f4c..bbc9df10d 100644 --- a/docs/manual_javavis.html +++ b/docs/manual_javavis.html @@ -9,7 +9,7 @@

JGraphX (JGraph 6) User Manual



-

JGraphX Version 4.0.3 – 26. July 2019

+

JGraphX Version 4.0.4 – 20. August 2019

Copyright (c) JGraph Ltd 2006-2017


All rights reserved. No part of this publication may be diff --git a/docs/php-api/files/canvas/mxGdCanvas-php.html b/docs/php-api/files/canvas/mxGdCanvas-php.html deleted file mode 100644 index 2e72975c6..000000000 --- a/docs/php-api/files/canvas/mxGdCanvas-php.html +++ /dev/null @@ -1,125 +0,0 @@ - - -/home/david/project/mxgraph2/build/mxgraph/php/src/canvas/mxGdCanvas.php - - - - - - - - - -

mxGdCanvas.php

Summary
mxGdCanvas.php
Variables
antialiasSpecifies if image aspect should be preserved in drawImage.
mxGdCanvasCanvas for drawing graphs using the GD library.
Variables
antialiasSpecifies if antialiasing should be enabled.
enableTtfSpecifies if truetype fonts are enabled if available.
shadowColorHolds the color object for the shadow color defined in mxConstants.W3C_SHADOWCOLOR.
imageCacheHolds the image cache.
imageHolds the image.
heightHolds the height.
Functions
mxGdCanvasConstructs a new GD canvas.
loadImageReturns an image instance for the given URL.
drawCellDraws the given cell state.
drawLabelDraws the given label.
drawMarkerDraws the specified marker.
getImageReturns an image that represents this canvas.
setImageSets the image that represents the canvas.
getImageForStyleReturns an image that represents this canvas.
drawLineDraws the given line.
drawShapeDraws the given shape.
drawPolygonDraws the given polygon.
drawRectDraws then given rectangle.
drawOvalDraws then given ellipse.
drawRhombusDraws then given rhombus.
drawTriangleDraws then given triangle.
drawHexagonDraws then given haxagon.
drawCylinderDraws then given cylinder.
drawCloudDraws then given cloud.
drawActorDraws then given cloud.
drawImageDraws a given image.
drawText
getTrueTypeFontReturns the truetype font to be used to draw the text with the given style.
getTrueTypeFontSizeReturns the truetype font size to be used to draw the text with the given style.
drawTtfText
drawTtxTextLineDraws a single line of the given true type font text.
getFixedFontSizeReturns the fixed font size for GD (1 t0 5) for the given font properties
drawString
drawFixedTextLineDraws the given fixed text line.
getColorAllocates the given color and returns a reference to it.
offsetCreates a new array of x, y sequences where the each coordinate is translated by dx and dy, respectively.
destroyDestroys all allocated resources.
drawGraphDraws the given graph using this canvas.
- -

Variables

- -

antialias

Specifies if image aspect should be preserved in drawImage.  Default is true.

- -

mxGdCanvas

Canvas for drawing graphs using the GD library.  This class requires GD support (GDLib).  Note that rounded corners, gradients and word wrapping are not supported by GD.

Summary
Variables
antialiasSpecifies if antialiasing should be enabled.
enableTtfSpecifies if truetype fonts are enabled if available.
shadowColorHolds the color object for the shadow color defined in mxConstants.W3C_SHADOWCOLOR.
imageCacheHolds the image cache.
imageHolds the image.
heightHolds the height.
Functions
mxGdCanvasConstructs a new GD canvas.
loadImageReturns an image instance for the given URL.
drawCellDraws the given cell state.
drawLabelDraws the given label.
drawMarkerDraws the specified marker.
getImageReturns an image that represents this canvas.
setImageSets the image that represents the canvas.
getImageForStyleReturns an image that represents this canvas.
drawLineDraws the given line.
drawShapeDraws the given shape.
drawPolygonDraws the given polygon.
drawRectDraws then given rectangle.
drawOvalDraws then given ellipse.
drawRhombusDraws then given rhombus.
drawTriangleDraws then given triangle.
drawHexagonDraws then given haxagon.
drawCylinderDraws then given cylinder.
drawCloudDraws then given cloud.
drawActorDraws then given cloud.
drawImageDraws a given image.
drawText
getTrueTypeFontReturns the truetype font to be used to draw the text with the given style.
getTrueTypeFontSizeReturns the truetype font size to be used to draw the text with the given style.
drawTtfText
drawTtxTextLineDraws a single line of the given true type font text.
getFixedFontSizeReturns the fixed font size for GD (1 t0 5) for the given font properties
drawString
drawFixedTextLineDraws the given fixed text line.
getColorAllocates the given color and returns a reference to it.
offsetCreates a new array of x, y sequences where the each coordinate is translated by dx and dy, respectively.
destroyDestroys all allocated resources.
drawGraphDraws the given graph using this canvas.
- -

Variables

- -

antialias

var $antialias

Specifies if antialiasing should be enabled.  Default is false.  NOTE: GD has a known bug where strokeWidths are ignored if this is enabled.

- -

enableTtf

var $enableTtf

Specifies if truetype fonts are enabled if available.  Default is mxConstants.TTF_ENABLED.

- -

shadowColor

var $shadowColor

Holds the color object for the shadow color defined in mxConstants.W3C_SHADOWCOLOR.

- -

imageCache

var $imageCache

Holds the image cache.

- -

image

var $image

Holds the image.

- -

height

Holds the height.

- -

Functions

- -

mxGdCanvas

function mxGdCanvas($width =  0,
$height =  0,
$scale =  1,
$background =  null,
$imageBasePath =  "")

Constructs a new GD canvas.  Use a HTML color definition for the optional background parameter, eg. white or #FFFFFF.  The buffered image is only created if the given width and height are greater than 0.

- -

loadImage

function loadImage($image)

Returns an image instance for the given URL.  If the URL has been loaded before than an instance of the same instance is returned as in the previous call.

- -

drawCell

function drawCell($state)

Draws the given cell state.

- -

drawLabel

function drawLabel($text,  
$state,  
$html =  false)

Draws the given label.

- -

drawMarker

function drawMarker($type,
$p0,
$pe,
$size,
$stroke)

Draws the specified marker.

- -

getImage

function getImage()

Returns an image that represents this canvas.

- -

setImage

function setImage($img)

Sets the image that represents the canvas.

- -

getImageForStyle

function getImageForStyle($style)

Returns an image that represents this canvas.

- -

drawLine

function drawLine($x0,  
$y0,  
$x1,  
$y1,  
$stroke =  null,
$dashed =  false)

Draws the given line.

- -

drawShape

function drawShape($x,
$y,
$w,
$h,
$style)

Draws the given shape.

- -

drawPolygon

function drawPolygon($points,  
$fill =  null,
$stroke =  null,
$shadow =  false)

Draws the given polygon.

- -

drawRect

function drawRect($x,  
$y,  
$w,  
$h,  
$fill =  null,
$stroke =  null,
$shadow =  false,
$rounded =  false,
$dashed =  false)

Draws then given rectangle.  Rounded is currently ignored.

- -

drawOval

function drawOval($x,  
$y,  
$w,  
$h,  
$fill =  null,
$stroke =  null,
$shadow =  false)

Draws then given ellipse.

- -

drawRhombus

function drawRhombus($x,  
$y,  
$w,  
$h,  
$fill =  null,
$stroke =  null,
$shadow =  false)

Draws then given rhombus.

- -

drawTriangle

function drawTriangle($x,  
$y,  
$w,  
$h,  
$fill =  null,
$stroke =  null,
$shadow =  false,
$direction =  null)

Draws then given triangle.

- -

drawHexagon

function drawHexagon($x,  
$y,  
$w,  
$h,  
$fill =  null,
$stroke =  null,
$shadow =  false,
$direction =  null)

Draws then given haxagon.

- -

drawCylinder

function drawCylinder($x,  
$y,  
$w,  
$h,  
$fill =  null,
$stroke =  null,
$shadow =  false)

Draws then given cylinder.

- -

drawCloud

function drawCloud($x,  
$y,  
$w,  
$h,  
$fill =  null,
$stroke =  null,
$shadow = false)

Draws then given cloud.

- -

drawActor

function drawActor($x,  
$y,  
$w,  
$h,  
$fill =  null,
$stroke =  null,
$shadow = false)

Draws then given cloud.

- -

drawImage

function drawImage($x,  
$y,  
$w,  
$h,  
$image,  
$aspect =  true,
$flipH =  false,
$flipV =  false)

Draws a given image.

- -

drawText

function drawText($string,
$x,
$y,
$w,
$h,
$style)
- -

getTrueTypeFont

function getTrueTypeFont($style)

Returns the truetype font to be used to draw the text with the given style.

- -

getTrueTypeFontSize

function getTrueTypeFontSize($style)

Returns the truetype font size to be used to draw the text with the given style.  This returns the fontSize in the style of the default fontsize multiplied with <ttfSizeFactor>.

- -

drawTtfText

function drawTtfText($string,
$x,
$y,
$w,
$h,
$style)
- -

drawTtxTextLine

Draws a single line of the given true type font text.  The w and h are the width and height of the complete text box that contains this line.

- -

getFixedFontSize

function getFixedFontSize($fontSize,  
$fontFamily,  
$fontStyle = null)

Returns the fixed font size for GD (1 t0 5) for the given font properties

- -

drawString

- -

drawFixedTextLine

function drawFixedTextLine($text,  
$font,  
$left,  
$top,  
$color,  
$horizontal =  true)

Draws the given fixed text line.

- -

getColor

function getColor($hex,  
$default =  null)

Allocates the given color and returns a reference to it.  Supported color names are black, red, green, blue, orange, yellow, pink, turqoise, white, gray and any hex codes between 000000 and FFFFFF.

- -

offset

function offset($points,  
$dx =  null,
$dy =  null)

Creates a new array of x, y sequences where the each coordinate is translated by dx and dy, respectively.

- -

destroy

function destroy()

Destroys all allocated resources.

- -

drawGraph

public static function drawGraph($graph,  
$clip =  null,
$bg =  null)

Draws the given graph using this canvas.

- -
- - - - - - - - - - -
var $antialias
Specifies if antialiasing should be enabled.
var $enableTtf
Specifies if truetype fonts are enabled if available.
var $shadowColor
Holds the color object for the shadow color defined in mxConstants.W3C_SHADOWCOLOR.
public static $W3C_SHADOWCOLOR
Defines the color to be used to draw shadows in DOM documents.
var $imageCache
Holds the image cache.
var $image
Holds the image.
function mxGdCanvas($width =  0,
$height =  0,
$scale =  1,
$background =  null,
$imageBasePath =  "")
Constructs a new GD canvas.
function loadImage($image)
Returns an image instance for the given URL.
function drawCell($state)
Draws the given cell state.
function drawLabel($text,  
$state,  
$html =  false)
Draws the given label.
function drawMarker($type,
$p0,
$pe,
$size,
$stroke)
Draws the specified marker.
function getImage()
Returns an image that represents this canvas.
function setImage($img)
Sets the image that represents the canvas.
function getImageForStyle($style)
Returns an image that represents this canvas.
function drawLine($x0,  
$y0,  
$x1,  
$y1,  
$stroke =  null,
$dashed =  false)
Draws the given line.
function drawShape($x,
$y,
$w,
$h,
$style)
Draws the given shape.
function drawPolygon($points,  
$fill =  null,
$stroke =  null,
$shadow =  false)
Draws the given polygon.
function drawRect($x,  
$y,  
$w,  
$h,  
$fill =  null,
$stroke =  null,
$shadow =  false,
$rounded =  false,
$dashed =  false)
Draws then given rectangle.
function drawOval($x,  
$y,  
$w,  
$h,  
$fill =  null,
$stroke =  null,
$shadow =  false)
Draws then given ellipse.
function drawRhombus($x,  
$y,  
$w,  
$h,  
$fill =  null,
$stroke =  null,
$shadow =  false)
Draws then given rhombus.
function drawTriangle($x,  
$y,  
$w,  
$h,  
$fill =  null,
$stroke =  null,
$shadow =  false,
$direction =  null)
Draws then given triangle.
function drawHexagon($x,  
$y,  
$w,  
$h,  
$fill =  null,
$stroke =  null,
$shadow =  false,
$direction =  null)
Draws then given haxagon.
function drawCylinder($x,  
$y,  
$w,  
$h,  
$fill =  null,
$stroke =  null,
$shadow =  false)
Draws then given cylinder.
function drawCloud($x,  
$y,  
$w,  
$h,  
$fill =  null,
$stroke =  null,
$shadow = false)
Draws then given cloud.
function drawActor($x,  
$y,  
$w,  
$h,  
$fill =  null,
$stroke =  null,
$shadow = false)
Draws then given cloud.
function drawImage($x,  
$y,  
$w,  
$h,  
$image,  
$aspect =  true,
$flipH =  false,
$flipV =  false)
Draws a given image.
function drawText($string,
$x,
$y,
$w,
$h,
$style)
function getTrueTypeFont($style)
Returns the truetype font to be used to draw the text with the given style.
function getTrueTypeFontSize($style)
Returns the truetype font size to be used to draw the text with the given style.
function drawTtfText($string,
$x,
$y,
$w,
$h,
$style)
function getFixedFontSize($fontSize,  
$fontFamily,  
$fontStyle = null)
Returns the fixed font size for GD (1 t0 5) for the given font properties
function drawFixedTextLine($text,  
$font,  
$left,  
$top,  
$color,  
$horizontal =  true)
Draws the given fixed text line.
function getColor($hex,  
$default =  null)
Allocates the given color and returns a reference to it.
function offset($points,  
$dx =  null,
$dy =  null)
Creates a new array of x, y sequences where the each coordinate is translated by dx and dy, respectively.
function destroy()
Destroys all allocated resources.
public static function drawGraph($graph,  
$clip =  null,
$bg =  null)
Draws the given graph using this canvas.
public static $TTF_ENABLED
Whether TrueType fonts should be enabled in the mxGdCanvas by default.
- - - - - - - - \ No newline at end of file diff --git a/docs/php-api/files/canvas/mxHtmlCanvas-php.html b/docs/php-api/files/canvas/mxHtmlCanvas-php.html deleted file mode 100644 index 0eeea661d..000000000 --- a/docs/php-api/files/canvas/mxHtmlCanvas-php.html +++ /dev/null @@ -1,63 +0,0 @@ - - -mxHtmlCanvas - - - - - - - - - -

mxHtmlCanvas

Canvas for drawing graphs using HTML.

Summary
mxHtmlCanvasCanvas for drawing graphs using HTML.
Variables
htmlHolds the html markup.
Functions
mxGdCanvasConstructs a new GD canvas.
getHtmlGets the HTML that represents the canvas.
outAdds the specified string to the output.
drawLineDraws the specified line.
drawShapeDraws the specified shape.
drawImageDraws the specified image.
drawTextDraws the specified text.
destroyDestroy all allocated resources.
drawGraphDraws the given graph using this canvas.
- -

Variables

- -

html

var $html

Holds the html markup.

- -

Functions

- -

mxGdCanvas

Constructs a new GD canvas.  Use a HTML color definition for the optional background parameter, eg. white or #FFFFFF.

- -

getHtml

function getHtml()

Gets the HTML that represents the canvas.

- -

out

function out($string)

Adds the specified string to the output.

- -

drawLine

function drawLine($x0,  
$y0,  
$x1,  
$y1,  
$stroke =  null,
$dashed =  false)

Draws the specified line.

- -

drawShape

function drawShape($shape,  
$x,  
$y,  
$w,  
$h,  
$stroke = null,
$fill = null)

Draws the specified shape.

- -

drawImage

function drawImage($x,  
$y,  
$w,  
$h,  
$image,  
$aspect =  true,
$flipH =  false,
$flipV =  false)

Draws the specified image.

- -

drawText

function drawText($string,
$x,
$y,
$w,
$h,
$style)

Draws the specified text.

- -

destroy

function destroy()

Destroy all allocated resources.

- -

drawGraph

public static function drawGraph($graph,  
$clip =  null,
$bg =  null)

Draws the given graph using this canvas.

- -
- - - - - - - - - - -
var $html
Holds the html markup.
function getHtml()
Gets the HTML that represents the canvas.
function out($string)
Adds the specified string to the output.
function drawLine($x0,  
$y0,  
$x1,  
$y1,  
$stroke =  null,
$dashed =  false)
Draws the specified line.
function drawShape($shape,  
$x,  
$y,  
$w,  
$h,  
$stroke = null,
$fill = null)
Draws the specified shape.
function drawImage($x,  
$y,  
$w,  
$h,  
$image,  
$aspect =  true,
$flipH =  false,
$flipV =  false)
Draws the specified image.
function drawText($string,
$x,
$y,
$w,
$h,
$style)
Draws the specified text.
function destroy()
Destroy all allocated resources.
public static function drawGraph($graph,  
$clip =  null,
$bg =  null)
Draws the given graph using this canvas.
- - - - - - - - \ No newline at end of file diff --git a/docs/php-api/files/index-txt.html b/docs/php-api/files/index-txt.html deleted file mode 100644 index 390bae5cd..000000000 --- a/docs/php-api/files/index-txt.html +++ /dev/null @@ -1,39 +0,0 @@ - - -API Specification - - - - - - - - - -

API Specification

Overview

This PHP library is divided into 4 packages.  The top-level <mxServer> class dynamically includes everything else.

The view and model packages implement the graph component, represented by mxGraph.  It refers to a mxGraphModel which contains mxCells and caches the state of the cells in a mxGraphView.  The cells are painted using a <mxCanvas> based on the appearance defined in mxStylesheet.

The io package implements a generic mxObjectCodec for turning PHP objects into XML.  The main class is mxCodecmxCodecRegistry is the global registry for custom codecs.

Requirements

The I/O module requires libxml support.  The mxGdCanvas requires GD support.

- -
- - - - - - - - - - -
Implements a graph component.
Cells are the elements of the graph model.
Cells are the elements of the graph model.
Implements a view for the graph.
Defines the appearance of the cells in a graph.
XML codec for PHP object graphs.
XML codec for PHP object graphs.
A class to register codecs for objects.
Canvas for drawing graphs using the GD library.
- - - - - - - - \ No newline at end of file diff --git a/docs/php-api/files/io/mxCellCodec-php.html b/docs/php-api/files/io/mxCellCodec-php.html deleted file mode 100644 index f886abd9b..000000000 --- a/docs/php-api/files/io/mxCellCodec-php.html +++ /dev/null @@ -1,43 +0,0 @@ - - -mxCellCodec - - - - - - - - - -

mxCellCodec

Codec for mxCells.  This class is created and registered dynamically at load time and used implicitely via mxCodec and the mxCodecRegistry.

Transient Fields

  • children
  • edges
  • states
  • overlay
  • mxTransient

Reference Fields

  • parent
  • source
  • target
Summary
mxCellCodecCodec for mxCells.
Functions
mxObjectCodecConstructs a new codec for the specified template object.
- -

Functions

- -

mxObjectCodec

Constructs a new codec for the specified template object.  The variables in the optional exclude array are ignored by the codec.  Variables in the optional idrefs array are turned into references in the XML.  The optional mapping may be used to map from variable names to XML attributes.

Parameters

templatePrototypical instance of the object to be encoded/decoded.
excludeOptional array of fieldnames to be ignored.
idrefsOptional array of fieldnames to be converted to/from references.
mappingOptional mapping from field- to attributenames.
- -
- - - - - - - - - - -
Cells are the elements of the graph model.
XML codec for PHP object graphs.
A class to register codecs for objects.
- - - - - - - - \ No newline at end of file diff --git a/docs/php-api/files/io/mxCodec-php.html b/docs/php-api/files/io/mxCodec-php.html deleted file mode 100644 index 6403b358d..000000000 --- a/docs/php-api/files/io/mxCodec-php.html +++ /dev/null @@ -1,79 +0,0 @@ - - -mxCodec - - - - - - - - - -

mxCodec

XML codec for PHP object graphs.  In order to resolve forward references when reading files the XML document that contains the data must be passed to the constructor.

Summary
mxCodecXML codec for PHP object graphs.
Variables
documentThe owner document of the codec.
objectsMaps from IDs to objects.
elementsMaps from IDs to elements.
encodeDefaultsSpecifies if default values should be encoded.
Functions
mxGraphViewHtmlReaderConstructs a new HTML graph view reader.
putObjectAssoiates the given object with the given ID.
getObjectReturns the decoded object for the element with the specified ID in document.
lookupHook for subclassers to implement a custom lookup mechanism for cell IDs.
getElementByIdReturns the element with the given ID from document.
addElementAdds the given element to elements if it has an ID.
getIdReturns the ID of the specified object.
referenceHook for subclassers to implement a custom method for retrieving IDs from objects.
encodeEncodes the specified object and returns the resulting XML node.
decodeDecodes the given XML node.
encodeCellEncoding of cell hierarchies is built-into the core, but is a higher-level function that needs to be explicitely used by the respective object encoders (eg.
decodeCellDecodes cells that have been encoded using inversion, ie.
insertIntoGraphInserts the given cell into its parent and terminal cells.
setAttributeSets the attribute on the specified node to value.
- -

Variables

- -

document

var $document

The owner document of the codec.

- -

objects

var $objects

Maps from IDs to objects.

- -

elements

var $elements

Maps from IDs to elements.

- -

encodeDefaults

var $encodeDefaults

Specifies if default values should be encoded.  Default is false.

- -

Functions

- -

mxGraphViewHtmlReader

Constructs a new HTML graph view reader.

- -

putObject

function putObject($id,
$object)

Assoiates the given object with the given ID.

Parameters

idID for the object to be associated with.
objObject to be associated with the ID.
- -

getObject

function getObject($id)

Returns the decoded object for the element with the specified ID in document.  If the object is not known then lookup is used to find an object.  If no object is found, then the element with the respective ID from the document is parsed using decode.

- -

lookup

function lookup($id)

Hook for subclassers to implement a custom lookup mechanism for cell IDs.  This implementation always returns null.

Parameters

idID of the object to be returned.
- -

getElementById

function getElementById($id)

Returns the element with the given ID from document.

Parameters

idString that contains the ID.
- -

addElement

function addElement($node)

Adds the given element to elements if it has an ID.

- -

getId

function getId($obj)

Returns the ID of the specified object.  This implementation calls reference first and if that returns null handles the object as an mxCell by returning their IDs using mxCell.getId.  If no ID exists for the given cell, then an on-the-fly ID is generated using mxCellPath.create.

Parameters

objObject to return the ID for.
- -

reference

function reference($obj)

Hook for subclassers to implement a custom method for retrieving IDs from objects.  This implementation always returns null.

Parameters

objObject whose ID should be returned.
- -

encode

function encode($obj)

Encodes the specified object and returns the resulting XML node.

Parameters

objObject to be encoded.
- -

decode

function decode($node,  
$into =  null)

Decodes the given XML node.  The optional “into” argument specifies an existing object to be used.  If no object is given, then a new instance is created using the constructor from the codec.

The function returns the passed in object or the new instance if no object was given.

Parameters

nodeXML node to be decoded.
intoOptional object to be decodec into.
- -

encodeCell

function encodeCell($cell,  
$node,  
$includeChildren = true)

Encoding of cell hierarchies is built-into the core, but is a higher-level function that needs to be explicitely used by the respective object encoders (eg.  mxModelCodec, <mxChildChangeCodec> and <mxRootChangeCodec>).  This implementation writes the given cell and its children as a (flat) sequence into the given node.  The children are not encoded if the optional includeChildren is false.  The function is in charge of adding the result into the given node and has no return value.

Parameters

cellmxCell to be encoded.
nodeParent XML node to add the encoded cell into.
includeChildrenOptional boolean indicating if the function should include all descendents.  Default is true.
- -

decodeCell

function decodeCell($node,  
$restoreStructures =  true)

Decodes cells that have been encoded using inversion, ie. where the user object is the enclosing node in the XML, and restores the group and graph structure in the cells.  Returns a new mxCell instance that represents the given node.

Parameters

nodeXML node that contains the cell data.
restoreStructuresOptional boolean indicating whether the graph structure should be restored by calling insert and insertEdge on the parent and terminals, respectively.  Default is true.
- -

insertIntoGraph

function insertIntoGraph($cell)

Inserts the given cell into its parent and terminal cells.

- -

setAttribute

function setAttribute($node,
$attribute,
$value)

Sets the attribute on the specified node to value.  This is a helper method that makes sure the attribute and value arguments are not null.

Parameters

nodeXML node to set the attribute for.
attributesAttributename to be set.
valueNew value of the attribute.
- -
- - - - - - - - - - -
var $document
The owner document of the codec.
var $objects
Maps from IDs to objects.
var $elements
Maps from IDs to elements.
var $encodeDefaults
Specifies if default values should be encoded.
function putObject($id,
$object)
Assoiates the given object with the given ID.
function getObject($id)
Returns the decoded object for the element with the specified ID in document.
function lookup($id)
Hook for subclassers to implement a custom lookup mechanism for cell IDs.
function getElementById($id)
Returns the element with the given ID from document.
function addElement($node)
Adds the given element to elements if it has an ID.
function getId($obj)
Returns the ID of the specified object.
function reference($obj)
Hook for subclassers to implement a custom method for retrieving IDs from objects.
function encode($obj)
Encodes the specified object and returns the resulting XML node.
function decode($node,  
$into =  null)
Decodes the given XML node.
function encodeCell($cell,  
$node,  
$includeChildren = true)
Encoding of cell hierarchies is built-into the core, but is a higher-level function that needs to be explicitely used by the respective object encoders (eg.
function decodeCell($node,  
$restoreStructures =  true)
Decodes cells that have been encoded using inversion, ie.
function insertIntoGraph($cell)
Inserts the given cell into its parent and terminal cells.
function setAttribute($node,
$attribute,
$value)
Sets the attribute on the specified node to value.
Cells are the elements of the graph model.
function getId()
Returns the Id of the cell as a string.
static function create($cell)
Creates the cell path for the given cell.
Codec for mxGraphModels.
- - - - - - - - \ No newline at end of file diff --git a/docs/php-api/files/io/mxCodecRegistry-php.html b/docs/php-api/files/io/mxCodecRegistry-php.html deleted file mode 100644 index 146be2765..000000000 --- a/docs/php-api/files/io/mxCodecRegistry-php.html +++ /dev/null @@ -1,57 +0,0 @@ - - -mxCodecRegistry - - - - - - - - - -

mxCodecRegistry

A class to register codecs for objects.

Summary
mxCodecRegistryA class to register codecs for objects.
Variables
codecsMaps from constructor names to codecs.
aliasesMaps from classnames to codecnames.
Functions
registerRegisters a new codec and associates the name of the template constructor in the codec with the codec object.
addAliasAdds an alias for mapping a classname to a codecname.
getCodecReturns a codec that handles objects that are constructed using the given ctor.
getInstanceForNameCreates and returns a new instance for the given class name.
getNameReturns the codec name for the given object instance.
- -

Variables

- -

codecs

public static $codecs

Maps from constructor names to codecs.

- -

aliases

public static $aliases

Maps from classnames to codecnames.

- -

Functions

- -

register

static function register($codec)

Registers a new codec and associates the name of the template constructor in the codec with the codec object.  Automatically creates an alias if the codename and the classname are not equal.

Parameters

codecmxObjectCodec to be registered.
- -

addAlias

static function addAlias($classname,
$codecname)

Adds an alias for mapping a classname to a codecname.

- -

getCodec

static function getCodec($name)

Returns a codec that handles objects that are constructed using the given ctor.

Parameters

ctorJavaScript constructor function.
- -

getInstanceForName

static function getInstanceForName($name)

Creates and returns a new instance for the given class name.

- -

getName

static function getName($obj)

Returns the codec name for the given object instance.

Parameters

objPHP object to return the codec name for.
- -
- - - - - - - - - - -
public static $codecs
Maps from constructor names to codecs.
public static $aliases
Maps from classnames to codecnames.
static function register($codec)
Registers a new codec and associates the name of the template constructor in the codec with the codec object.
static function addAlias($classname,
$codecname)
Adds an alias for mapping a classname to a codecname.
static function getCodec($name)
Returns a codec that handles objects that are constructed using the given ctor.
static function getInstanceForName($name)
Creates and returns a new instance for the given class name.
static function getName($obj)
Returns the codec name for the given object instance.
XML codec for PHP object graphs.
- - - - - - - - \ No newline at end of file diff --git a/docs/php-api/files/io/mxModelCodec-php.html b/docs/php-api/files/io/mxModelCodec-php.html deleted file mode 100644 index aa8d518bd..000000000 --- a/docs/php-api/files/io/mxModelCodec-php.html +++ /dev/null @@ -1,43 +0,0 @@ - - -mxModelCodec - - - - - - - - - -

mxModelCodec

Codec for mxGraphModels.  This class is created and registered dynamically at load time and used implicitly via mxCodec and the mxCodecRegistry.

Summary
mxModelCodecCodec for mxGraphModels.
Functions
mxObjectCodecConstructs a new codec for the specified template object.
- -

Functions

- -

mxObjectCodec

Constructs a new codec for the specified template object.  The variables in the optional exclude array are ignored by the codec.  Variables in the optional idrefs array are turned into references in the XML.  The optional mapping may be used to map from variable names to XML attributes.

Parameters

templatePrototypical instance of the object to be encoded/decoded.
excludeOptional array of fieldnames to be ignored.
idrefsOptional array of fieldnames to be converted to/from references.
mappingOptional mapping from field- to attributenames.
- -
- - - - - - - - - - -
Cells are the elements of the graph model.
XML codec for PHP object graphs.
A class to register codecs for objects.
- - - - - - - - \ No newline at end of file diff --git a/docs/php-api/files/io/mxObjectCodec-php.html b/docs/php-api/files/io/mxObjectCodec-php.html deleted file mode 100644 index c9f3f5d84..000000000 --- a/docs/php-api/files/io/mxObjectCodec-php.html +++ /dev/null @@ -1,115 +0,0 @@ - - -mxObjectCodec - - - - - - - - - -

mxObjectCodec

XML codec for PHP object graphs.

Implementation note

The passing of the argument by reference in decode, decodeNode, decodeAttributes, decodeAttribute, decodeChildren, decodeChild, beforeDecode and afterDecode is required since the object may be an array instance, which needs an explicit reference operator even in PHP 5 to be changed in-place.

Summary
mxObjectCodecXML codec for PHP object graphs.
Variables
templateHolds the template object associated with this codec.
excludeArray containing the variable names that should be ignored by the codec.
idrefsArray containing the variable names that should be turned into or converted from references.
mappingMaps from from fieldnames to XML attribute names.
reverseMaps from from XML attribute names to fieldnames.
Functions
mxObjectCodecConstructs a new codec for the specified template object.
getNameCreates a new instance of the template for this codec.
cloneTemplateCreates a new instance of the template for this codec.
getFieldNameReturns the fieldname for the given attributename.
getAttributeNameReturns the attributename for the given fieldname.
isExcludedReturns true if the given attribute is to be ignored by the codec.
isReferenceReturns true if the given fieldname is to be treated as a textual reference (ID).
encodeEncodes the specified object and returns a node representing then given object.
encodeObjectEncodes the value of each member in then given obj into the given node using encodeValue.
encodeValueConverts the given value according to the mappings and id-refs in this codec and uses writeAttribute to write the attribute into the given node.
writeAttributeWrites the given value into node using writePrimitiveAttribute or writeComplexAttribute depending on the type of the value.
writePrimitiveAttributeWrites the given value as an attribute of the given node.
writeComplexAttributeWrites the given value as a child node of the given node.
convertValueToXmlReturns the given value without applying a conversion.
convertValueFromXmlReturns the given value.
beforeEncodeHook for subclassers to pre-process the object before encoding.
afterEncodeHook for subclassers to post-process the node for the given object after encoding and return the post-processed node.
decodeParses the given node into the object or returns a new object representing the given node.
decodeNodeCalls decodeAttributes and decodeChildren for the given node.
decodeAttributesDecodes all attributes of the given node using decodeAttribute.
decodeAttributeReads the given attribute into the specified object.
decodeChildrenDecodec all children of the given node using decodeChild.
decodeChildReads the specified child into the given object.
getFieldTemplateReturns the template instance for the given field.
addObjectValueSets the decoded child node as a value of the given object.
processIncludeReturns true if the given node is an include directive and executes the include by decoding the XML document.
beforeDecodeHook for subclassers to pre-process the node for the specified object and return the node to be used for further processing by decode.
afterDecodeHook for subclassers to post-process the object after decoding.
- -

Variables

- -

template

var $template

Holds the template object associated with this codec.

- -

exclude

var $exclude

Array containing the variable names that should be ignored by the codec.

- -

idrefs

var $idrefs

Array containing the variable names that should be turned into or converted from references.  See mxCodec.getId and mxCodec.getObject.

- -

mapping

var $mapping

Maps from from fieldnames to XML attribute names.

- -

reverse

var $reverse

Maps from from XML attribute names to fieldnames.

- -

Functions

- -

mxObjectCodec

function mxObjectCodec($template,  
$exclude =  array(),
$idrefs =  array(),
$mapping =  array())

Constructs a new codec for the specified template object.  The variables in the optional exclude array are ignored by the codec.  Variables in the optional idrefs array are turned into references in the XML.  The optional mapping may be used to map from variable names to XML attributes.

Parameters

templatePrototypical instance of the object to be encoded/decoded.
excludeOptional array of fieldnames to be ignored.
idrefsOptional array of fieldnames to be converted to/from references.
mappingOptional mapping from field- to attributenames.
- -

getName

function getName()

Creates a new instance of the template for this codec.

- -

cloneTemplate

function cloneTemplate()

Creates a new instance of the template for this codec.

- -

getFieldName

function getFieldName($attributename)

Returns the fieldname for the given attributename.  Looks up the value in the reverse mapping or returns the input if there is no reverse mapping for the given name.

- -

getAttributeName

function getAttributeName($fieldname)

Returns the attributename for the given fieldname.  Looks up the value in the mapping or returns the input if there is no mapping for the given name.

- -

isExcluded

function isExcluded($obj,
$attr,
$value,
$write)

Returns true if the given attribute is to be ignored by the codec.  This implementation returns true if the given fieldname is in exclude or if the fieldname equals <mxObjectIdentity.FIELD_NAME>.

Parameters

objObject instance that contains the field.
attrFieldname of the field.
valueValue of the field.
writeBoolean indicating if the field is being encoded or decoded.  Write is true if the field is being encoded, else it is being decoded.
- -

isReference

function isReference($obj,
$attr,
$value,
$write)

Returns true if the given fieldname is to be treated as a textual reference (ID).  This implementation returns true if the given fieldname is in idrefs.

Parameters

objObject instance that contains the field.
attrFieldname of the field.
valueValue of the field.
writeBoolean indicating if the field is being encoded or decoded.  Write is true if the field is being encoded, else it is being decoded.
- -

encode

function encode($enc,
$obj)

Encodes the specified object and returns a node representing then given object.  Calls beforeEncode after creating the node and afterEncode with the resulting node after processing.

Enc is a reference to the calling encoder.  It is used to encode complex objects and create references.

This implementation encodes all variables of an object according to the following rules:

  • If the variable name is in exclude then it is ignored.
  • If the variable name is in idrefs then mxCodec.getId is used to replace the object with its ID.
  • The variable name is mapped using mapping.
  • If obj is an array and the variable name is numeric (ie. an index) then it is not encoded.
  • If the value is an object, then the codec is used to create a child node with the variable name encoded into the “as” attribute.
  • Else, if <encodeDefaults> is true or the value differs from the template value, then ...
  • ... if obj is not an array, then the value is mapped to an attribute.
  • ... else if obj is an array, the value is mapped to an add child with a value attribute or a text child node, if the value is a function.

If no ID exists for a variable in idrefs or if an object cannot be encoded, a warning is issued using mxLog.warn.

Returns the resulting XML node that represents the given object.

Parameters

encmxCodec that controls the encoding process.
objObject to be encoded.
- -

encodeObject

function encodeObject($enc,
$obj,
$node)

Encodes the value of each member in then given obj into the given node using encodeValue.

Parameters

encmxCodec that controls the encoding process.
objObject to be encoded.
nodeXML node that contains the encoded object.
- -

encodeValue

function encodeValue($enc,
$obj,
$name,
$value,
$node)

Converts the given value according to the mappings and id-refs in this codec and uses writeAttribute to write the attribute into the given node.

Parameters

encmxCodec that controls the encoding process.
objObject whose property is going to be encoded.
nameXML node that contains the encoded object.
valueValue of the property to be encoded.
nodeXML node that contains the encoded object.
- -

writeAttribute

function writeAttribute($enc,
$obj,
$attr,
$value,
$node)

Writes the given value into node using writePrimitiveAttribute or writeComplexAttribute depending on the type of the value.

- -

writePrimitiveAttribute

function writePrimitiveAttribute($enc,
$obj,
$attr,
$value,
$node)

Writes the given value as an attribute of the given node.

- -

writeComplexAttribute

function writeComplexAttribute($enc,
$obj,
$attr,
$value,
$node)

Writes the given value as a child node of the given node.

- -

convertValueToXml

function convertValueToXml($value)

Returns the given value without applying a conversion.

- -

convertValueFromXml

function convertValueFromXml($value)

Returns the given value.  In PHP there is no need to convert the boolean strings “0” and “1” to their numeric / boolean values.

- -

beforeEncode

function beforeEncode($enc,
$obj,
$node)

Hook for subclassers to pre-process the object before encoding.  This returns the input object.  The return value of this function is used in encode to perform the default encoding into the given node.

Parameters

encmxCodec that controls the encoding process.
objObject to be encoded.
nodeXML node to encode the object into.
- -

afterEncode

function afterEncode($enc,
$obj,
$node)

Hook for subclassers to post-process the node for the given object after encoding and return the post-processed node.  This implementation returns the input node.  The return value of this method is returned to the encoder from encode.

Parameters

encmxCodec that controls the encoding process.
objObject to be encoded.
nodeXML node that represents the default encoding.
- -

decode

function decode($dec,  
$node,  
&$into =  null)

Parses the given node into the object or returns a new object representing the given node.

Dec is a reference to the calling decoder.  It is used to decode complex objects and resolve references.

If a node has an id attribute then the object cache is checked for the object.  If the object is not yet in the cache then it is constructed using the constructor of template and cached in mxCodec.objects.

This implementation decodes all attributes and childs of a node according to the following rules:

  • If the variable name is in exclude or if the attribute name is “id” or “as” then it is ignored.
  • If the variable name is in idrefs then mxCodec.getObject is used to replace the reference with an object.
  • The variable name is mapped using a reverse mapping.
  • If the value has a child node, then the codec is used to create a child object with the variable name taken from the “as” attribute.
  • If the object is an array and the variable name is empty then the value or child object is appended to the array.
  • If an add child has no value or the object is not an array then the child text content is evaluated using <mxUtils.eval>.

For add nodes where the object is not an array and the variable name is defined, the default mechanism is used, allowing to override/add methods as follows:

<Object>
-  <add as="hello"><![CDATA[
-    function(arg1) {
-      alert('Hello '+arg1);
-    }
-  ]]></add>
-</Object>

If no object exists for an ID in idrefs a warning is issued using mxLog.warn.

Returns the resulting object that represents the given XML node or the object given to the method as the into parameter.

Parameters

decmxCodec that controls the decoding process.
nodeXML node to be decoded.
intoOptional objec to encode the node into.
- -

decodeNode

function decodeNode($dec,
$node,
&$obj)

Calls decodeAttributes and decodeChildren for the given node.

- -

decodeAttributes

function decodeAttributes($dec,
$node,
&$obj)

Decodes all attributes of the given node using decodeAttribute.

- -

decodeAttribute

function decodeAttribute($dec,
$attr,
&$obj)

Reads the given attribute into the specified object.

- -

decodeChildren

function decodeChildren($dec,
$node,
&$obj)

Decodec all children of the given node using decodeChild.

- -

decodeChild

function decodeChild($dec,
$child,
&$obj)

Reads the specified child into the given object.

- -

getFieldTemplate

function getFieldTemplate(&$obj,
$fieldname,
$child)

Returns the template instance for the given field.  This returns the value of the field, null if the value is an array or an empty collection if the value is a collection.  The value is then used to populate the field for a new instance.  For strongly typed languages it may be required to override this to return the correct collection instance based on the encoded child.

- -

addObjectValue

function addObjectValue(&$obj,
$fieldname,
$value,
$template)

Sets the decoded child node as a value of the given object.  If the object is a map, then the value is added with the given fieldname as a key.  If the fieldname is not empty, then setFieldValue is called or else, if the object is a collection, the value is added to the collection.  For strongly typed languages it may be required to override this with the correct code to add an entry to an object.

- -

processInclude

function processInclude($dec,
$node,
$into)

Returns true if the given node is an include directive and executes the include by decoding the XML document.  Returns false if the given node is not an include directive.

Parameters

decmxCodec that controls the encoding/decoding process.
nodeXML node to be checked.
intoOptional object to pass-thru to the codec.
- -

beforeDecode

function beforeDecode($dec,
$node,
&$obj)

Hook for subclassers to pre-process the node for the specified object and return the node to be used for further processing by decode.  The object is created based on the template in the calling method and is never null.  This implementation returns the input node.  The return value of this function is used in decode to perform the default decoding into the given object.

Parameters

decmxCodec that controls the decoding process.
nodeXML node to be decoded.
objObject to encode the node into.
- -

afterDecode

function afterDecode($dec,
$node,
&$obj)

Hook for subclassers to post-process the object after decoding.  This implementation returns the given object without any changes.  The return value of this method is returned to the decoder from decode.

Parameters

encmxCodec that controls the encoding process.
nodeXML node to be decoded.
objObject that represents the default decoding.
- -
- - - - - - - - - - -
var $template
Holds the template object associated with this codec.
var $exclude
Array containing the variable names that should be ignored by the codec.
var $idrefs
Array containing the variable names that should be turned into or converted from references.
var $mapping
Maps from from fieldnames to XML attribute names.
var $reverse
Maps from from XML attribute names to fieldnames.
function mxObjectCodec($template,  
$exclude =  array(),
$idrefs =  array(),
$mapping =  array())
Constructs a new codec for the specified template object.
function getName()
Creates a new instance of the template for this codec.
function cloneTemplate()
Creates a new instance of the template for this codec.
function getFieldName($attributename)
Returns the fieldname for the given attributename.
function getAttributeName($fieldname)
Returns the attributename for the given fieldname.
function isExcluded($obj,
$attr,
$value,
$write)
Returns true if the given attribute is to be ignored by the codec.
function isReference($obj,
$attr,
$value,
$write)
Returns true if the given fieldname is to be treated as a textual reference (ID).
function encode($enc,
$obj)
Encodes the specified object and returns a node representing then given object.
function encodeObject($enc,
$obj,
$node)
Encodes the value of each member in then given obj into the given node using encodeValue.
function encodeValue($enc,
$obj,
$name,
$value,
$node)
Converts the given value according to the mappings and id-refs in this codec and uses writeAttribute to write the attribute into the given node.
function writeAttribute($enc,
$obj,
$attr,
$value,
$node)
Writes the given value into node using writePrimitiveAttribute or writeComplexAttribute depending on the type of the value.
function writePrimitiveAttribute($enc,
$obj,
$attr,
$value,
$node)
Writes the given value as an attribute of the given node.
function writeComplexAttribute($enc,
$obj,
$attr,
$value,
$node)
Writes the given value as a child node of the given node.
function convertValueToXml($value)
Returns the given value without applying a conversion.
function convertValueFromXml($value)
Returns the given value.
function beforeEncode($enc,
$obj,
$node)
Hook for subclassers to pre-process the object before encoding.
function afterEncode($enc,
$obj,
$node)
Hook for subclassers to post-process the node for the given object after encoding and return the post-processed node.
function decode($dec,  
$node,  
&$into =  null)
Parses the given node into the object or returns a new object representing the given node.
function decodeNode($dec,
$node,
&$obj)
Calls decodeAttributes and decodeChildren for the given node.
function decodeAttributes($dec,
$node,
&$obj)
Decodes all attributes of the given node using decodeAttribute.
function decodeChildren($dec,
$node,
&$obj)
Decodec all children of the given node using decodeChild.
function decodeAttribute($dec,
$attr,
&$obj)
Reads the given attribute into the specified object.
function decodeChild($dec,
$child,
&$obj)
Reads the specified child into the given object.
function getFieldTemplate(&$obj,
$fieldname,
$child)
Returns the template instance for the given field.
function addObjectValue(&$obj,
$fieldname,
$value,
$template)
Sets the decoded child node as a value of the given object.
function processInclude($dec,
$node,
$into)
Returns true if the given node is an include directive and executes the include by decoding the XML document.
function beforeDecode($dec,
$node,
&$obj)
Hook for subclassers to pre-process the node for the specified object and return the node to be used for further processing by decode.
function afterDecode($dec,
$node,
&$obj)
Hook for subclassers to post-process the object after decoding.
function getId($obj)
Returns the ID of the specified object.
function getObject($id)
Returns the decoded object for the element with the specified ID in document.
static function warn($text)
Logs a warn trace.
XML codec for PHP object graphs.
var $objects
Maps from IDs to objects.
- - - - - - - - \ No newline at end of file diff --git a/docs/php-api/files/io/mxStylesheetCodec-php.html b/docs/php-api/files/io/mxStylesheetCodec-php.html deleted file mode 100644 index 4005b46e1..000000000 --- a/docs/php-api/files/io/mxStylesheetCodec-php.html +++ /dev/null @@ -1,43 +0,0 @@ - - -mxStylesheetCodec - - - - - - - - - -

mxStylesheetCodec

Codec for mxStylesheets.  This class is created and registered dynamically at load time and used implicitely via mxCodec and the mxCodecRegistry.

Summary
mxStylesheetCodecCodec for mxStylesheets.
Functions
mxObjectCodecConstructs a new codec for the specified template object.
- -

Functions

- -

mxObjectCodec

Constructs a new codec for the specified template object.  The variables in the optional exclude array are ignored by the codec.  Variables in the optional idrefs array are turned into references in the XML.  The optional mapping may be used to map from variable names to XML attributes.

Parameters

templatePrototypical instance of the object to be encoded/decoded.
excludeOptional array of fieldnames to be ignored.
idrefsOptional array of fieldnames to be converted to/from references.
mappingOptional mapping from field- to attributenames.
- -
- - - - - - - - - - -
Defines the appearance of the cells in a graph.
XML codec for PHP object graphs.
A class to register codecs for objects.
- - - - - - - - \ No newline at end of file diff --git a/docs/php-api/files/model/mxCell-php.html b/docs/php-api/files/model/mxCell-php.html deleted file mode 100644 index 6750f4621..000000000 --- a/docs/php-api/files/model/mxCell-php.html +++ /dev/null @@ -1,149 +0,0 @@ - - -mxCell - - - - - - - - - -

mxCell

Cells are the elements of the graph model.  They represent the state of the groups, vertices and edges in a graph.

Summary
mxCellCells are the elements of the graph model.
Variables
idHolds the Id.
valueHolds the user object.
geometryHolds the mxGeometry.
styleHolds the style as a string of the form [(stylename|key=value);].
vertexSpecifies whether the cell is a vertex.
edgeSpecifies whether the cell is an edge.
connectableSpecifies whether the cell is connectable.
visibleSpecifies whether the cell is visible.
collapsedSpecifies whether the cell is collapsed.
parentReference to the parent cell.
sourceReference to the source terminal.
targetReference to the target terminal.
childrenHolds the child cells.
edgesHolds the edges.
Functions
mxCellConstructs a new cell to be used in a graph model.
getIdReturns the Id of the cell as a string.
setIdSets the Id of the cell to the given string.
getValueReturns the user object of the cell.
setValueSets the user object of the cell.
getGeometryReturns the mxGeometry that describes the geometry.
setGeometrySets the mxGeometry to be used as the geometry.
getStyleReturns a string that describes the style.
setStyleSets the string to be used as the style.
isVertexReturns true if the cell is a vertex.
setVertexSpecifies if the cell is a vertex.
isEdgeReturns true if the cell is an edge.
setEdgeSpecifies if the cell is an edge.
isConnectableReturns true if the cell is connectable.
setConnectableSets the connectable state.
isVisibleReturns true if the cell is visibile.
setVisibleSpecifies if the cell is visible.
isCollapsedReturns true if the cell is collapsed.
setCollapsedSets the collapsed state.
getParentReturns the cell’s parent.
setParentSets the parent cell.
getTerminalReturns the source or target terminal.
setTerminalSets the source or target terminal and returns the new terminal.
getChildCountReturns the number of child cells.
getIndexReturns the index of the specified child in the child array.
getChildAtReturns the child at the specified index.
insertInserts the specified child into the child array at the specified index and updates the parent reference of the child.
removeRemoves the child at the specified index from the child array and returns the child that was removed.
removeFromParentRemoves the cell from its parent.
getEdgeCountReturns the number of edges in the edge array.
getEdgeIndexReturns the index of the specified edge in edges.
getEdgeAtReturns the edge at the specified index in edges.
insertEdgeInserts the specified edge into the edge array and returns the edge.
removeEdgeRemoves the specified edge from the edge array and returns the edge.
removeFromTerminalRemoves the edge from its source or target terminal.
getAttributeReturns the specified attribute from the user object if it is an XML node.
setAttributeSets the specified attribute on the user object if it is an XML node.
copyReturns a clone of the cell.
copyValueReturns a clone of the cell’s user object.
- -

Variables

- -

id

var $id

Holds the Id.  Default is null.

- -

value

var $value

Holds the user object.  Default is null.

- -

geometry

var $geometry

Holds the mxGeometry.  Default is null.

- -

style

var $style

Holds the style as a string of the form [(stylename|key=value);].  Default is null.

- -

vertex

var $vertex

Specifies whether the cell is a vertex.  Default is false.

- -

edge

var $edge

Specifies whether the cell is an edge.  Default is false.

- -

connectable

var $connectable

Specifies whether the cell is connectable.  Default is true.

- -

visible

var $visible

Specifies whether the cell is visible.  Default is true.

- -

collapsed

var $collapsed

Specifies whether the cell is collapsed.  Default is false.

- -

parent

var $parent

Reference to the parent cell.

- -

source

var $source

Reference to the source terminal.

- -

target

var $target

Reference to the target terminal.

- -

children

var $children

Holds the child cells.

- -

edges

var $edges

Holds the edges.

- -

Functions

- -

mxCell

function mxCell($value =  null,
$geometry =  null,
$style =  null)

Constructs a new cell to be used in a graph model.  This method invokes <onInit> upon completion.

Parameters

valueOptional object that represents the cell value.
geometryOptional mxGeometry that specifies the geometry.
styleOptional formatted string that defines the style.
- -

getId

function getId()

Returns the Id of the cell as a string.

- -

setId

function setId($id)

Sets the Id of the cell to the given string.

- -

getValue

function getValue()

Returns the user object of the cell.  The user object is stored in value.

- -

setValue

function setValue($value)

Sets the user object of the cell.  The user object is stored in value.

- -

getGeometry

function getGeometry()

Returns the mxGeometry that describes the geometry.

- -

setGeometry

function setGeometry($geometry)

Sets the mxGeometry to be used as the geometry.

- -

getStyle

function getStyle()

Returns a string that describes the style.

- -

setStyle

function setStyle($style)

Sets the string to be used as the style.

- -

isVertex

function isVertex()

Returns true if the cell is a vertex.

- -

setVertex

function setVertex($vertex)

Specifies if the cell is a vertex.  This should only be assigned at construction of the cell and not be changed during its lifecycle.

Parameters

vertexBoolean that specifies if the cell is a vertex.
- -

isEdge

function isEdge()

Returns true if the cell is an edge.

- -

setEdge

function setEdge($edge)

Specifies if the cell is an edge.  This should only be assigned at construction of the cell and not be changed during its lifecycle.

Parameters

edgeBoolean that specifies if the cell is an edge.
- -

isConnectable

function isConnectable()

Returns true if the cell is connectable.

- -

setConnectable

function setConnectable($connectable)

Sets the connectable state.

Parameters

connectableBoolean that specifies the new connectable state.
- -

isVisible

function isVisible()

Returns true if the cell is visibile.

- -

setVisible

function setVisible($visible)

Specifies if the cell is visible.

Parameters

visibleBoolean that specifies the new visible state.
- -

isCollapsed

function isCollapsed()

Returns true if the cell is collapsed.

- -

setCollapsed

function setCollapsed($collapsed)

Sets the collapsed state.

Parameters

collapsedBoolean that specifies the new collapsed state.
- -

getParent

function getParent()

Returns the cell’s parent.

- -

setParent

function setParent($parent)

Sets the parent cell.

Parameters

parentmxCell that represents the new parent.
- -

getTerminal

function getTerminal($source)

Returns the source or target terminal.

Parameters

sourceBoolean that specifies if the source terminal should be returned.
- -

setTerminal

function setTerminal($terminal,
$source)

Sets the source or target terminal and returns the new terminal.

Parameters

terminalmxCell that represents the new source or target terminal.
sourceBoolean that specifies if the source or target terminal should be set.
- -

getChildCount

function getChildCount()

Returns the number of child cells.

- -

getIndex

function getIndex($child)

Returns the index of the specified child in the child array.

Parameters

childChild whose index should be returned.
- -

getChildAt

function getChildAt($index)

Returns the child at the specified index.

Parameters

indexInteger that specifies the child to be returned.
- -

insert

function insert($child,  
$index =  null)

Inserts the specified child into the child array at the specified index and updates the parent reference of the child.  If not childIndex is specified then the child is appended to the child array.  Returns the inserted child.

Parameters

childmxCell to be inserted or appended to the child array.
indexOptional integer that specifies the index at which the child should be inserted into the child array.
- -

remove

function remove($index)

Removes the child at the specified index from the child array and returns the child that was removed.  Will remove the parent reference of the child.

Parameters

indexInteger that specifies the index of the child to be removed.
- -

removeFromParent

function removeFromParent()

Removes the cell from its parent.

- -

getEdgeCount

function getEdgeCount()

Returns the number of edges in the edge array.

- -

getEdgeIndex

function getEdgeIndex($edge)

Returns the index of the specified edge in edges.

Parameters

edgemxCell whose index in edges should be returned.
- -

getEdgeAt

function getEdgeAt($index)

Returns the edge at the specified index in edges.

Parameters

indexInteger that specifies the index of the edge to be returned.
- -

insertEdge

function insertEdge($edge,
$outgoing)

Inserts the specified edge into the edge array and returns the edge.  Will update the respective terminal reference of the edge.

Parameters

edgemxCell to be inserted into the edge array.
outgoingBoolean that specifies if the edge is outgoing.
- -

removeEdge

function removeEdge($edge,
$outgoing)

Removes the specified edge from the edge array and returns the edge.  Will remove the respective terminal reference from the edge.

Parameters

edgemxCell to be removed from the edge array.
outgoingBoolean that specifies if the edge is outgoing.
- -

removeFromTerminal

function removeFromTerminal($source)

Removes the edge from its source or target terminal.

Parameters

sourceBoolean that specifies if the edge should be removed from its source or target terminal.
- -

getAttribute

function getAttribute($key,  
$defaultValue =  null)

Returns the specified attribute from the user object if it is an XML node.

- -

setAttribute

function setAttribute($key,
$value)

Sets the specified attribute on the user object if it is an XML node.

- -

copy

function copy()

Returns a clone of the cell.  Uses <cloneValue> to clone the user object.

- -

copyValue

function copyValue()

Returns a clone of the cell’s user object.

- -
- - - - - - - - - - -
var $id
Holds the Id.
var $value
Holds the user object.
var $geometry
Holds the mxGeometry.
Represents the geometry of a cell.
var $style
Holds the style as a string of the form [(stylename|key=value);].
var $vertex
Specifies whether the cell is a vertex.
var $edge
Specifies whether the cell is an edge.
var $connectable
Specifies whether the cell is connectable.
var $visible
Specifies whether the cell is visible.
var $collapsed
Specifies whether the cell is collapsed.
var $parent
Reference to the parent cell.
var $source
Reference to the source terminal.
var $target
Reference to the target terminal.
var $children
Holds the child cells.
var $edges
Holds the edges.
function mxCell($value =  null,
$geometry =  null,
$style =  null)
Constructs a new cell to be used in a graph model.
function getId()
Returns the Id of the cell as a string.
function setId($id)
Sets the Id of the cell to the given string.
function getValue()
Returns the user object of the cell.
function setValue($value)
Sets the user object of the cell.
function getGeometry()
Returns the mxGeometry that describes the geometry.
function setGeometry($geometry)
Sets the mxGeometry to be used as the geometry.
function getStyle()
Returns a string that describes the style.
function setStyle($style)
Sets the string to be used as the style.
function isVertex()
Returns true if the cell is a vertex.
function setVertex($vertex)
Specifies if the cell is a vertex.
function isEdge()
Returns true if the cell is an edge.
function setEdge($edge)
Specifies if the cell is an edge.
function isConnectable()
Returns true if the cell is connectable.
function setConnectable($connectable)
Sets the connectable state.
function isVisible()
Returns true if the cell is visibile.
function setVisible($visible)
Specifies if the cell is visible.
function isCollapsed()
Returns true if the cell is collapsed.
function setCollapsed($collapsed)
Sets the collapsed state.
function getParent()
Returns the cell’s parent.
function setParent($parent)
Sets the parent cell.
function getTerminal($source)
Returns the source or target terminal.
function setTerminal($terminal,
$source)
Sets the source or target terminal and returns the new terminal.
function getChildCount()
Returns the number of child cells.
function getIndex($child)
Returns the index of the specified child in the child array.
function getChildAt($index)
Returns the child at the specified index.
function insert($child,  
$index =  null)
Inserts the specified child into the child array at the specified index and updates the parent reference of the child.
function remove($index)
Removes the child at the specified index from the child array and returns the child that was removed.
function removeFromParent()
Removes the cell from its parent.
function getEdgeCount()
Returns the number of edges in the edge array.
function getEdgeIndex($edge)
Returns the index of the specified edge in edges.
function getEdgeAt($index)
Returns the edge at the specified index in edges.
function insertEdge($edge,
$outgoing)
Inserts the specified edge into the edge array and returns the edge.
function removeEdge($edge,
$outgoing)
Removes the specified edge from the edge array and returns the edge.
function removeFromTerminal($source)
Removes the edge from its source or target terminal.
function getAttribute($key,  
$defaultValue =  null)
Returns the specified attribute from the user object if it is an XML node.
function setAttribute($key,
$value)
Sets the specified attribute on the user object if it is an XML node.
function copy()
Returns a clone of the cell.
function copyValue()
Returns a clone of the cell’s user object.
- - - - - - - - \ No newline at end of file diff --git a/docs/php-api/files/model/mxCellPath-php.html b/docs/php-api/files/model/mxCellPath-php.html deleted file mode 100644 index 5019ee0f6..000000000 --- a/docs/php-api/files/model/mxCellPath-php.html +++ /dev/null @@ -1,51 +0,0 @@ - - -mxCellPath - - - - - - - - - -

mxCellPath

Implements a mechanism for temporary cell Ids.

Summary
mxCellPathImplements a mechanism for temporary cell Ids.
Variables
codecsMaps from constructor names to codecs.
Functions
createCreates the cell path for the given cell.
getParentPathReturns the cell for the specified cell path using the given root as the root of the path.
resolveReturns the cell for the specified cell path using the given root as the root of the path.
- -

Variables

- -

codecs

Maps from constructor names to codecs.

- -

Functions

- -

create

static function create($cell)

Creates the cell path for the given cell.  The cell path is a concatenation of the indices of all ancestors on the (finite) path to the root, eg.  “0.0.0.1”.

Parameters

cellCell whose path should be returned.
- -

getParentPath

static function getParentPath($path)

Returns the cell for the specified cell path using the given root as the root of the path.

Parameters

pathPath whose parent path should be returned.
- -

resolve

static function resolve($root,
$path)

Returns the cell for the specified cell path using the given root as the root of the path.

Parameters

rootRoot cell of the path to be resolved.
pathString that defines the path.
- -
- - - - - - - - - - -
static function create($cell)
Creates the cell path for the given cell.
static function getParentPath($path)
Returns the cell for the specified cell path using the given root as the root of the path.
static function resolve($root,
$path)
Returns the cell for the specified cell path using the given root as the root of the path.
- - - - - - - - \ No newline at end of file diff --git a/docs/php-api/files/model/mxGeometry-php.html b/docs/php-api/files/model/mxGeometry-php.html deleted file mode 100644 index 49893cd72..000000000 --- a/docs/php-api/files/model/mxGeometry-php.html +++ /dev/null @@ -1,67 +0,0 @@ - - -mxGeometry - - - - - - - - - -

mxGeometry

Represents the geometry of a cell.  For vertices, the geometry consists of the x- and y-location, as well as the width and height.  For edges, the edge either defines the source- and target-terminal, or the geometry defines the respective terminal points.

Summary
mxGeometryRepresents the geometry of a cell.
Variables
TRANSLATE_CONTROL_POINTSGlobal switch to translate the points in translate.
alternateBoundsStores alternate values for x, y, width and height in a rectangle.
sourcePointDefines the source point of the edge.
targetPointDefines the target point of the edge.
pointsArray of mxPoints which specifies the control points along the edge.
offsetHolds the offset of the label for edges.
relativeSpecifies if the coordinates in the geometry are to be interpreted as relative coordinates.
Functions
mxGeometryConstructs a new object to describe the size and location of a vertex or the control points of an edge.
getTerminalPointReturns the mxPoint representing the source or target point of this edge.
setTerminalPointSets the sourcePoint or targetPoint to the given mxPoint and returns the new point.
translateTranslates the geometry by the specified amount.
copyReturns a copy of this mxGeometry.
- -

Variables

- -

TRANSLATE_CONTROL_POINTS

public static $TRANSLATE_CONTROL_POINTS

Global switch to translate the points in translate.  Default is true.

- -

alternateBounds

var $alternateBounds

Stores alternate values for x, y, width and height in a rectangle.  Default is null.

- -

sourcePoint

var $sourcePoint

Defines the source point of the edge.  This is used if the corresponding edge does not have a source vertex.  Otherwise it is ignored.  Default is null.

- -

targetPoint

var $targetPoint

Defines the target point of the edge.  This is used if the corresponding edge does not have a target vertex.  Otherwise it is ignored.  Default is null.

- -

points

var $points

Array of mxPoints which specifies the control points along the edge.  These points are the intermediate points on the edge, for the endpoints use targetPoint and sourcePoint or set the terminals of the edge to a non-null value.  Default is null.

- -

offset

var $offset

Holds the offset of the label for edges.  This is the absolute vector between the center of the edge and the top, left point of the label.  Default is null.

- -

relative

var $relative

Specifies if the coordinates in the geometry are to be interpreted as relative coordinates.  Default is false.  This is used to mark a geometry with an x- and y-coordinate that is used to describe an edge label position.

- -

Functions

- -

mxGeometry

function mxGeometry($x = 0,
$y = 0,
$width = 0,
$height = 0)

Constructs a new object to describe the size and location of a vertex or the control points of an edge.

- -

getTerminalPoint

function getTerminalPoint($isSource)

Returns the mxPoint representing the source or target point of this edge.  This is only used if the edge has no source or target vertex.

Parameters

isSourceBoolean that specifies if the source or target point should be returned.
- -

setTerminalPoint

function setTerminalPoint($point,
$isSource)

Sets the sourcePoint or targetPoint to the given mxPoint and returns the new point.

Parameters

pointPoint to be used as the new source or target point.
isSourceBoolean that specifies if the source or target point should be set.
- -

translate

function translate($dx,
$dy)

Translates the geometry by the specified amount.  That is, <x> and <y> of the geometry, the sourcePoint, targetPoint and all elements of points are translated by the given amount.  <x> and <y> are only translated if relative is false.  If TRANSLATE_CONTROL_POINTS is false, then points are not modified by this function.

Parameters

dxInteger that specifies the x-coordinate of the translation.
dyInteger that specifies the y-coordinate of the translation.
- -

copy

function copy()

Returns a copy of this mxGeometry.

- -
- - - - - - - - - - -
public static $TRANSLATE_CONTROL_POINTS
Global switch to translate the points in translate.
var $alternateBounds
Stores alternate values for x, y, width and height in a rectangle.
var $sourcePoint
Defines the source point of the edge.
var $targetPoint
Defines the target point of the edge.
var $points
Array of mxPoints which specifies the control points along the edge.
Implements a 2-dimensional point with double precision coordinates.
var $offset
Holds the offset of the label for edges.
var $relative
Specifies if the coordinates in the geometry are to be interpreted as relative coordinates.
function mxGeometry($x = 0,
$y = 0,
$width = 0,
$height = 0)
Constructs a new object to describe the size and location of a vertex or the control points of an edge.
function getTerminalPoint($isSource)
Returns the mxPoint representing the source or target point of this edge.
function setTerminalPoint($point,
$isSource)
Sets the sourcePoint or targetPoint to the given mxPoint and returns the new point.
function translate($dx,
$dy)
Translates the geometry by the specified amount.
function copy()
Returns a copy of this mxGeometry.
- - - - - - - - \ No newline at end of file diff --git a/docs/php-api/files/model/mxGraphModel-php.html b/docs/php-api/files/model/mxGraphModel-php.html deleted file mode 100644 index e87c4aaa6..000000000 --- a/docs/php-api/files/model/mxGraphModel-php.html +++ /dev/null @@ -1,155 +0,0 @@ - - -mxGraphModel - - - - - - - - - -

mxGraphModel

Cells are the elements of the graph model.  They represent the state of the groups, vertices and edges in a graph.

Fires a graphModelChanged event after each group of changes.

Summary
mxGraphModelCells are the elements of the graph model.
Variables
rootHolds the root cell, which in turn contains the cells that represent the layers of the diagram as child cells.
cellsMaps from Ids to cells.
maintainEdgeParentSpecifies if edges should automatically be moved into the nearest common ancestor of their terminals.
createIdsSpecifies if the model should automatically create Ids for new cells.
nextIdSpecifies the next Id to be created.
updateLevelCounter for the depth of nested transactions.
Functions
mxGraphModelConstructs a new graph model using the specified root cell.
clearSets a new root using createRoot.
createRootCreates a new root cell with a default layer (child 0).
getCellsReturns the internal lookup table that is used to map from Ids to cells.
setRoot
getRootReturns the root of the model.
setRootSets the root of the model using <mxRootChange> and adds the change to the current transaction.
cloneCellReturns a deep clone of the given mxCell (including the children) which is created using cloneCells.
cloneCellsReturns an array of clones for the given array of mxCells.
cloneCellImplInner helper method for cloning cells recursively.
cellClonedHook for cloning the cell.
restoreCloneInner helper method for restoring the connections in a network of cloned cells.
isAncestorReturns true if the given parent is an ancestor of the given child.
containsReturns true if the model contains the given mxCell.
getParentReturns the parent of the given cell.
addAdds the specified child to the parent at the given index using <mxChildChange> and adds the change to the current transaction.
cellAddedInner callback to update cells when a cell has been added.
createIdHook method to create an Id for the specified cell.
updateEdgeParentsUpdates the parent for all edges that are connected to cell or one of its descendants using updateEdgeParent.
updateEdgeParentInner callback to update the parent of the specified mxCell to the nearest-common-ancestor of its two terminals.
getOriginReturns the absolute, cummulated origin for the children inside the given parent as an mxPoint.
getNearestCommonAncestorReturns the nearest common ancestor for the specified cells.
removeRemoves the specified cell from the model using <mxChildChange> and adds the change to the current transaction.
cellRemovedInner callback to update cells when a cell has been removed.
getChildCountReturns the number of children in the given cell.
getChildAtReturns the child of the given mxCell at the given index.
getTerminalReturns the source or target mxCell of the given edge depending on the value of the boolean parameter.
setTerminalSets the source or target terminal of the given mxCell using <mxTerminalChange> and adds the change to the current transaction.
setTerminalsSets the source and target mxCell of the given mxCell in a single transaction using setTerminal for each end of the edge.
getEdgeCountReturns the number of distinct edges connected to the given cell.
getEdgeAtReturns the edge of cell at the given index.
getEdgesReturns all distinct edges connected to this cell as an array of mxCells.
isVertexReturns true if the given cell is a vertex.
isEdgeReturns true if the given cell is an edge.
isConnectableReturns true if the given mxCell is connectable.
getValueReturns the user object of the given mxCell using mxCell.getValue.
setValueSets the user object of then given mxCell using <mxValueChange> and adds the change to the current transaction.
getGeometryReturns the mxGeometry of the given mxCell.
setGeometrySets the mxGeometry of the given mxCell.
getStyleReturns the style of the given mxCell.
setStyleSets the style of the given mxCell using <mxStyleChange> and adds the change to the current transaction.
isCollapsedReturns true if the given mxCell is collapsed.
setCollapsedSets the collapsed state of the given mxCell using <mxCollapseChange> and adds the change to the current transaction.
isVisibleReturns true if the given mxCell is visible.
setVisibleSets the visible state of the given mxCell using <mxVisibleChange> and adds the change to the current transaction.
mergeChildrenMerges the children of the given cell into the given target cell inside this model.
mergeChildrenImplClones the children of the source cell into the given target cell in this model and adds an entry to the mapping that maps from the source cell to the target cell with the same id or the clone of the source cell that was inserted into this model.
beginUpdateIncrements the updateLevel by one.
endUpdateDecrements the updateLevel by one and fires a notification event if the updateLevel reaches 0.
getDirectedEdgeCountReturns the number of incoming or outgoing edges, ignoring the given edge.
- -

Variables

- -

root

var $root

Holds the root cell, which in turn contains the cells that represent the layers of the diagram as child cells.  That is, the actual elements of the diagram are supposed to live in the third generation of cells and below.

- -

cells

var $cells

Maps from Ids to cells.

- -

maintainEdgeParent

var $maintainEdgeParent

Specifies if edges should automatically be moved into the nearest common ancestor of their terminals.  Default is true.

- -

createIds

var $createIds

Specifies if the model should automatically create Ids for new cells.  Default is true.

- -

nextId

var $nextId

Specifies the next Id to be created.  Default is 0.

- -

updateLevel

var $updateLevel

Counter for the depth of nested transactions.  Each call to beginUpdate will increment this number and each call to endUpdate will decrement it.  When the counter reaches 0, the transaction is closed and the respective events are fired.  Initial value is 0.

- -

Functions

- -

mxGraphModel

function mxGraphModel($root =  null)

Constructs a new graph model using the specified root cell.

- -

clear

function clear()

Sets a new root using createRoot.

- -

createRoot

function createRoot()

Creates a new root cell with a default layer (child 0).

- -

getCells

function getCells()

Returns the internal lookup table that is used to map from Ids to cells.

- -

setRoot

- -

getRoot

function getRoot()

Returns the root of the model.

- -

setRoot

function setRoot($root)

Sets the root of the model using <mxRootChange> and adds the change to the current transaction.  This resets all datastructures in the model and is the preferred way of clearing an existing model.  Returns the new root.

Parameters

rootmxCell that specifies the new root.
- -

cloneCell

function cloneCell($cell)

Returns a deep clone of the given mxCell (including the children) which is created using cloneCells.

Parameters

cellmxCell to be cloned.
- -

cloneCells

function cloneCells($cells,  
$includeChildren = true)

Returns an array of clones for the given array of mxCells.  Depending on the value of includeChildren, a deep clone is created for each cell.  Connections are restored based if the corresponding cell is contained in the passed in array.

Parameters

cellsArray of mxCell to be cloned.
includeChildrenBoolean indicating if the cells should be cloned with all descendants.
- -

cloneCellImpl

function cloneCellImpl($cell,
$mapping,
$includeChildren)

Inner helper method for cloning cells recursively.

- -

cellCloned

function cellCloned($cell)

Hook for cloning the cell.  This returns cell->copy() or any possible exceptions.

- -

restoreClone

function restoreClone($clne,
$cell,
$mapping)

Inner helper method for restoring the connections in a network of cloned cells.

- -

isAncestor

function isAncestor($parent,
$child)

Returns true if the given parent is an ancestor of the given child.

Parameters

parentmxCell that specifies the parent.
childmxCell that specifies the child.
- -

contains

function contains($cell)

Returns true if the model contains the given mxCell.

Parameters

cellmxCell that specifies the cell.
- -

getParent

function getParent($cell)

Returns the parent of the given cell.

Parameters

cellmxCell whose parent should be returned.
- -

add

function add($parent,  
$child,  
$index =  null)

Adds the specified child to the parent at the given index using <mxChildChange> and adds the change to the current transaction.  If no index is specified then the child is appended to the parent’s array of children.  Returns the inserted child.

Parameters

parentmxCell that specifies the parent to contain the child.
childmxCell that specifies the child to be inserted.
indexOptional integer that specifies the index of the child.
- -

cellAdded

function cellAdded($cell)

Inner callback to update cells when a cell has been added.  This implementation resolves collisions by creating new Ids.

Parameters

cellmxCell that specifies the cell that has been added.
- -

createId

function createId($cell)

Hook method to create an Id for the specified cell.  This implementation increments nextId.

Parameters

cellmxCell to create the Id for.
- -

updateEdgeParents

function updateEdgeParents($cell,  
$root =  null)

Updates the parent for all edges that are connected to cell or one of its descendants using updateEdgeParent.

- -

updateEdgeParent

function updateEdgeParent($edge,
$root)

Inner callback to update the parent of the specified mxCell to the nearest-common-ancestor of its two terminals.

Parameters

edgemxCell that specifies the edge.
rootmxCell that represents the current root of the model.
- -

getOrigin

function getOrigin($cell)

Returns the absolute, cummulated origin for the children inside the given parent as an mxPoint.

- -

getNearestCommonAncestor

function getNearestCommonAncestor($cell1,
$cell2)

Returns the nearest common ancestor for the specified cells.

Parameters

cell1mxCell that specifies the first cell in the tree.
cell2mxCell that specifies the second cell in the tree.
- -

remove

function remove($cell)

Removes the specified cell from the model using <mxChildChange> and adds the change to the current transaction.  This operation will remove the cell and all of its children from the model.  Returns the removed cell.

Parameters

cellmxCell that should be removed.
- -

cellRemoved

function cellRemoved($cell)

Inner callback to update cells when a cell has been removed.

Parameters

cellmxCell that specifies the cell that has been removed.
- -

getChildCount

function getChildCount($cell)

Returns the number of children in the given cell.

Parameters

cellmxCell whose number of children should be returned.
- -

getChildAt

function getChildAt($cell,
$index)

Returns the child of the given mxCell at the given index.

Parameters

cellmxCell that represents the parent.
indexInteger that specifies the index of the child to be returned.
- -

getTerminal

function getTerminal($edge,
$cource)

Returns the source or target mxCell of the given edge depending on the value of the boolean parameter.

Parameters

edgemxCell that specifies the edge.
courceBoolean indicating which end of the edge should be returned.
- -

setTerminal

function setTerminal($edge,
$terminal,
$source)

Sets the source or target terminal of the given mxCell using <mxTerminalChange> and adds the change to the current transaction.  This implementation updates the parent of the edge using updateEdgeParent if required.

Parameters

edgemxCell that specifies the edge.
terminalmxCell that specifies the new terminal.
isSourceBoolean indicating if the terminal is the new source or target terminal of the edge.
- -

setTerminals

function setTerminals($edge,
$source,
$target)

Sets the source and target mxCell of the given mxCell in a single transaction using setTerminal for each end of the edge.

Parameters

edgemxCell that specifies the edge.
sourcemxCell that specifies the new source terminal.
targetmxCell that specifies the new target terminal.
- -

getEdgeCount

function getEdgeCount($cell)

Returns the number of distinct edges connected to the given cell.

Parameters

cellmxCell that represents the vertex.
- -

getEdgeAt

function getEdgeAt($cell,
$index)

Returns the edge of cell at the given index.

Parameters

cellmxCell that specifies the vertex.
indexInteger that specifies the index of the edge to return.
- -

getEdges

function getEdges($cell)

Returns all distinct edges connected to this cell as an array of mxCells.  The return value should be only be read.

Parameters

cellmxCell that specifies the cell.
- -

isVertex

function isVertex($cell)

Returns true if the given cell is a vertex.

Parameters

cellmxCell that represents the possible vertex.
- -

isEdge

function isEdge($cell)

Returns true if the given cell is an edge.

Parameters

cellmxCell that represents the possible edge.
- -

isConnectable

function isConnectable($cell)

Returns true if the given mxCell is connectable.  If <edgesConnectable> is false, then this function returns false for all edges else it returns the return value of mxCell.isConnectable.

Parameters

cellmxCell whose connectable state should be returned.
- -

getValue

function getValue($cell)

Returns the user object of the given mxCell using mxCell.getValue.

Parameters

cellmxCell whose user object should be returned.
- -

setValue

function setValue($cell,
$value)

Sets the user object of then given mxCell using <mxValueChange> and adds the change to the current transaction.

Parameters

cellmxCell whose user object should be changed.
valueObject that defines the new user object.
- -

getGeometry

function getGeometry($cell)

Returns the mxGeometry of the given mxCell.

Parameters

cellmxCell whose geometry should be returned.
- -

setGeometry

function setGeometry($cell,
$geometry)

Sets the mxGeometry of the given mxCell.  The actual update of the cell is carried out in <geometryForCellChanged>.  The <mxGeometryChange> action is used to encapsulate the change.

Parameters

cellmxCell whose geometry should be changed.
geometrymxGeometry that defines the new geometry.
- -

getStyle

function getStyle($cell)

Returns the style of the given mxCell.

Parameters

cellmxCell whose style should be returned.
- -

setStyle

function setStyle($cell,
$style)

Sets the style of the given mxCell using <mxStyleChange> and adds the change to the current transaction.

Parameters

cellmxCell whose style should be changed.
styleString of the form stylename[;key=value] to specify the new cell style.
- -

isCollapsed

function isCollapsed($cell)

Returns true if the given mxCell is collapsed.

Parameters

cellmxCell whose collapsed state should be returned.
- -

setCollapsed

function setCollapsed($cell,
$isCollapsed)

Sets the collapsed state of the given mxCell using <mxCollapseChange> and adds the change to the current transaction.

Parameters

cellmxCell whose collapsed state should be changed.
collapsedBoolean that specifies the new collpased state.
- -

isVisible

function isVisible($cell)

Returns true if the given mxCell is visible.

Parameters

cellmxCell whose visible state should be returned.
- -

setVisible

function setVisible($cell,
$visible)

Sets the visible state of the given mxCell using <mxVisibleChange> and adds the change to the current transaction.

Parameters

cellmxCell whose visible state should be changed.
visibleBoolean that specifies the new visible state.
- -

mergeChildren

function mergeChildren($from,  
$to,  
$cloneAllEdges =  true)

Merges the children of the given cell into the given target cell inside this model.  All cells are cloned unless there is a corresponding cell in the model with the same id, in which case the source cell is ignored and all edges are connected to the corresponding cell in this model.  Edges are considered to have no identity and are always cloned unless the cloneAllEdges flag is set to false, in which case edges with the same id in the target model are reconnected to reflect the terminals of the source edges.

- -

mergeChildrenImpl

function mergeChildrenImpl($from,
$to,
$cloneAllEdges,
$mapping)

Clones the children of the source cell into the given target cell in this model and adds an entry to the mapping that maps from the source cell to the target cell with the same id or the clone of the source cell that was inserted into this model.

- -

beginUpdate

function beginUpdate()

Increments the updateLevel by one.  The event notification is queued until updateLevel reaches 0 by use of endUpdate.

- -

endUpdate

function endUpdate()

Decrements the updateLevel by one and fires a notification event if the updateLevel reaches 0.  This function indirectly fires a notification.

- -

getDirectedEdgeCount

function getDirectedEdgeCount($cell,  
$outgoing,  
$ignoredEdge =  null)

Returns the number of incoming or outgoing edges, ignoring the given edge.

Parameters

cellmxCell whose edge count should be returned.
outgoingBoolean that specifies if the number of outgoing or incoming edges should be returned.
ignoredEdgemxCell that represents an edge to be ignored.
- -
- - - - - - - - - - -
var $root
Holds the root cell, which in turn contains the cells that represent the layers of the diagram as child cells.
var $cells
Maps from Ids to cells.
var $maintainEdgeParent
Specifies if edges should automatically be moved into the nearest common ancestor of their terminals.
var $createIds
Specifies if the model should automatically create Ids for new cells.
var $nextId
Specifies the next Id to be created.
var $updateLevel
Counter for the depth of nested transactions.
function mxGraphModel($root =  null)
Constructs a new graph model using the specified root cell.
function clear()
Sets a new root using createRoot.
function createRoot()
Creates a new root cell with a default layer (child 0).
function getCells()
Returns the internal lookup table that is used to map from Ids to cells.
function getRoot()
Returns the root of the model.
function setRoot($root)
Sets the root of the model using mxRootChange and adds the change to the current transaction.
function cloneCell($cell)
Returns a deep clone of the given mxCell (including the children) which is created using cloneCells.
Cells are the elements of the graph model.
function cloneCells($cells,  
$includeChildren = true)
Returns an array of clones for the given array of mxCells.
function cloneCellImpl($cell,
$mapping,
$includeChildren)
Inner helper method for cloning cells recursively.
function cellCloned($cell)
Hook for cloning the cell.
function restoreClone($clne,
$cell,
$mapping)
Inner helper method for restoring the connections in a network of cloned cells.
function isAncestor($parent,
$child)
Returns true if the given parent is an ancestor of the given child.
function contains($cell)
Returns true if the model contains the given mxCell.
function getParent($cell)
Returns the parent of the given cell.
function add($parent,  
$child,  
$index =  null)
Adds the specified child to the parent at the given index using mxChildChange and adds the change to the current transaction.
function cellAdded($cell)
Inner callback to update cells when a cell has been added.
function createId($cell)
Hook method to create an Id for the specified cell.
function updateEdgeParents($cell,  
$root =  null)
Updates the parent for all edges that are connected to cell or one of its descendants using updateEdgeParent.
function updateEdgeParent($edge,
$root)
Inner callback to update the parent of the specified mxCell to the nearest-common-ancestor of its two terminals.
function getOrigin($cell)
Returns the absolute, cummulated origin for the children inside the given parent as an mxPoint.
Implements a 2-dimensional point with double precision coordinates.
function getNearestCommonAncestor($cell1,
$cell2)
Returns the nearest common ancestor for the specified cells.
function remove($cell)
Removes the specified cell from the model using mxChildChange and adds the change to the current transaction.
function cellRemoved($cell)
Inner callback to update cells when a cell has been removed.
function getChildCount($cell)
Returns the number of children in the given cell.
function getChildAt($cell,
$index)
Returns the child of the given mxCell at the given index.
function getTerminal($edge,
$cource)
Returns the source or target mxCell of the given edge depending on the value of the boolean parameter.
function setTerminal($edge,
$terminal,
$source)
Sets the source or target terminal of the given mxCell using mxTerminalChange and adds the change to the current transaction.
function setTerminals($edge,
$source,
$target)
Sets the source and target mxCell of the given mxCell in a single transaction using setTerminal for each end of the edge.
function getEdgeCount($cell)
Returns the number of distinct edges connected to the given cell.
function getEdgeAt($cell,
$index)
Returns the edge of cell at the given index.
function getEdges($cell)
Returns all distinct edges connected to this cell as an array of mxCells.
function isVertex($cell)
Returns true if the given cell is a vertex.
function isEdge($cell)
Returns true if the given cell is an edge.
function isConnectable($cell)
Returns true if the given mxCell is connectable.
function getValue($cell)
Returns the user object of the given mxCell using mxCell.getValue.
function getValue()
Returns the user object of the cell.
function setValue($cell,
$value)
Sets the user object of then given mxCell using mxValueChange and adds the change to the current transaction.
function getGeometry($cell)
Returns the mxGeometry of the given mxCell.
Represents the geometry of a cell.
function setGeometry($cell,
$geometry)
Sets the mxGeometry of the given mxCell.
function getStyle($cell)
Returns the style of the given mxCell.
function setStyle($cell,
$style)
Sets the style of the given mxCell using mxStyleChange and adds the change to the current transaction.
function isCollapsed($cell)
Returns true if the given mxCell is collapsed.
function setCollapsed($cell,
$isCollapsed)
Sets the collapsed state of the given mxCell using mxCollapseChange and adds the change to the current transaction.
function isVisible($cell)
Returns true if the given mxCell is visible.
function setVisible($cell,
$visible)
Sets the visible state of the given mxCell using mxVisibleChange and adds the change to the current transaction.
function mergeChildren($from,  
$to,  
$cloneAllEdges =  true)
Merges the children of the given cell into the given target cell inside this model.
function mergeChildrenImpl($from,
$to,
$cloneAllEdges,
$mapping)
Clones the children of the source cell into the given target cell in this model and adds an entry to the mapping that maps from the source cell to the target cell with the same id or the clone of the source cell that was inserted into this model.
function beginUpdate()
Increments the updateLevel by one.
function endUpdate()
Decrements the updateLevel by one and fires a notification event if the updateLevel reaches 0.
function getDirectedEdgeCount($cell,  
$outgoing,  
$ignoredEdge =  null)
Returns the number of incoming or outgoing edges, ignoring the given edge.
function isConnectable()
Returns true if the cell is connectable.
- - - - - - - - \ No newline at end of file diff --git a/docs/php-api/files/reader/mxGraphViewHtmlReader-php.html b/docs/php-api/files/reader/mxGraphViewHtmlReader-php.html deleted file mode 100644 index 806bda934..000000000 --- a/docs/php-api/files/reader/mxGraphViewHtmlReader-php.html +++ /dev/null @@ -1,49 +0,0 @@ - - -mxGraphViewHtmlReader - - - - - - - - - -

mxGraphViewHtmlReader

A display XML to HTML converter.  This allows to create an image of a graph without having to parse and create the graph model using the XML file created for the mxGraphView object in the thin client.

Summary
mxGraphViewHtmlReaderA display XML to HTML converter.
Functions
mxGraphViewHtmlReaderConstructs a new HTML graph view reader.
createCanvasReturns the canvas to be used for rendering.
convertCreates the HTML markup for the given display XML string.
convertFileCreates the HTML markup for the given display XML file.
- -

Functions

- -

mxGraphViewHtmlReader

function mxGraphViewHtmlReader()

Constructs a new HTML graph view reader.

- -

createCanvas

function createCanvas($attrs)

Returns the canvas to be used for rendering.

- -

convert

static function convert($string,  
$background =  null)

Creates the HTML markup for the given display XML string.

- -

convertFile

static function convertFile($filename,  
$background =  null)

Creates the HTML markup for the given display XML file.

- -
- - - - - - - - - - -
function mxGraphViewHtmlReader()
Constructs a new HTML graph view reader.
function createCanvas($attrs)
Returns the canvas to be used for rendering.
static function convert($string,  
$background =  null)
Creates the HTML markup for the given display XML string.
static function convertFile($filename,  
$background =  null)
Creates the HTML markup for the given display XML file.
- - - - - - - - \ No newline at end of file diff --git a/docs/php-api/files/reader/mxGraphViewImageReader-php.html b/docs/php-api/files/reader/mxGraphViewImageReader-php.html deleted file mode 100644 index a48f1db80..000000000 --- a/docs/php-api/files/reader/mxGraphViewImageReader-php.html +++ /dev/null @@ -1,77 +0,0 @@ - - -mxGraphViewImageReader - - - - - - - - - -

mxGraphViewImageReader

A display XML to image converter.  This allows to create an image of a graph without having to parse and create the graph model using the XML file created for the mxGraphView object in the thin client.

To create the XML for the mxGraphView on the client

var enc = new mxCodec(mxUtils.createXMLDocument());
-var node = enc.encode(editor.graph.view);
-var xml = mxUtils.getXML(node);
Summary
mxGraphViewImageReaderA display XML to image converter.
Variables
canvasHolds the canvas.
scaleHolds the global scale of the graph.
parserHolds the SAX parser.
backgroundHolds the background color.
borderHolds the border size.
Functions
mxGraphViewImageReaderConstructs a new image graph view reader.
createCanvasReturns the canvas to be used for rendering.
readReads the specified view XML string.
readFileReads the specified view XML file in blocks of 4096 bytes.
startElementInvoked by the SAX parser when an element starts.
parseStateParses the bounds, absolute points and label information from the style of the state into its respective fields and returns the label of the cell.
parsePointsParses a string that represents a list of points into an array of mxPoints.
endElementInvoked by the SAX parser when an element ends.
destroyDestroy all allocated resources for this reader.
convertCreates the image for the given display XML string.
convertFileCreates the image for the given display XML file.
- -

Variables

- -

canvas

var $canvas

Holds the canvas.

- -

scale

var $scale

Holds the global scale of the graph.  This is set just before createCanvas is called.

- -

parser

var $parser

Holds the SAX parser.

- -

background

var $background

Holds the background color.

- -

border

var $border

Holds the border size.  Default is 0.

- -

Functions

- -

mxGraphViewImageReader

function mxGraphViewImageReader($background =  null,
$border =  0)

Constructs a new image graph view reader.

- -

createCanvas

function createCanvas($attrs)

Returns the canvas to be used for rendering.

- -

read

function read($string)

Reads the specified view XML string.

- -

readFile

function readFile($filename)

Reads the specified view XML file in blocks of 4096 bytes.

- -

startElement

function startElement($parser,
$name,
$attrs)

Invoked by the SAX parser when an element starts.

- -

parseState

function parseState($state,
$edge)

Parses the bounds, absolute points and label information from the style of the state into its respective fields and returns the label of the cell.

- -

parsePoints

function parsePoints($str)

Parses a string that represents a list of points into an array of mxPoints.

- -

endElement

function endElement($parser,
$name)

Invoked by the SAX parser when an element ends.

- -

destroy

function destroy()

Destroy all allocated resources for this reader.

- -

convert

static function convert($string,  
$background =  null)

Creates the image for the given display XML string.

- -

convertFile

static function convertFile($filename,  
$background =  null)

Creates the image for the given display XML file.

- -
- - - - - - - - - - -
var $canvas
Holds the canvas.
var $scale
Holds the global scale of the graph.
var $parser
Holds the SAX parser.
var $background
Holds the background color.
var $border
Holds the border size.
function mxGraphViewImageReader($background =  null,
$border =  0)
Constructs a new image graph view reader.
function createCanvas($attrs)
Returns the canvas to be used for rendering.
function read($string)
Reads the specified view XML string.
function readFile($filename)
Reads the specified view XML file in blocks of 4096 bytes.
function startElement($parser,
$name,
$attrs)
Invoked by the SAX parser when an element starts.
function parseState($state,
$edge)
Parses the bounds, absolute points and label information from the style of the state into its respective fields and returns the label of the cell.
function parsePoints($str)
Parses a string that represents a list of points into an array of mxPoints.
Implements a 2-dimensional point with double precision coordinates.
function endElement($parser,
$name)
Invoked by the SAX parser when an element ends.
function destroy()
Destroy all allocated resources for this reader.
static function convert($string,  
$background =  null)
Creates the image for the given display XML string.
static function convertFile($filename,  
$background =  null)
Creates the image for the given display XML file.
- - - - - - - - \ No newline at end of file diff --git a/docs/php-api/files/util/mxConstants-php.html b/docs/php-api/files/util/mxConstants-php.html deleted file mode 100644 index 3b40ebc53..000000000 --- a/docs/php-api/files/util/mxConstants-php.html +++ /dev/null @@ -1,323 +0,0 @@ - - -mxConstants - - - - - - - - - -

mxConstants

Defines global constants.

Summary
mxConstantsDefines global constants.
Variables
RAD_PER_DEGDefines the number of radiants per degree.
DEG_PER_RADDefines the number of degrees per radiant.
ACTIVE_REGIONDefines the portion of the cell which is to be used as a connectable region.
MIN_ACTIVE_REGIONDefines the minimum size in pixels of the portion of the cell cell which is to be used as a connectable region.
NS_SVGDefines the SVG namespace.
NS_XHTMLDefines the XHTML namespace.
NS_XLINKDefined the XLink namespace.
W3C_SHADOWCOLORDefines the color to be used to draw shadows in DOM documents.
SHADOW_OFFSETXDefines the x-offset to be used for shadows.
SHADOW_OFFSETYDefines the y-offset to be used for shadows.
W3C_DEFAULT_FONTFAMILYDefines the default family for HTML markup.
TTF_ENABLEDWhether TrueType fonts should be enabled in the mxGdCanvas by default.
TTF_SIZEFACTORDefines the factor which wich the font sizes are to be multiplied when used in truetype fonts.
DEFAULT_FONTFAMILYDefines the default family for all truetype fonts.
DEFAULT_FONTSIZEDefines the default size (in px).
DEFAULT_STARTSIZEDefines the default start size for swimlanes.
DEFAULT_LINESPACINGDefines the default linespacing.
LABEL_INSETDefines the inset in absolute pixels between the label bounding box and the label text.
DEFAULT_MARKERSIZEDefines the default size for all markers.
DEFAULT_IMAGESIZEDefines the default width and height for images used in the label shape.
ENTITY_SEGMENTDefines the length of the horizontal segment of an Entity Relation.
ARROW_SPACINGDefines the spacing between the arrow shape and its terminals.
ARROW_WIDTHDefines the width of the arrow shape.
ARROW_SIZEDefines the size of the arrowhead in the arrow shape.
NONEDefines the value for none.
STYLE_PERIMETERDefines the key for the perimeter style.
STYLE_OPACITYDefines the key for the opacity style.
STYLE_TEXT_OPACITYDefines the key for the text opacity style.
STYLE_OVERFLOWDefines the key for the overflow style.
STYLE_ORTHOGONALDefines if the connection points on either end of the edge should be computed so that the edge is vertical or horizontal if possible and if the point is not at a fixed location.
STYLE_EXIT_XDefines the key for the horizontal relative coordinate connection point of an edge with its source terminal.
STYLE_EXIT_YDefines the key for the vertical relative coordinate connection point of an edge with its source terminal.
STYLE_EXIT_PERIMETERDefines if the perimeter should be used to find the exact entry point along the perimeter of the source.
STYLE_ENTRY_XDefines the key for the horizontal relative coordinate connection point of an edge with its target terminal.
STYLE_ENTRY_YDefines the key for the vertical relative coordinate connection point of an edge with its target terminal.
sSTYLE_ENTRY_PERIMETERDefines if the perimeter should be used to find the exact entry point along the perimeter of the target.
STYLE_WHITE_SPACEDefines the key for the white-space style.
STYLE_ROTATIONDefines the key for the rotation style.
STYLE_FILLCOLORDefines the key for the fill color.
STYLE_SWIMLANE_FILLCOLORDefines the key for the fill color of the swimlane background.
STYLE_GRADIENTCOLORDefines the key for the gradient color.
STYLE_GRADIENT_DIRECTIONDefines the key for the gradient direction.
STYLE_STROKECOLORDefines the key for the strokeColor style.
STYLE_SEPARATORCOLORDefines the key for the separatorColor style.
STYLE_STROKEWIDTHDefines the key for the strokeWidth style.
STYLE_ALIGNDefines the key for the align style.
STYLE_VERTICAL_ALIGNDefines the key for the verticalAlign style.
STYLE_LABEL_POSITIONDefines the key for the horizontal label position of vertices.
STYLE_VERTICAL_LABEL_POSITIONDefines the key for the vertical label position of vertices.
STYLE_IMAGE_ALIGNDefines the key for the align style.
STYLE_IMAGE_VERTICALALIGNDefines the key for the verticalAlign style.
STYLE_IMAGEDefines the key for the image style.
STYLE_IMAGE_WIDTHDefines the key for the imageWidth style.
STYLE_IMAGE_HEIGHTDefines the key for the imageHeight style.
STYLE_IMAGE_BACKGROUNDDefines the key for the image background color.
STYLE_IMAGE_BORDERDefines the key for the image border color.
STYLE_IMAGE_FLIPHDefines the key for the horizontal image flip.
STYLE_IMAGE_FLIPVDefines the key for the vertical image flip.
STYLE_NOLABELDefines the key for the noLabel style.
STYLE_NOEDGESTYLEDefines the key for the noEdgeStyle style.
STYLE_LABEL_BACKGROUNDCOLORDefines the key for the label background color.
STYLE_LABEL_BORDERCOLORDefines the key for the label border color.
STYLE_INDICATOR_SHAPEDefines the key for the indicatorShape style.
STYLE_INDICATOR_IMAGEDefines the key for the indicatorImage style.
STYLE_INDICATOR_COLORDefines the key for the indicatorColor style.
STYLE_INDICATOR_GRADIENTCOLORDefines the key for the indicatorGradientColor style.
STYLE_INDICATOR_SPACINGDefines the key for the indicatorSpacing style (in px).
STYLE_INDICATOR_WIDTHDefines the key for the indicatorWidth style (in px).
STYLE_INDICATOR_HEIGHTDefines the key for the indicatorHeight style (in px).
STYLE_SHADOWDefines the key for the shadow style.
STYLE_SEGMENTDefines the key for the segment style.
STYLE_ENDARROWDefines the key for the endArrow style.
STYLE_STARTARROWDefines the key for the startArrow style.
STYLE_ENDSIZEDefines the key for the endSize style.
STYLE_STARTSIZEDefines the key for the startSize style.
STYLE_SWIMLANE_LINEDefines the key for the swimlaneLine style.
STYLE_DASHEDDefines the key for the endSize style.
STYLE_ROUNDEDDefines the key for the rounded style.
STYLE_SOURCE_PERIMETER_SPACINGDefines the key for the source perimeter spacing.
STYLE_TARGET_PERIMETER_SPACINGDefines the key for the source perimeter spacing.
STYLE_PERIMETER_SPACINGDefines the key for the perimeter spacing.
STYLE_SPACINGDefines the key for the spacing.
STYLE_SPACING_TOPDefines the key for the spacingTop style.
STYLE_SPACING_LEFTDefines the key for the spacingLeft style.
STYLE_SPACING_BOTTOMDefines the key for the spacingBottom style The value represents the spacing, in pixels, added to the bottom side of a label in a vertex (style applies to vertices only).
STYLE_SPACING_RIGHTDefines the key for the spacingRight style The value represents the spacing, in pixels, added to the right side of a label in a vertex (style applies to vertices only).
STYLE_HORIZONTALDefines the key for the horizontal style.
STYLE_DIRECTIONDefines the key for the direction style.
STYLE_ELBOWDefines the key for the elbow style.
STYLE_FONTCOLORDefines the key for the fontColor style.
STYLE_FONTFAMILYDefines the key for the fontFamily style.
STYLE_FONTSIZEDefines the key for the fontSize style (in px).
STYLE_FONTSTYLEDefines the key for the fontStyle style.
STYLE_SHAPEDefines the key for the shape.
STYLE_EDGEDefines the key for the edge style.
STYLE_LOOPDefines the key for the loop style.
STYLE_ROUTING_CENTER_XDefines the key for the horizontal routing center.
STYLE_ROUTING_CENTER_YDefines the key for the vertical routing center.
FONT_BOLD
FONT_ITALIC
FONT_UNDERLINE
SHAPE_RECTANGLE
SHAPE_ELLIPSE
SHAPE_DOUBLE_ELLIPSE
SHAPE_RHOMBUS
SHAPE_LINE
SHAPE_IMAGE
SHAPE_ARROW
SHAPE_LABEL
SHAPE_CYLINDER
SHAPE_SWIMLANE
SHAPE_CONNECTOR
SHAPE_ACTOR
SHAPE_CLOUD
SHAPE_TRIANGLE
SHAPE_HEXAGON
ARROW_CLASSIC
ARROW_BLOCK
ARROW_OPEN
ARROW_OVAL
ARROW_DIAMOND
ALIGN_LEFT
ALIGN_CENTER
ALIGN_RIGHT
ALIGN_TOP
ALIGN_MIDDLE
ALIGN_BOTTOM
DIRECTION_NORTH
DIRECTION_SOUTH
DIRECTION_EAST
DIRECTION_WEST
ELBOW_VERTICAL
ELBOW_HORIZONTAL
EDGESTYLE_ENTITY_RELATIONName of the entity relation edge style.
EDGESTYLE_LOOPName of the loop edge style.
EDGESTYLE_SIDETOSIDEName of the side to side edge style.
EDGESTYLE_TOPTOBOTTOMName of the top to bottom edge style.
PERIMETER_ELLIPSEName of the ellipse perimeter.
PERIMETER_RECTANGLEName of the rectangle perimeter.
PERIMETER_RHOMBUSName of the rhombus perimeter.
PERIMETER_TRIANGLEName of the triangle perimeter.
- -

Variables

- -

RAD_PER_DEG

public static $RAD_PER_DEG

Defines the number of radiants per degree.

- -

DEG_PER_RAD

public static $DEG_PER_RAD

Defines the number of degrees per radiant.

- -

ACTIVE_REGION

public static $ACTIVE_REGION

Defines the portion of the cell which is to be used as a connectable region.

- -

MIN_ACTIVE_REGION

public static $MIN_ACTIVE_REGION

Defines the minimum size in pixels of the portion of the cell cell which is to be used as a connectable region.

- -

NS_SVG

public static $NS_SVG

Defines the SVG namespace.

- -

NS_XHTML

public static $NS_XHTML

Defines the XHTML namespace.

- -

NS_XLINK

public static $NS_XLINK

Defined the XLink namespace.

- -

W3C_SHADOWCOLOR

public static $W3C_SHADOWCOLOR

Defines the color to be used to draw shadows in DOM documents.

- -

SHADOW_OFFSETX

public static $SHADOW_OFFSETX

Defines the x-offset to be used for shadows.  Default is 2.

- -

SHADOW_OFFSETY

public static $SHADOW_OFFSETY

Defines the y-offset to be used for shadows.  Default is 3.

- -

W3C_DEFAULT_FONTFAMILY

public static $W3C_DEFAULT_FONTFAMILY

Defines the default family for HTML markup.  Default is times, serif.

- -

TTF_ENABLED

public static $TTF_ENABLED

Whether TrueType fonts should be enabled in the mxGdCanvas by default.  Default is true.

- -

TTF_SIZEFACTOR

public static $TTF_SIZEFACTOR

Defines the factor which wich the font sizes are to be multiplied when used in truetype fonts.  Default is 0.66.

- -

DEFAULT_FONTFAMILY

public static $DEFAULT_FONTFAMILY

Defines the default family for all truetype fonts.  Default is vera.

- -

DEFAULT_FONTSIZE

public static $DEFAULT_FONTSIZE

Defines the default size (in px).  Default is 11.

- -

DEFAULT_STARTSIZE

public static $DEFAULT_STARTSIZE

Defines the default start size for swimlanes.  Default is 40.

- -

DEFAULT_LINESPACING

public static $DEFAULT_LINESPACING

Defines the default linespacing.  Default is 7.

- -

LABEL_INSET

public static $LABEL_INSET

Defines the inset in absolute pixels between the label bounding box and the label text.  Default is 3.

- -

DEFAULT_MARKERSIZE

public static $DEFAULT_MARKERSIZE

Defines the default size for all markers.  Default is 6.

- -

DEFAULT_IMAGESIZE

public static $DEFAULT_IMAGESIZE

Defines the default width and height for images used in the label shape.  Default is 24.

- -

ENTITY_SEGMENT

public static $ENTITY_SEGMENT

Defines the length of the horizontal segment of an Entity Relation.  This can be overridden using mxConstants.STYLE_SEGMENT style.  Default is 30.

- -

ARROW_SPACING

public static $ARROW_SPACING

Defines the spacing between the arrow shape and its terminals.  Default is 10.

- -

ARROW_WIDTH

public static $ARROW_WIDTH

Defines the width of the arrow shape.  Default is 30.

- -

ARROW_SIZE

public static $ARROW_SIZE

Defines the size of the arrowhead in the arrow shape.  Default is 30.

- -

NONE

public static $NONE

Defines the value for none.  Default is “none”.

- -

STYLE_PERIMETER

public static $STYLE_PERIMETER

Defines the key for the perimeter style.  This is a function that defines the perimeter around a particular shape.  Possible values are the functions defined in mxPerimeter.  Alternatively, the constants in this class that start with <code>PERIMETER_</code> may be used to access perimeter styles in mxStyleRegistry.

- -

STYLE_OPACITY

public static $STYLE_OPACITY

Defines the key for the opacity style.  The type of the value is numeric and the possible range is 0-100.

- -

STYLE_TEXT_OPACITY

public static $STYLE_TEXT_OPACITY

Defines the key for the text opacity style.  The type of the value is numeric and the possible range is 0-100.

- -

STYLE_OVERFLOW

public static $STYLE_OVERFLOW

Defines the key for the overflow style.  Possible values are “visible”, “hidden” and “fill”.  The default value is “visible”.  This value specifies how overlapping vertex labels are handles.  A value of “visible” will show the complete label.  A value of “hidden” will clip the label so that it does not overlap the vertex bounds.  A value of “fill” will use the vertex bounds for the label.

This style is ignored in PHP.

- -

STYLE_ORTHOGONAL

public static $STYLE_ORTHOGONAL

Defines if the connection points on either end of the edge should be computed so that the edge is vertical or horizontal if possible and if the point is not at a fixed location.  Default is false.  This is used in mxGraph.isOrthogonal, which also returns true if the edgeStyle of the edge is an elbow or entity.

- -

STYLE_EXIT_X

public static $STYLE_EXIT_X

Defines the key for the horizontal relative coordinate connection point of an edge with its source terminal.

- -

STYLE_EXIT_Y

public static $STYLE_EXIT_Y

Defines the key for the vertical relative coordinate connection point of an edge with its source terminal.

- -

STYLE_EXIT_PERIMETER

public static $STYLE_EXIT_PERIMETER

Defines if the perimeter should be used to find the exact entry point along the perimeter of the source.  Possible values are 0 (false) and 1 (true).  Default is 1 (true).

- -

STYLE_ENTRY_X

public static $STYLE_ENTRY_X

Defines the key for the horizontal relative coordinate connection point of an edge with its target terminal.

- -

STYLE_ENTRY_Y

public static $STYLE_ENTRY_Y

Defines the key for the vertical relative coordinate connection point of an edge with its target terminal.

- -

sSTYLE_ENTRY_PERIMETER

Defines if the perimeter should be used to find the exact entry point along the perimeter of the target.  Possible values are 0 (false) and 1 (true).  Default is 1 (true).

- -

STYLE_WHITE_SPACE

public static $STYLE_WHITE_SPACE

Defines the key for the white-space style.  Possible values are “nowrap” and “wrap”.  The default value is “nowrap”.  This value specifies how white-space inside a HTML vertex label should be handled.  A value of “nowrap” means the text will never wrap to the next line until a linefeed is encountered.  A value of “wrap” means text will wrap when necessary.  This style is only used for HTML labels.

This style is ignored in PHP.

- -

STYLE_ROTATION

public static $STYLE_ROTATION

Defines the key for the rotation style.  The type of the value is numeric and the possible range is 0-360.

- -

STYLE_FILLCOLOR

public static $STYLE_FILLCOLOR

Defines the key for the fill color.  Possible values are all HTML color names or HEX codes, as well as special keywords such as ‘swimlane, ‘inherit’ or ‘indicated’ to use the color code of a related cell or the indicator shape.

- -

STYLE_SWIMLANE_FILLCOLOR

public static $STYLE_SWIMLANE_FILLCOLOR

Defines the key for the fill color of the swimlane background.  Possible values are all HTML color names or HEX codes.  Default is no background.  Value is “swimlaneFillColor”.

- -

STYLE_GRADIENTCOLOR

public static $STYLE_GRADIENTCOLOR

Defines the key for the gradient color.  Possible values are all HTML color names or HEX codes, as well as special keywords such as ‘swimlane, ‘inherit’ or ‘indicated’ to use the color code of a related cell or the indicator shape.  This is ignored if no fill color is defined.

- -

STYLE_GRADIENT_DIRECTION

public static $STYLE_GRADIENT_DIRECTION

Defines the key for the gradient direction.  Possible values are DIRECTION_EAST, DIRECTION_WEST, DIRECTION_NORTH and DIRECTION_SOUTH.  Default is DIRECTION_SOUTH.  Generally, and by default in mxGraph, gradient painting is done from the value of STYLE_FILLCOLOR to the value of STYLE_GRADIENTCOLOR.  Taking the example of DIRECTION_NORTH, this means STYLE_FILLCOLOR color at the bottom of paint pattern and STYLE_GRADIENTCOLOR at top, with a gradient in-between.

- -

STYLE_STROKECOLOR

public static $STYLE_STROKECOLOR

Defines the key for the strokeColor style.  Possible values are all HTML color names or HEX codes, as well as special keywords such as ‘swimlane, ‘inherit’ or ‘indicated’ to use the color code of a related cell or the indicator shape.

- -

STYLE_SEPARATORCOLOR

public static $STYLE_SEPARATORCOLOR

Defines the key for the separatorColor style.  Possible values are all HTML color names or HEX codes.  This style is only used for SHAPE_SWIMLANE shapes.

- -

STYLE_STROKEWIDTH

public static $STYLE_STROKEWIDTH

Defines the key for the strokeWidth style.  The type of the value is numeric and the possible range is any non-negative value.  The value the stroke width in pixels.

- -

STYLE_ALIGN

public static $STYLE_ALIGN

Defines the key for the align style.  Possible values are ALIGN_LEFT, ALIGN_CENTER and ALIGN_RIGHT.  This value defines how the lines of the label are horizontally aligned.  ALIGN_LEFT mean label text lines are aligned to left of the label bounds, ALIGN_RIGHT to the right of the label bounds and ALIGN_CENTER means the center of the text lines are aligned in the center of the label bounds.  Note this value doesn’t affect the positioning of the overall label bounds relative to the vertex, to move the label bounds horizontally, use STYLE_LABEL_POSITION.

- -

STYLE_VERTICAL_ALIGN

public static $STYLE_VERTICAL_ALIGN

Defines the key for the verticalAlign style.  Possible values are ALIGN_TOP, ALIGN_MIDDLE and ALIGN_BOTTOM.  This value defines how the lines of the label are vertically aligned.  ALIGN_TOP means the topmost label text line is aligned against the top of the label bounds, ALIGN_BOTTOM means the bottom-most label text line is aligned against the bottom of the label bounds and ALIGN_MIDDLE means there is equal spacing between the topmost text label line and the top of the label bounds and the bottom-most text label line and the bottom of the label bounds.  Note this value doesn’t affect the positioning of the overall label bounds relative to the vertex, to move the label bounds vertically, use STYLE_VERTICAL_LABEL_POSITION.

- -

STYLE_LABEL_POSITION

public static $STYLE_LABEL_POSITION

Defines the key for the horizontal label position of vertices.  Possible values are ALIGN_LEFT, ALIGN_CENTER and ALIGN_RIGHT.  Default is ALIGN_CENTER.  The label align defines the position of the label relative to the cell.  ALIGN_LEFT means the entire label bounds is placed completely just to the left of the vertex, ALIGN_RIGHT means adjust to the right and ALIGN_CENTER means the label bounds are vertically aligned with the bounds of the vertex.  Note this value doesn’t affect the positioning of label within the label bounds, to move the label horizontally within the label bounds, use STYLE_ALIGN.

- -

STYLE_VERTICAL_LABEL_POSITION

public static $STYLE_VERTICAL_LABEL_POSITION

Defines the key for the vertical label position of vertices.  Possible values are ALIGN_TOP, ALIGN_BOTTOM and ALIGN_MIDDLE.  Default is ALIGN_MIDDLE.  The label align defines the position of the label relative to the cell.  ALIGN_TOP means the entire label bounds is placed completely just on the top of the vertex, ALIGN_BOTTOM means adjust on the bottom and ALIGN_MIDDLE means the label bounds are horizontally aligned with the bounds of the vertex.  Note this value doesn’t affect the positioning of label within the label bounds, to move the label vertically within the label bounds, use STYLE_VERTICAL_ALIGN.

- -

STYLE_IMAGE_ALIGN

public static $STYLE_IMAGE_ALIGN

Defines the key for the align style.  Possible values are ALIGN_LEFT, ALIGN_CENTER and ALIGN_RIGHT.  The value defines how any image in the vertex label is aligned horizontally within the label bounds of a SHAPE_LABEL shape.

- -

STYLE_IMAGE_VERTICALALIGN

Defines the key for the verticalAlign style.  Possible values are ALIGN_TOP, ALIGN_MIDDLE and ALIGN_BOTTOM.  The value defines how any image in the vertex label is aligned vertically within the label bounds of a SHAPE_LABEL shape.

- -

STYLE_IMAGE

public static $STYLE_IMAGE

Defines the key for the image style.  Possible values are any image URL, registered key in <mxImageResources> or short data URI as defined in mxImageBundle.  The type of the value is String.  This is the path to the image to image that is to be displayed within the label of a vertex.  Finally, mxUtils.loadImage is used for loading the image for a given value.

- -

STYLE_IMAGE_WIDTH

public static $STYLE_IMAGE_WIDTH

Defines the key for the imageWidth style.  The type of this value is int, the value is the image width in pixels and must be greater than 0.

- -

STYLE_IMAGE_HEIGHT

public static $STYLE_IMAGE_HEIGHT

Defines the key for the imageHeight style.  The type of this value is int, the value is the image height in pixels and must be greater than 0.

- -

STYLE_IMAGE_BACKGROUND

public static $STYLE_IMAGE_BACKGROUND

Defines the key for the image background color.  This style is only used in <mxImageShape>.  Possible values are all HTML color names or HEX codes.

- -

STYLE_IMAGE_BORDER

public static $STYLE_IMAGE_BORDER

Defines the key for the image border color.  This style is only used in <mxImageShape>.  Possible values are all HTML color names or HEX codes.

- -

STYLE_IMAGE_FLIPH

public static $STYLE_IMAGE_FLIPH

Defines the key for the horizontal image flip.  This style is only used for painting images.  Possible values are 0 and 1.  Default is 0.

- -

STYLE_IMAGE_FLIPV

public static $STYLE_IMAGE_FLIPV

Defines the key for the vertical image flip.  This style is only used for painting images.  Possible values are 0 and 1.  Default is 0.

- -

STYLE_NOLABEL

public static $STYLE_NOLABEL

Defines the key for the noLabel style.  If this is true then no label is visible for a given cell.  Possible values are true or false (1 or 0).  Default is false.

- -

STYLE_NOEDGESTYLE

public static $STYLE_NOEDGESTYLE

Defines the key for the noEdgeStyle style.  If this is true then no edge style is applied for a given edge.  Possible values are true or false (1 or 0).  Default is false.

- -

STYLE_LABEL_BACKGROUNDCOLOR

public static $STYLE_LABEL_BACKGROUNDCOLOR

Defines the key for the label background color.  Possible values are all HTML color names or HEX codes.

- -

STYLE_LABEL_BORDERCOLOR

public static $STYLE_LABEL_BORDERCOLOR

Defines the key for the label border color.  Possible values are all HTML color names or HEX codes.

- -

STYLE_INDICATOR_SHAPE

public static $STYLE_INDICATOR_SHAPE

Defines the key for the indicatorShape style.  Possible values are any of the SHAPE_* constants.

- -

STYLE_INDICATOR_IMAGE

public static $STYLE_INDICATOR_IMAGE

Defines the key for the indicatorImage style.  Possible values are any image URL.

- -

STYLE_INDICATOR_COLOR

public static $STYLE_INDICATOR_COLOR

Defines the key for the indicatorColor style.  Possible values are all HTML color names or HEX codes, as well as the special ‘swimlane’ keyword to refer to the color of the parent swimlane if one exists.

- -

STYLE_INDICATOR_GRADIENTCOLOR

public static $STYLE_INDICATOR_GRADIENTCOLOR

Defines the key for the indicatorGradientColor style.  Possible values are all HTML color names or HEX codes.  This style is only supported in SHAPE_LABEL shapes.

- -

STYLE_INDICATOR_SPACING

public static $STYLE_INDICATOR_SPACING

Defines the key for the indicatorSpacing style (in px).

- -

STYLE_INDICATOR_WIDTH

public static $STYLE_INDICATOR_WIDTH

Defines the key for the indicatorWidth style (in px).

- -

STYLE_INDICATOR_HEIGHT

public static $STYLE_INDICATOR_HEIGHT

Defines the key for the indicatorHeight style (in px).

- -

STYLE_SHADOW

public static $STYLE_SHADOW

Defines the key for the shadow style.  The type of the value is Boolean.

- -

STYLE_SEGMENT

public static $STYLE_SEGMENT

Defines the key for the segment style.  The type of this value is float and the value represents the size of the horizontal segment of the entity relation style.  Default is ENTITY_SEGMENT.

- -

STYLE_ENDARROW

public static $STYLE_ENDARROW

Defines the key for the endArrow style.  Possible values are all constants in this class that start with ARROW_.  This style is supported in the <mxConnector> shape.

Example

style[mxConstants.public static $STYLE_ENDARROW] = mxConstants.ARROW_CLASSIC;
- -

STYLE_STARTARROW

public static $STYLE_STARTARROW

Defines the key for the startArrow style.  Possible values are all constants in this class that start with ARROW_.  See <public static $STYLE_ENDARROW>.  This style is supported in the <mxConnector> shape.

- -

STYLE_ENDSIZE

public static $STYLE_ENDSIZE

Defines the key for the endSize style.  The type of this value is numeric and the value represents the size of the end marker in pixels.

- -

STYLE_STARTSIZE

public static $STYLE_STARTSIZE

Defines the key for the startSize style.  The type of this value is numeric and the value represents the size of the start marker or the size of the swimlane title region depending on the shape it is used for.

- -

STYLE_SWIMLANE_LINE

public static $STYLE_SWIMLANE_LINE

Defines the key for the swimlaneLine style.  This style specifies whether the line between the title regio of a swimlane should be visible.  Use 0 for hidden or 1 (default) for visible.  Value is “swimlaneLine”.

- -

STYLE_DASHED

public static $STYLE_DASHED

Defines the key for the endSize style.  The type of this value is numeric and the value represents the size of the end marker in pixels.

- -

STYLE_ROUNDED

public static $STYLE_ROUNDED

Defines the key for the rounded style.  The type of this value is Boolean.  For edges this determines whether or not joins between edges segments are smoothed to a rounded finish.  For vertices that have the rectangle shape, this determines whether or not the rectangle is rounded.

- -

STYLE_SOURCE_PERIMETER_SPACING

public static $STYLE_SOURCE_PERIMETER_SPACING

Defines the key for the source perimeter spacing.  The type of this value is numeric.  This is the distance between the source connection point of an edge and the perimeter of the source vertex in pixels.  This style only applies to edges.

- -

STYLE_TARGET_PERIMETER_SPACING

public static $STYLE_TARGET_PERIMETER_SPACING

Defines the key for the source perimeter spacing.  The type of this value is numeric.  This is the distance between the target connection point of an edge and the perimeter of the target vertex in pixels.

- -

STYLE_PERIMETER_SPACING

public static $STYLE_PERIMETER_SPACING

Defines the key for the perimeter spacing.  This is the distance between the connection point and the perimeter in pixels.  When used in a vertex style, this applies to all incoming edges to floating ports (edges that terminate on the perimeter of the vertex).  When used in an edge style, this spacing applies to the source and target separately, if they terminate in floating ports (on the perimeter of the vertex).

- -

STYLE_SPACING

public static $STYLE_SPACING

Defines the key for the spacing.  The value represents the spacing, in pixels, added to each side of a label in a vertex (style applies to vertices only).

- -

STYLE_SPACING_TOP

public static $STYLE_SPACING_TOP

Defines the key for the spacingTop style.  The value represents the spacing, in pixels, added to the top side of a label in a vertex (style applies to vertices only).

- -

STYLE_SPACING_LEFT

public static $STYLE_SPACING_LEFT

Defines the key for the spacingLeft style.  The value represents the spacing, in pixels, added to the left side of a label in a vertex (style applies to vertices only).

- -

STYLE_SPACING_BOTTOM

public static $STYLE_SPACING_BOTTOM

Defines the key for the spacingBottom style The value represents the spacing, in pixels, added to the bottom side of a label in a vertex (style applies to vertices only).

- -

STYLE_SPACING_RIGHT

public static $STYLE_SPACING_RIGHT

Defines the key for the spacingRight style The value represents the spacing, in pixels, added to the right side of a label in a vertex (style applies to vertices only).

- -

STYLE_HORIZONTAL

public static $STYLE_HORIZONTAL

Defines the key for the horizontal style.  Possible values are true or false.  This value only applies to vertices.  If the STYLE_SHAPE is <code>SHAPE_SWIMLANE</code> a value of false indicates that the swimlane should be drawn vertically, true indicates to draw it horizontally.  If the shape style does not indicate that this vertex is a swimlane, this value affects only whether the label is drawn horizontally or vertically.

- -

STYLE_DIRECTION

public static $STYLE_DIRECTION

Defines the key for the direction style.  The direction style is used to specify the direction of certain shapes (eg.  <mxTriangle>).  Possible values are DIRECTION_EAST (default), DIRECTION_WEST, DIRECTION_NORTH and DIRECTION_SOUTH.

- -

STYLE_ELBOW

public static $STYLE_ELBOW

Defines the key for the elbow style.  Possible values are ELBOW_HORIZONTAL and ELBOW_VERTICAL.  Default is ELBOW_HORIZONTAL.  This defines how the three segment orthogonal edge style leaves its terminal vertices.  The vertical style leaves the terminal vertices at the top and bottom sides.

- -

STYLE_FONTCOLOR

public static $STYLE_FONTCOLOR

Defines the key for the fontColor style.  Possible values are all HTML color names or HEX codes.

- -

STYLE_FONTFAMILY

public static $STYLE_FONTFAMILY

Defines the key for the fontFamily style.  Possible values are names such as Arial; Dialog; Verdana; Times New Roman.  The value is of type String.

- -

STYLE_FONTSIZE

public static $STYLE_FONTSIZE

Defines the key for the fontSize style (in px).  The type of the value is int.

- -

STYLE_FONTSTYLE

public static $STYLE_FONTSTYLE

Defines the key for the fontStyle style.  Values may be any logical AND (sum) of FONT_BOLD, FONT_ITALIC and FONT_UNDERLINE.  The type of the value is int.

- -

STYLE_SHAPE

public static $STYLE_SHAPE

Defines the key for the shape.  Possible values are all constants with a SHAPE-prefix or any newly defined shape names.

- -

STYLE_EDGE

public static $STYLE_EDGE

Defines the key for the edge style.  Possible values are the functions defined in mxEdgeStyle.

- -

STYLE_LOOP

public static $STYLE_LOOP

Defines the key for the loop style.  Possible values are the functions defined in mxEdgeStyle.

- -

STYLE_ROUTING_CENTER_X

public static $STYLE_ROUTING_CENTER_X

Defines the key for the horizontal routing center.  Possible values are between -0.5 and 0.5.  This is the relative offset from the center used for connecting edges.  The type of this value is numeric.

- -

STYLE_ROUTING_CENTER_Y

public static $STYLE_ROUTING_CENTER_Y

Defines the key for the vertical routing center.  Possible values are between -0.5 and 0.5.  This is the relative offset from the center used for connecting edges.  The type of this value is numeric.

- -

FONT_BOLD

public static $FONT_BOLD
- -

FONT_ITALIC

public static $FONT_ITALIC
- -

FONT_UNDERLINE

public static $FONT_UNDERLINE
- -

SHAPE_RECTANGLE

public static $SHAPE_RECTANGLE
- -

SHAPE_ELLIPSE

public static $SHAPE_ELLIPSE
- -

SHAPE_DOUBLE_ELLIPSE

public static $SHAPE_DOUBLE_ELLIPSE
- -

SHAPE_RHOMBUS

public static $SHAPE_RHOMBUS
- -

SHAPE_LINE

public static $SHAPE_LINE
- -

SHAPE_IMAGE

public static $SHAPE_IMAGE
- -

SHAPE_ARROW

public static $SHAPE_ARROW
- -

SHAPE_LABEL

public static $SHAPE_LABEL
- -

SHAPE_CYLINDER

public static $SHAPE_CYLINDER
- -

SHAPE_SWIMLANE

public static $SHAPE_SWIMLANE
- -

SHAPE_CONNECTOR

public static $SHAPE_CONNECTOR
- -

SHAPE_ACTOR

public static $SHAPE_ACTOR
- -

SHAPE_CLOUD

public static $SHAPE_CLOUD
- -

SHAPE_TRIANGLE

public static $SHAPE_TRIANGLE
- -

SHAPE_HEXAGON

public static $SHAPE_HEXAGON
- -

ARROW_CLASSIC

public static $ARROW_CLASSIC
- -

ARROW_BLOCK

public static $ARROW_BLOCK
- -

ARROW_OPEN

public static $ARROW_OPEN
- -

ARROW_OVAL

public static $ARROW_OVAL
- -

ARROW_DIAMOND

public static $ARROW_DIAMOND
- -

ALIGN_LEFT

public static $ALIGN_LEFT
- -

ALIGN_CENTER

public static $ALIGN_CENTER
- -

ALIGN_RIGHT

public static $ALIGN_RIGHT
- -

ALIGN_TOP

public static $ALIGN_TOP
- -

ALIGN_MIDDLE

public static $ALIGN_MIDDLE
- -

ALIGN_BOTTOM

public static $ALIGN_BOTTOM
- -

DIRECTION_NORTH

public static $DIRECTION_NORTH
- -

DIRECTION_SOUTH

public static $DIRECTION_SOUTH
- -

DIRECTION_EAST

public static $DIRECTION_EAST
- -

DIRECTION_WEST

public static $DIRECTION_WEST
- -

ELBOW_VERTICAL

public static $ELBOW_VERTICAL
- -

ELBOW_HORIZONTAL

public static $ELBOW_HORIZONTAL
- -

EDGESTYLE_ENTITY_RELATION

public static $EDGESTYLE_ENTITY_RELATION

Name of the entity relation edge style.  Can be used as a string value for the STYLE_EDGE style.

- -

EDGESTYLE_LOOP

public static $EDGESTYLE_LOOP

Name of the loop edge style.  Can be used as a string value for the STYLE_EDGE style.

- -

EDGESTYLE_SIDETOSIDE

public static $EDGESTYLE_SIDETOSIDE

Name of the side to side edge style.  Can be used as a string value for the STYLE_EDGE style.

- -

EDGESTYLE_TOPTOBOTTOM

public static $EDGESTYLE_TOPTOBOTTOM

Name of the top to bottom edge style.  Can be used as a string value for the STYLE_EDGE style.

- -

PERIMETER_ELLIPSE

public static $PERIMETER_ELLIPSE

Name of the ellipse perimeter.  Can be used as a string value for the STYLE_PERIMETER style.

- -

PERIMETER_RECTANGLE

public static $PERIMETER_RECTANGLE

Name of the rectangle perimeter.  Can be used as a string value for the STYLE_PERIMETER style.

- -

PERIMETER_RHOMBUS

public static $PERIMETER_RHOMBUS

Name of the rhombus perimeter.  Can be used as a string value for the STYLE_PERIMETER style.

- -

PERIMETER_TRIANGLE

public static $PERIMETER_TRIANGLE

Name of the triangle perimeter.  Can be used as a string value for the STYLE_PERIMETER style.

- -
- - - - - - - - - - -
public static $RAD_PER_DEG
Defines the number of radiants per degree.
public static $DEG_PER_RAD
Defines the number of degrees per radiant.
public static $ACTIVE_REGION
Defines the portion of the cell which is to be used as a connectable region.
public static $MIN_ACTIVE_REGION
Defines the minimum size in pixels of the portion of the cell cell which is to be used as a connectable region.
public static $NS_SVG
Defines the SVG namespace.
public static $NS_XHTML
Defines the XHTML namespace.
public static $NS_XLINK
Defined the XLink namespace.
public static $W3C_SHADOWCOLOR
Defines the color to be used to draw shadows in DOM documents.
public static $SHADOW_OFFSETX
Defines the x-offset to be used for shadows.
public static $SHADOW_OFFSETY
Defines the y-offset to be used for shadows.
public static $W3C_DEFAULT_FONTFAMILY
Defines the default family for HTML markup.
public static $TTF_ENABLED
Whether TrueType fonts should be enabled in the mxGdCanvas by default.
public static $TTF_SIZEFACTOR
Defines the factor which wich the font sizes are to be multiplied when used in truetype fonts.
public static $DEFAULT_FONTFAMILY
Defines the default family for all truetype fonts.
public static $DEFAULT_FONTSIZE
Defines the default size (in px).
public static $DEFAULT_STARTSIZE
Defines the default start size for swimlanes.
public static $DEFAULT_LINESPACING
Defines the default linespacing.
public static $LABEL_INSET
Defines the inset in absolute pixels between the label bounding box and the label text.
public static $DEFAULT_MARKERSIZE
Defines the default size for all markers.
public static $DEFAULT_IMAGESIZE
Defines the default width and height for images used in the label shape.
public static $ENTITY_SEGMENT
Defines the length of the horizontal segment of an Entity Relation.
public static $ARROW_SPACING
Defines the spacing between the arrow shape and its terminals.
public static $ARROW_WIDTH
Defines the width of the arrow shape.
public static $ARROW_SIZE
Defines the size of the arrowhead in the arrow shape.
public static $NONE
Defines the value for none.
public static $STYLE_PERIMETER
Defines the key for the perimeter style.
public static $STYLE_OPACITY
Defines the key for the opacity style.
public static $STYLE_TEXT_OPACITY
Defines the key for the text opacity style.
public static $STYLE_OVERFLOW
Defines the key for the overflow style.
public static $STYLE_ORTHOGONAL
Defines if the connection points on either end of the edge should be computed so that the edge is vertical or horizontal if possible and if the point is not at a fixed location.
public static $STYLE_EXIT_X
Defines the key for the horizontal relative coordinate connection point of an edge with its source terminal.
public static $STYLE_EXIT_Y
Defines the key for the vertical relative coordinate connection point of an edge with its source terminal.
public static $STYLE_EXIT_PERIMETER
Defines if the perimeter should be used to find the exact entry point along the perimeter of the source.
public static $STYLE_ENTRY_X
Defines the key for the horizontal relative coordinate connection point of an edge with its target terminal.
public static $STYLE_ENTRY_Y
Defines the key for the vertical relative coordinate connection point of an edge with its target terminal.
public static $STYLE_WHITE_SPACE
Defines the key for the white-space style.
public static $STYLE_ROTATION
Defines the key for the rotation style.
public static $STYLE_FILLCOLOR
Defines the key for the fill color.
public static $STYLE_SWIMLANE_FILLCOLOR
Defines the key for the fill color of the swimlane background.
public static $STYLE_GRADIENTCOLOR
Defines the key for the gradient color.
public static $STYLE_GRADIENT_DIRECTION
Defines the key for the gradient direction.
public static $STYLE_STROKECOLOR
Defines the key for the strokeColor style.
public static $STYLE_SEPARATORCOLOR
Defines the key for the separatorColor style.
public static $STYLE_STROKEWIDTH
Defines the key for the strokeWidth style.
public static $STYLE_ALIGN
Defines the key for the align style.
public static $STYLE_VERTICAL_ALIGN
Defines the key for the verticalAlign style.
public static $STYLE_LABEL_POSITION
Defines the key for the horizontal label position of vertices.
public static $STYLE_VERTICAL_LABEL_POSITION
Defines the key for the vertical label position of vertices.
public static $STYLE_IMAGE_ALIGN
Defines the key for the align style.
public static $STYLE_IMAGE
Defines the key for the image style.
public static $STYLE_IMAGE_WIDTH
Defines the key for the imageWidth style.
public static $STYLE_IMAGE_HEIGHT
Defines the key for the imageHeight style.
public static $STYLE_IMAGE_BACKGROUND
Defines the key for the image background color.
public static $STYLE_IMAGE_BORDER
Defines the key for the image border color.
public static $STYLE_IMAGE_FLIPH
Defines the key for the horizontal image flip.
public static $STYLE_IMAGE_FLIPV
Defines the key for the vertical image flip.
public static $STYLE_NOLABEL
Defines the key for the noLabel style.
public static $STYLE_NOEDGESTYLE
Defines the key for the noEdgeStyle style.
public static $STYLE_LABEL_BACKGROUNDCOLOR
Defines the key for the label background color.
public static $STYLE_LABEL_BORDERCOLOR
Defines the key for the label border color.
public static $STYLE_INDICATOR_SHAPE
Defines the key for the indicatorShape style.
public static $STYLE_INDICATOR_IMAGE
Defines the key for the indicatorImage style.
public static $STYLE_INDICATOR_COLOR
Defines the key for the indicatorColor style.
public static $STYLE_INDICATOR_GRADIENTCOLOR
Defines the key for the indicatorGradientColor style.
public static $STYLE_INDICATOR_SPACING
Defines the key for the indicatorSpacing style (in px).
public static $STYLE_INDICATOR_WIDTH
Defines the key for the indicatorWidth style (in px).
public static $STYLE_INDICATOR_HEIGHT
Defines the key for the indicatorHeight style (in px).
public static $STYLE_SHADOW
Defines the key for the shadow style.
public static $STYLE_SEGMENT
Defines the key for the segment style.
public static $STYLE_ENDARROW
Defines the key for the endArrow style.
public static $STYLE_STARTARROW
Defines the key for the startArrow style.
public static $STYLE_ENDSIZE
Defines the key for the endSize style.
public static $STYLE_STARTSIZE
Defines the key for the startSize style.
public static $STYLE_SWIMLANE_LINE
Defines the key for the swimlaneLine style.
public static $STYLE_DASHED
Defines the key for the endSize style.
public static $STYLE_ROUNDED
Defines the key for the rounded style.
public static $STYLE_SOURCE_PERIMETER_SPACING
Defines the key for the source perimeter spacing.
public static $STYLE_TARGET_PERIMETER_SPACING
Defines the key for the source perimeter spacing.
public static $STYLE_PERIMETER_SPACING
Defines the key for the perimeter spacing.
public static $STYLE_SPACING
Defines the key for the spacing.
public static $STYLE_SPACING_TOP
Defines the key for the spacingTop style.
public static $STYLE_SPACING_LEFT
Defines the key for the spacingLeft style.
public static $STYLE_SPACING_BOTTOM
Defines the key for the spacingBottom style The value represents the spacing, in pixels, added to the bottom side of a label in a vertex (style applies to vertices only).
public static $STYLE_SPACING_RIGHT
Defines the key for the spacingRight style The value represents the spacing, in pixels, added to the right side of a label in a vertex (style applies to vertices only).
public static $STYLE_HORIZONTAL
Defines the key for the horizontal style.
public static $STYLE_DIRECTION
Defines the key for the direction style.
public static $STYLE_ELBOW
Defines the key for the elbow style.
public static $STYLE_FONTCOLOR
Defines the key for the fontColor style.
public static $STYLE_FONTFAMILY
Defines the key for the fontFamily style.
public static $STYLE_FONTSIZE
Defines the key for the fontSize style (in px).
public static $STYLE_FONTSTYLE
Defines the key for the fontStyle style.
public static $STYLE_SHAPE
Defines the key for the shape.
public static $STYLE_EDGE
Defines the key for the edge style.
public static $STYLE_LOOP
Defines the key for the loop style.
public static $STYLE_ROUTING_CENTER_X
Defines the key for the horizontal routing center.
public static $STYLE_ROUTING_CENTER_Y
Defines the key for the vertical routing center.
public static $FONT_BOLD
public static $FONT_ITALIC
public static $FONT_UNDERLINE
public static $SHAPE_RECTANGLE
public static $SHAPE_ELLIPSE
public static $SHAPE_DOUBLE_ELLIPSE
public static $SHAPE_RHOMBUS
public static $SHAPE_LINE
public static $SHAPE_IMAGE
public static $SHAPE_ARROW
public static $SHAPE_LABEL
public static $SHAPE_CYLINDER
public static $SHAPE_SWIMLANE
public static $SHAPE_CONNECTOR
public static $SHAPE_ACTOR
public static $SHAPE_CLOUD
public static $SHAPE_TRIANGLE
public static $SHAPE_HEXAGON
public static $ARROW_CLASSIC
public static $ARROW_BLOCK
public static $ARROW_OPEN
public static $ARROW_OVAL
public static $ARROW_DIAMOND
public static $ALIGN_LEFT
public static $ALIGN_CENTER
public static $ALIGN_RIGHT
public static $ALIGN_TOP
public static $ALIGN_MIDDLE
public static $ALIGN_BOTTOM
public static $DIRECTION_NORTH
public static $DIRECTION_SOUTH
public static $DIRECTION_EAST
public static $DIRECTION_WEST
public static $ELBOW_VERTICAL
public static $ELBOW_HORIZONTAL
public static $EDGESTYLE_ENTITY_RELATION
Name of the entity relation edge style.
public static $EDGESTYLE_LOOP
Name of the loop edge style.
public static $EDGESTYLE_SIDETOSIDE
Name of the side to side edge style.
public static $EDGESTYLE_TOPTOBOTTOM
Name of the top to bottom edge style.
public static $PERIMETER_ELLIPSE
Name of the ellipse perimeter.
public static $PERIMETER_RECTANGLE
Name of the rectangle perimeter.
public static $PERIMETER_RHOMBUS
Name of the rhombus perimeter.
public static $PERIMETER_TRIANGLE
Name of the triangle perimeter.
Provides various perimeter functions to be used in a style as the value of mxConstants.STYLE_PERIMETER.
Singleton class that acts as a global converter from string to object values in a style.
function isOrthogonal($edge)
Returns true if perimeter points should be computed such that the resulting edge has only horizontal or vertical segments.
Maps from keys to base64 encoded images or file locations.
static function loadImage($url)
Loads an image from the local filesystem, a data URI or any other URL.
Provides various edge styles to be used as the values for mxConstants.STYLE_EDGE in a cell style.
- - - - - - - - \ No newline at end of file diff --git a/docs/php-api/files/util/mxEvent-php.html b/docs/php-api/files/util/mxEvent-php.html deleted file mode 100644 index ba767a8d9..000000000 --- a/docs/php-api/files/util/mxEvent-php.html +++ /dev/null @@ -1,47 +0,0 @@ - - -mxEvent - - - - - - - - - -

mxEvent

Defines global constants.

Summary
mxEventDefines global constants.
Variables
GRAPH_MODEL_CHANGEDDefines the name of the graphModelChanged event.
SCALEDefines the name of the scale event.
TRANSLATEDefines the name of the translate event.
- -

Variables

- -

GRAPH_MODEL_CHANGED

public static $GRAPH_MODEL_CHANGED

Defines the name of the graphModelChanged event.

- -

SCALE

public static $SCALE

Defines the name of the scale event.

- -

TRANSLATE

public static $TRANSLATE

Defines the name of the translate event.

- -
- - - - - - - - - - -
public static $GRAPH_MODEL_CHANGED
Defines the name of the graphModelChanged event.
public static $SCALE
Defines the name of the scale event.
public static $TRANSLATE
Defines the name of the translate event.
- - - - - - - - \ No newline at end of file diff --git a/docs/php-api/files/util/mxEventObject-php.html b/docs/php-api/files/util/mxEventObject-php.html deleted file mode 100644 index c2a454c62..000000000 --- a/docs/php-api/files/util/mxEventObject-php.html +++ /dev/null @@ -1,61 +0,0 @@ - - -mxEventObject - - - - - - - - - -

mxEventObject

Base class for all events.

Summary
mxEventObjectBase class for all events.
Variables
nameHolds the name of the event.
propertiesHolds the event properties in an associative array that maps from string (key) to object (value).
consumedHolds the consumed state of the event.
Functions
mxEventObjectConstructs a new event for the given name and properties.
getNameReturns name.
getPropertiesReturns properties.
getPropertyReturns the property value for the given key.
isConsumedReturns true if the event has been consumed.
consumeConsumes the event.
- -

Variables

- -

name

var $name

Holds the name of the event.

- -

properties

var $properties

Holds the event properties in an associative array that maps from string (key) to object (value).

- -

consumed

var $consumed

Holds the consumed state of the event.  Default is false.

- -

Functions

- -

mxEventObject

function mxEventObject($name)

Constructs a new event for the given name and properties.  The optional properties are specified using a sequence of keys and values, eg. new mxEventObject($name, $key1, $value1, $key2, $value2, .., $keyN, $valueN)

- -

getName

function getName()

Returns name.

- -

getProperties

function getProperties()

Returns properties.

- -

getProperty

function getProperty($key)

Returns the property value for the given key.

- -

isConsumed

function isConsumed()

Returns true if the event has been consumed.

- -

consume

function consume()

Consumes the event.

- -
- - - - - - - - - - -
var $name
Holds the name of the event.
var $properties
Holds the event properties in an associative array that maps from string (key) to object (value).
var $consumed
Holds the consumed state of the event.
function mxEventObject($name)
Constructs a new event for the given name and properties.
function getName()
Returns name.
function getProperties()
Returns properties.
function getProperty($key)
Returns the property value for the given key.
function isConsumed()
Returns true if the event has been consumed.
function consume()
Consumes the event.
- - - - - - - - \ No newline at end of file diff --git a/docs/php-api/files/util/mxEventSource-php.html b/docs/php-api/files/util/mxEventSource-php.html deleted file mode 100644 index dc4d0d5bf..000000000 --- a/docs/php-api/files/util/mxEventSource-php.html +++ /dev/null @@ -1,49 +0,0 @@ - - -mxEventSource - - - - - - - - - -

mxEventSource

Base class for all event sources.

Summary
mxEventSourceBase class for all event sources.
Variables
eventListenersHolds the registered listeners.
Functions
addListenerAdds a listener for the given event name.
fireEventFires the event for the specified name.
- -

Variables

- -

eventListeners

var $eventListeners

Holds the registered listeners.

- -

Functions

- -

addListener

function addListener($name,
$listener)

Adds a listener for the given event name.  Note that the method of the listener object must have the same name as the event it’s being added for.  This is different from other language implementations of this class.

- -

fireEvent

function fireEvent($event)

Fires the event for the specified name.

- -
- - - - - - - - - - -
var $eventListeners
Holds the registered listeners.
function addListener($name,
$listener)
Adds a listener for the given event name.
function fireEvent($event)
Fires the event for the specified name.
- - - - - - - - \ No newline at end of file diff --git a/docs/php-api/files/util/mxImageBundle-php.html b/docs/php-api/files/util/mxImageBundle-php.html deleted file mode 100644 index 4c1b25f3a..000000000 --- a/docs/php-api/files/util/mxImageBundle-php.html +++ /dev/null @@ -1,67 +0,0 @@ - - -mxImageBundle - - - - - - - - - -

mxImageBundle

Maps from keys to base64 encoded images or file locations.  All values must be URLs or use the format data:image/format followed by a comma and the base64 encoded image data, eg.  “data:image/gif,XYZ”, where XYZ is the base64 encoded image data.

$bundle = new mxImageBundle();
-$bundle->putImage("myImage", "data:image/gif,R0lGODlhEAAQAMIGAAAAAICAAICAgP".
-  "//AOzp2O3r2////////yH+FUNyZWF0ZWQgd2l0aCBUaGUgR0lNUAAh+QQBCgAHACwAAAAAEA".
-  "AQAAADTXi63AowynnAMDfjPUDlnAAJhmeBFxAEloliKltWmiYCQvfVr6lBPB1ggxN1hilaSS".
-  "ASFQpIV5HJBDyHpqK2ejVRm2AAgZCdmCGO9CIBADs=");
-$graph->addImageBundle($bundle);
-(end);
-
-The image can then be referenced in any cell style using image=myImage.
-
-To convert an image at a given URL to a base64 encoded String, the following
-code can be used:
-
-(code)
-echo "base64=".base64_encode(file_get_contents($url));

The value is decoded in mxUtils.loadImage.  The keys for images are resolved and the short format above is converted to a data URI in mxGraph.postProcessCellStyle.

Summary
mxImageBundleMaps from keys to base64 encoded images or file locations.
Variables
imagesMaps from keys to images.
Functions
mxImageBundleConstructs a new image bundle.
getImagesReturns the images.
putImageAdds the specified entry to the map.
getImageReturns the value for the given key.
- -

Variables

- -

images

var $images

Maps from keys to images.

- -

Functions

- -

mxImageBundle

function mxImageBundle()

Constructs a new image bundle.

- -

getImages

function getImages()

Returns the images.

- -

putImage

function putImage($key,
$value)

Adds the specified entry to the map.

- -

getImage

function getImage($key)

Returns the value for the given key.

- -
- - - - - - - - - - -
var $images
Maps from keys to images.
function mxImageBundle()
Constructs a new image bundle.
function getImages()
Returns the images.
function putImage($key,
$value)
Adds the specified entry to the map.
function getImage($key)
Returns the value for the given key.
static function loadImage($url)
Loads an image from the local filesystem, a data URI or any other URL.
function postProcessCellStyle($style)
Tries to resolve the value for the image style in the image bundles and turns short data URIs as defined in mxImageBundle to data URIs as defined in RFC 2397 of the IETF.
- - - - - - - - \ No newline at end of file diff --git a/docs/php-api/files/util/mxLog-php.html b/docs/php-api/files/util/mxLog-php.html deleted file mode 100644 index f5711fa15..000000000 --- a/docs/php-api/files/util/mxLog-php.html +++ /dev/null @@ -1,83 +0,0 @@ - - -mxLog - - - - - - - - - -

mxLog

Logging facility.

Summary
mxLogLogging facility.
Variables
level_fineSpecifies the fine logging level.
level_debugSpecifies the debug logging level.
level_infoSpecifies the info logging level.
level_warnSpecifies the warn logging level.
level_errorSpecifies the error logging level.
currentDefault is true.
tabDefault is true.
logfilesHolds the array of logfiles.
printLogSpecifies if the log should be printed out.
Functions
addLogfileAdds a file for logging.
enterLogs a method entry.
leaveLogs a method exit.
fineLogs a fine trace.
debugLogs a debug trace.
infoLogs an info trace.
warnLogs a warn trace.
errorLogs an error trace.
writelnWrites a line with a linefeed to the log.
writeWrites a line to the log.
closeCloses all open logfiles.
- -

Variables

- -

level_fine

public static $level_fine

Specifies the fine logging level.

- -

level_debug

public static $level_debug

Specifies the debug logging level.

- -

level_info

public static $level_info

Specifies the info logging level.

- -

level_warn

public static $level_warn

Specifies the warn logging level.

- -

level_error

public static $level_error

Specifies the error logging level.

- -

current

public static $current

Default is true.

- -

tab

public static $tab

Default is true.

- -

logfiles

public static $logfiles

Holds the array of logfiles.

- -

printLog

public static $printLog

Specifies if the log should be printed out.

- -

Functions

- -

addLogfile

static function addLogfile($filename)

Adds a file for logging.

- -

enter

static function enter($method,  
$text = "")

Logs a method entry.

- -

leave

static function leave($text = "")

Logs a method exit.

- -

fine

static function fine($text)

Logs a fine trace.

- -

debug

static function debug($text)

Logs a debug trace.

- -

info

static function info($text)

Logs an info trace.

- -

warn

static function warn($text)

Logs a warn trace.

- -

error

static function error($text)

Logs an error trace.

- -

writeln

static function writeln($text)

Writes a line with a linefeed to the log.

- -

write

static function write($text)

Writes a line to the log.

- -

close

static function close()

Closes all open logfiles.

- -
- - - - - - - - - - -
public static $level_fine
Specifies the fine logging level.
public static $level_debug
Specifies the debug logging level.
public static $level_info
Specifies the info logging level.
public static $level_warn
Specifies the warn logging level.
public static $level_error
Specifies the error logging level.
public static $current
Default is true.
public static $tab
Default is true.
public static $logfiles
Holds the array of logfiles.
public static $printLog
Specifies if the log should be printed out.
static function addLogfile($filename)
Adds a file for logging.
static function enter($method,  
$text = "")
Logs a method entry.
static function leave($text = "")
Logs a method exit.
static function fine($text)
Logs a fine trace.
static function debug($text)
Logs a debug trace.
static function info($text)
Logs an info trace.
static function warn($text)
Logs a warn trace.
static function error($text)
Logs an error trace.
static function writeln($text)
Writes a line with a linefeed to the log.
static function write($text)
Writes a line to the log.
static function close()
Closes all open logfiles.
- - - - - - - - \ No newline at end of file diff --git a/docs/php-api/files/util/mxPoint-php.html b/docs/php-api/files/util/mxPoint-php.html deleted file mode 100644 index 45cfaf65a..000000000 --- a/docs/php-api/files/util/mxPoint-php.html +++ /dev/null @@ -1,53 +0,0 @@ - - -mxPoint - - - - - - - - - -

mxPoint

Implements a 2-dimensional point with double precision coordinates.

Summary
mxPointImplements a 2-dimensional point with double precision coordinates.
Variables
xHolds the x-coordinate of the point.
yHolds the y-coordinate of the point.
Functions
mxPointConstructs a new point for the optional x and y coordinates.
equalsReturns true if the given object equals this point.
copyReturns a copy of this mxPoint.
- -

Variables

- -

x

var $x

Holds the x-coordinate of the point.  Default is 0.

- -

y

var $y

Holds the y-coordinate of the point.  Default is 0.

- -

Functions

- -

mxPoint

function mxPoint($x =  0,
$y =  0)

Constructs a new point for the optional x and y coordinates.  If no coordinates are given, then the default values for x and y are used.

- -

equals

function equals($obj)

Returns true if the given object equals this point.

- -

copy

function copy()

Returns a copy of this mxPoint.

- -
- - - - - - - - - - -
var $x
Holds the x-coordinate of the point.
var $y
Holds the y-coordinate of the point.
function mxPoint($x =  0,
$y =  0)
Constructs a new point for the optional x and y coordinates.
function equals($obj)
Returns true if the given object equals this point.
function copy()
Returns a copy of this mxPoint.
- - - - - - - - \ No newline at end of file diff --git a/docs/php-api/files/util/mxRectangle-php.html b/docs/php-api/files/util/mxRectangle-php.html deleted file mode 100644 index ae18cbfd3..000000000 --- a/docs/php-api/files/util/mxRectangle-php.html +++ /dev/null @@ -1,63 +0,0 @@ - - -mxRectangle - - - - - - - - - -

mxRectangle

Implements a 2-dimensional rectangle with double precision coordinates.

Summary
mxRectangleImplements a 2-dimensional rectangle with double precision coordinates.
Variables
widthHolds the width of the rectangle.
heightHolds the height of the rectangle.
Functions
mxRectangleConstructs a new rectangle for the optional parameters.
setRectSets this rectangle to the specified values.
getCenterXReturns the x-coordinate of the center point.
getCenterYReturns the y-coordinate of the center point.
addAdds the given rectangle to this rectangle.
growGrows the rectangle by the given amount, that is, this method subtracts the given amount from the x- and y-coordinates and adds twice the amount to the width and height.
equalsReturns true if the given object equals this rectangle.
copyReturns a copy of this mxRectangle.
- -

Variables

- -

width

var $width

Holds the width of the rectangle.  Default is 0.

- -

height

var $height

Holds the height of the rectangle.  Default is 0.

- -

Functions

- -

mxRectangle

function mxRectangle($x =  0,
$y =  0,
$width =  0,
$height =  0)

Constructs a new rectangle for the optional parameters.  If no parameters are given then the respective default values are used.

- -

setRect

function setRect($x,
$y,
$width,
$height)

Sets this rectangle to the specified values.

- -

getCenterX

function getCenterX()

Returns the x-coordinate of the center point.

- -

getCenterY

function getCenterY()

Returns the y-coordinate of the center point.

- -

add

function add($rect)

Adds the given rectangle to this rectangle.

- -

grow

function grow($amount)

Grows the rectangle by the given amount, that is, this method subtracts the given amount from the x- and y-coordinates and adds twice the amount to the width and height.

- -

equals

function equals($obj)

Returns true if the given object equals this rectangle.

- -

copy

function copy()

Returns a copy of this mxRectangle.

- -
- - - - - - - - - - -
var $width
Holds the width of the rectangle.
var $height
Holds the height of the rectangle.
function mxRectangle($x =  0,
$y =  0,
$width =  0,
$height =  0)
Constructs a new rectangle for the optional parameters.
function setRect($x,
$y,
$width,
$height)
Sets this rectangle to the specified values.
function getCenterX()
Returns the x-coordinate of the center point.
function getCenterY()
Returns the y-coordinate of the center point.
function add($rect)
Adds the given rectangle to this rectangle.
function grow($amount)
Grows the rectangle by the given amount, that is, this method subtracts the given amount from the x- and y-coordinates and adds twice the amount to the width and height.
function equals($obj)
Returns true if the given object equals this rectangle.
function copy()
Returns a copy of this mxRectangle.
- - - - - - - - \ No newline at end of file diff --git a/docs/php-api/files/util/mxUtils-php.html b/docs/php-api/files/util/mxUtils-php.html deleted file mode 100644 index 628706ed5..000000000 --- a/docs/php-api/files/util/mxUtils-php.html +++ /dev/null @@ -1,119 +0,0 @@ - - -mxUtils - - - - - - - - - -

mxUtils

Helper methods.

Summary
mxUtilsHelper methods.
Functions
getLabelSizeReturns the size of the given label.
getLabelPaintBoundsReturns the paint bounds for the given label.
getScaledLabelBoundsReturns the bounds for a label for the given location and size, taking into account the alignment and spacing in the specified style, as well as the width and height of the rectangle that contains the label.
getSizeForStringReturns an mxRectangle with the size (width and height in pixels) of the given string.
flipImageFlips the given image horizontally and/or vertically and returns a new image instance.
toRadiansConverts the given degree to radians.
getBoundingBoxReturns the bounding box for the rotated rectangle.
getRotatedPointRotates the given point by the given cos and sin.
translatePointsCreates a new list of new points obtained by translating the points in the given list by the given vector.
containsReturns true if the specified point (x, y) is contained in the given rectangle.
intersectionReturns the intersection of two lines as an mxPoint.
encodeImageEncodes the given image using the GD image encoding routines.
getStylenameReturns the stylename in a style of the form [stylename;|key=value;] or an empty string if the given style does not contain a stylename.
getStylenamesReturns the stylenames in a style of the form [stylename;|key=value;] or an empty array if the given style does not contain any stylenames.
indexOfStylenameReturns the index of the given stylename in the given style.
addStylenameAdds the specified stylename to the given style if it does not already contain the stylename.
removeStylenameRemoves all occurrences of the specified stylename in the given style and returns the updated style.
removeAllStylenamesRemoves all stylenames from the given style and returns the updated style.
setCellStylesAssigns the value for the given key in the styles of the given cells, or removes the key from the styles if the value is null.
setStyleAdds or removes the given key, value pair to the style and returns the new style.
setCellStyleFlagsSets or toggles the flag bit for the given key in the cell’s styles.
setStyleFlagSets or removes the given key from the specified style and returns the new style.
getValueReturns the value for key in dictionary or the given default value if no value is defined for the key.
getNumberReturns the value for key in dictionary or 0 if no value is defined for the key.
indexOfReturns the index of obj in array or -1 if the array does not contains the given object.
readFileReads the given filename into a string.
isNodeReturns true if the given value is an XML node with the node name and if the optional attribute has the specified value.
loadImageLoads an image from the local filesystem, a data URI or any other URL.
createXmlDocumentReturns a new, empty XML document.
loadXmlDocumentReturns a new DOM document for the given URI.
parseXmlReturns a new DOM document for the given XML string.
evaluateEvaluates an expression to a class member.
findNodeReturns the first node where attr equals value.
getTrueTypeFontReturns the truetype font to be used to draw the text with the given style.
getTrueTypeFontSizeReturns the truetype font size to be used to draw the text with the given style.
getFixedFontSizeReturns the fixed font size for GD (1 t0 5) for the given font properties
stackTracePrints a simple stack trace in the error log.
- -

Functions

- -

getLabelSize

static function getLabelSize($label,
$style)

Returns the size of the given label.

- -

getLabelPaintBounds

static function getLabelPaintBounds($label,
$style,
$isHtml,
$offset,
$vertexBounds,
$scale)

Returns the paint bounds for the given label.

- -

getScaledLabelBounds

static function getScaledLabelBounds($x,
$y,
$size,
$outerWidth,
$outerHeight,
$style,
$scale)

Returns the bounds for a label for the given location and size, taking into account the alignment and spacing in the specified style, as well as the width and height of the rectangle that contains the label.  (For edge labels this width and height is 0.)  The scale is used to scale the given size and the spacings in the specified style.

- -

getSizeForString

static function getSizeForString($text,  
$fontSize =  0,
$fontFamily =  null)

Returns an mxRectangle with the size (width and height in pixels) of the given string.  The string may contain HTML markup.  Newlines should be converted to <br> before calling this method.

Parameters

textString whose size should be returned.
fontSizeInteger that specifies the font size in pixels.  Default is mxConstants.DEFAULT_FONTSIZE.
fontFamilyString that specifies the name of the font famil.y Default is mxConstants.DEFAULT_FONTFAMILY.
- -

flipImage

static function flipImage($img,
$flipH,
$flipV)

Flips the given image horizontally and/or vertically and returns a new image instance.

- -

toRadians

static function toRadians($deg)

Converts the given degree to radians.

- -

getBoundingBox

static function getBoundingBox($rect,
$rotation)

Returns the bounding box for the rotated rectangle.

- -

getRotatedPoint

static function getRotatedPoint($pt,  
$cos,  
$sin,  
$cx =  null)

Rotates the given point by the given cos and sin.

- -

translatePoints

static function translatePoints($pts,
$dx,
$dy)

Creates a new list of new points obtained by translating the points in the given list by the given vector.  Elements that are not mxPoints are added to the result as-is.

- -

contains

static function contains($state,
$x,
$y)

Returns true if the specified point (x, y) is contained in the given rectangle.

Parameters

boundsmxRectangle that represents the area.
xX-coordinate of the point.
yY-coordinate of the point.
- -

intersection

static function intersection($x0,
$y0,
$x1,
$y1,
$x2,
$y2,
$x3,
$y3)

Returns the intersection of two lines as an mxPoint.

Parameters

x0X-coordinate of the first line’s startpoint.
y0X-coordinate of the first line’s startpoint.
x1X-coordinate of the first line’s endpoint.
y1Y-coordinate of the first line’s endpoint.
x2X-coordinate of the second line’s startpoint.
y2Y-coordinate of the second line’s startpoint.
x3X-coordinate of the second line’s endpoint.
y3Y-coordinate of the second line’s endpoint.
- -

encodeImage

static function encodeImage($image,  
$format = null)

Encodes the given image using the GD image encoding routines.  Supported formats are gif, jpg and png (default).

Parameters

imageGD image to be encoded.
formatString that defines the encoding format.  Default is png.
- -

getStylename

static function getStylename($style)

Returns the stylename in a style of the form [stylename;|key=value;] or an empty string if the given style does not contain a stylename.

Parameters

styleString of the form [stylename;|key=value;].
- -

getStylenames

static function getStylenames($style)

Returns the stylenames in a style of the form [stylename;|key=value;] or an empty array if the given style does not contain any stylenames.

Parameters

styleString of the form [stylename;|key=value;].
- -

indexOfStylename

static function indexOfStylename($style,
$stylename)

Returns the index of the given stylename in the given style.  This returns -1 if the given stylename does not occur (as a stylename) in the given style, otherwise it returns the index of the first character.

- -

addStylename

static function addStylename($style,
$stylename)

Adds the specified stylename to the given style if it does not already contain the stylename.

- -

removeStylename

static function removeStylename($style,
$stylename)

Removes all occurrences of the specified stylename in the given style and returns the updated style.  Trailing semicolons are preserved.

- -

removeAllStylenames

static function removeAllStylenames($style)

Removes all stylenames from the given style and returns the updated style.

- -

setCellStyles

static function setCellStyles($model,
$cells,
$key,
$value)

Assigns the value for the given key in the styles of the given cells, or removes the key from the styles if the value is null.

Parameters

modelmxGraphModel to execute the transaction in.
cellsArray of mxCells to be updated.
keyKey of the style to be changed.
valueNew value for the given key.
- -

setStyle

static function setStyle($style,
$key,
$value)

Adds or removes the given key, value pair to the style and returns the new style.  If value is null or zero length then the key is removed from the style.

Parameters

styleString of the form stylename[;key=value]
keyKey of the style to be changed.
valueNew value for the given key.
- -

setCellStyleFlags

static function setCellStyleFlags($model,
$cells,
$key,
$flag,
$value)

Sets or toggles the flag bit for the given key in the cell’s styles.  If value is null then the flag is toggled.

Example

var cells = graph.getSelectionCells();
-mxUtils.setCellStyleFlags(graph.model,
-         cells,
-         mxConstants.STYLE_FONTSTYLE,
-         mxConstants.FONT_BOLD);

Toggles the bold font style.

Parameters

modelmxGraphModel that contains the cells.
cellsArray of mxCells to change the style for.
keyKey of the style to be changed.
flagInteger for the bit to be changed.
valueOptional boolean value for the flag.
- -

setStyleFlag

static function setStyleFlag($style,
$key,
$flag,
$value)

Sets or removes the given key from the specified style and returns the new style.  If value is null then the flag is toggled.

Parameters

styleString of the form stylename[;key=value].
keyKey of the style to be changed.
flagInteger for the bit to be changed.
valueOptional boolean value for the given flag.
- -

getValue

static function getValue($dict,  
$key,  
$default = null)

Returns the value for key in dictionary or the given default value if no value is defined for the key.

Parameters

dictDictionary that contains the key, value pairs.
keyKey whose value should be returned.
defaultDefault value to return if the key is undefined.  Default is null.
- -

getNumber

static function getNumber($dict,  
$key,  
$default = )

Returns the value for key in dictionary or 0 if no value is defined for the key.

Parameters

dictDictionary that contains the key, value pairs.
keyKey whose value should be returned.
defaultOptional default value to return if no value is defined for the given key.  Default is 0.
- -

indexOf

static function indexOf($array,
$object)

Returns the index of obj in array or -1 if the array does not contains the given object.

Parameters

arrayArray to check for the given obj.
objObject to find in the given array.
- -

readFile

static function readFile($filename)

Reads the given filename into a string.  Shortcut for file_get_contents.

Parameters

filenameThe name of the file to read.
- -

isNode

static function isNode($value,  
$nodeName =  null,
$attributeName =  null,
$attributeValue =  null)

Returns true if the given value is an XML node with the node name and if the optional attribute has the specified value.

This implementation assumes that the given value is a DOM node if the nodeName property is not null.

Parameters

valueObject that should be examined as a node.
nodeNameString that specifies the node name.
attributeNameOptional attribute name to check.
attributeValueOptional attribute value to check.
- -

loadImage

static function loadImage($url)

Loads an image from the local filesystem, a data URI or any other URL.

- -

createXmlDocument

static function createXmlDocument()

Returns a new, empty XML document.

- -

loadXmlDocument

static function loadXmlDocument($uri)

Returns a new DOM document for the given URI.

- -

parseXml

static function parseXml($xml)

Returns a new DOM document for the given XML string.

- -

evaluate

static function evaluate($expression)

Evaluates an expression to a class member.  The range of supported expressions is limited to static class members with a dot-notation, such as mxEdgeStyle.ElbowConnector.

- -

findNode

static function findNode($node,
$attr,
$value)

Returns the first node where attr equals value.  This implementation does not use XPath.

- -

getTrueTypeFont

static function getTrueTypeFont($style)

Returns the truetype font to be used to draw the text with the given style.

- -

getTrueTypeFontSize

static function getTrueTypeFontSize($size)

Returns the truetype font size to be used to draw the text with the given style.  This returns the fontSize in the style of the default fontsize multiplied with <ttfSizeFactor>.

- -

getFixedFontSize

static function getFixedFontSize($fontSize,  
$fontFamily,  
$fontStyle = null)

Returns the fixed font size for GD (1 t0 5) for the given font properties

- -

stackTrace

static function stackTrace()

Prints a simple stack trace in the error log.

- -
- - - - - - - - - - -
static function getLabelSize($label,
$style)
Returns the size of the given label.
static function getLabelPaintBounds($label,
$style,
$isHtml,
$offset,
$vertexBounds,
$scale)
Returns the paint bounds for the given label.
static function getScaledLabelBounds($x,
$y,
$size,
$outerWidth,
$outerHeight,
$style,
$scale)
Returns the bounds for a label for the given location and size, taking into account the alignment and spacing in the specified style, as well as the width and height of the rectangle that contains the label.
static function getSizeForString($text,  
$fontSize =  0,
$fontFamily =  null)
Returns an mxRectangle with the size (width and height in pixels) of the given string.
Implements a 2-dimensional rectangle with double precision coordinates.
static function flipImage($img,
$flipH,
$flipV)
Flips the given image horizontally and/or vertically and returns a new image instance.
static function toRadians($deg)
Converts the given degree to radians.
static function getBoundingBox($rect,
$rotation)
Returns the bounding box for the rotated rectangle.
static function getRotatedPoint($pt,  
$cos,  
$sin,  
$cx =  null)
Rotates the given point by the given cos and sin.
static function translatePoints($pts,
$dx,
$dy)
Creates a new list of new points obtained by translating the points in the given list by the given vector.
static function contains($state,
$x,
$y)
Returns true if the specified point (x, y) is contained in the given rectangle.
static function intersection($x0,
$y0,
$x1,
$y1,
$x2,
$y2,
$x3,
$y3)
Returns the intersection of two lines as an mxPoint.
Implements a 2-dimensional point with double precision coordinates.
static function encodeImage($image,  
$format = null)
Encodes the given image using the GD image encoding routines.
static function getStylename($style)
Returns the stylename in a style of the form [stylename;|key=value;] or an empty string if the given style does not contain a stylename.
static function getStylenames($style)
Returns the stylenames in a style of the form [stylename;|key=value;] or an empty array if the given style does not contain any stylenames.
static function indexOfStylename($style,
$stylename)
Returns the index of the given stylename in the given style.
static function addStylename($style,
$stylename)
Adds the specified stylename to the given style if it does not already contain the stylename.
static function removeStylename($style,
$stylename)
Removes all occurrences of the specified stylename in the given style and returns the updated style.
static function removeAllStylenames($style)
Removes all stylenames from the given style and returns the updated style.
static function setCellStyles($model,
$cells,
$key,
$value)
Assigns the value for the given key in the styles of the given cells, or removes the key from the styles if the value is null.
static function setStyle($style,
$key,
$value)
Adds or removes the given key, value pair to the style and returns the new style.
static function setCellStyleFlags($model,
$cells,
$key,
$flag,
$value)
Sets or toggles the flag bit for the given key in the cell’s styles.
static function setStyleFlag($style,
$key,
$flag,
$value)
Sets or removes the given key from the specified style and returns the new style.
static function getValue($dict,  
$key,  
$default = null)
Returns the value for key in dictionary or the given default value if no value is defined for the key.
static function getNumber($dict,  
$key,  
$default = )
Returns the value for key in dictionary or 0 if no value is defined for the key.
static function indexOf($array,
$object)
Returns the index of obj in array or -1 if the array does not contains the given object.
static function readFile($filename)
Reads the given filename into a string.
static function isNode($value,  
$nodeName =  null,
$attributeName =  null,
$attributeValue =  null)
Returns true if the given value is an XML node with the node name and if the optional attribute has the specified value.
static function loadImage($url)
Loads an image from the local filesystem, a data URI or any other URL.
static function createXmlDocument()
Returns a new, empty XML document.
static function loadXmlDocument($uri)
Returns a new DOM document for the given URI.
static function parseXml($xml)
Returns a new DOM document for the given XML string.
static function evaluate($expression)
Evaluates an expression to a class member.
static function findNode($node,
$attr,
$value)
Returns the first node where attr equals value.
static function getTrueTypeFont($style)
Returns the truetype font to be used to draw the text with the given style.
static function getTrueTypeFontSize($size)
Returns the truetype font size to be used to draw the text with the given style.
static function getFixedFontSize($fontSize,  
$fontFamily,  
$fontStyle = null)
Returns the fixed font size for GD (1 t0 5) for the given font properties
static function stackTrace()
Prints a simple stack trace in the error log.
public static $DEFAULT_FONTSIZE
Defines the default size (in px).
public static $DEFAULT_FONTFAMILY
Defines the default family for all truetype fonts.
Cells are the elements of the graph model.
Cells are the elements of the graph model.
- - - - - - - - \ No newline at end of file diff --git a/docs/php-api/files/view/mxCellState-php.html b/docs/php-api/files/view/mxCellState-php.html deleted file mode 100644 index 73e25160c..000000000 --- a/docs/php-api/files/view/mxCellState-php.html +++ /dev/null @@ -1,73 +0,0 @@ - - -mxCellState - - - - - - - - - -

mxCellState

Represents the current state of a cell in a given mxGraphView.

Summary
mxCellStateRepresents the current state of a cell in a given mxGraphView.
Variables
viewReference to the enclosing mxGraphView.
cellReference to the mxCell that is represented by this state.
styleContains an array of key, value pairs that represent the style of the cell.
invalidSpecifies if the state is invalid.
originmxPoint that holds the origin for all child cells.
absolutePointsHolds an array of mxPoints that represent the absolute points of an edge.
absoluteOffsetmxPoint that holds the absolute offset.
terminalDistanceCaches the distance between the end points for an edge.
lengthCaches the length of an edge.
segmentsArray of numbers that represent the cached length of each segment of the edge.
labelBoundsHolds the rectangle which contains the label.
boundingBoxHolds the largest rectangle which contains all rendering for this cell.
Functions
mxCellStateConstructs a new object that represents the current state of the given cell in the specified view.
getPerimeterBoundsReturns the mxRectangle that should be used as the perimeter of the cell.
copyReturns a copy of this state where all members are deeply cloned except the view and cell references, which are copied with no cloning to the new instance.
- -

Variables

- -

view

var $view

Reference to the enclosing mxGraphView.

- -

cell

var $cell

Reference to the mxCell that is represented by this state.

- -

style

var $style

Contains an array of key, value pairs that represent the style of the cell.

- -

invalid

var $invalid

Specifies if the state is invalid.  Default is true.

- -

origin

var $origin

mxPoint that holds the origin for all child cells.  Default is a new empty mxPoint.

- -

absolutePoints

var $absolutePoints

Holds an array of mxPoints that represent the absolute points of an edge.

- -

absoluteOffset

var $absoluteOffset

mxPoint that holds the absolute offset.  For edges, this is the absolute coordinates of the label position.  For vertices, this is the offset of the label relative to the top, left corner of the vertex.

- -

terminalDistance

var $terminalDistance

Caches the distance between the end points for an edge.

- -

length

var $length

Caches the length of an edge.

- -

segments

var $segments

Array of numbers that represent the cached length of each segment of the edge.

- -

labelBounds

var $labelBounds

Holds the rectangle which contains the label.

- -

boundingBox

var $boundingBox

Holds the largest rectangle which contains all rendering for this cell.

- -

Functions

- -

mxCellState

function mxCellState($view =  null,
$cell =  null,
$style =  null)

Constructs a new object that represents the current state of the given cell in the specified view.

Parameters

viewmxGraphView that contains the state.
cellmxCell that this state represents.
styleArray of key, value pairs that constitute the style.
- -

getPerimeterBounds

function getPerimeterBounds($border =  0)

Returns the mxRectangle that should be used as the perimeter of the cell.

- -

copy

function copy()

Returns a copy of this state where all members are deeply cloned except the view and cell references, which are copied with no cloning to the new instance.

- -
- - - - - - - - - - -
Implements a view for the graph.
var $view
Reference to the enclosing mxGraphView.
var $cell
Reference to the mxCell that is represented by this state.
Cells are the elements of the graph model.
var $style
Contains an array of key, value pairs that represent the style of the cell.
var $invalid
Specifies if the state is invalid.
var $origin
mxPoint that holds the origin for all child cells.
Implements a 2-dimensional point with double precision coordinates.
var $absolutePoints
Holds an array of mxPoints that represent the absolute points of an edge.
var $absoluteOffset
mxPoint that holds the absolute offset.
var $terminalDistance
Caches the distance between the end points for an edge.
var $length
Caches the length of an edge.
var $segments
Array of numbers that represent the cached length of each segment of the edge.
var $labelBounds
Holds the rectangle which contains the label.
var $boundingBox
Holds the largest rectangle which contains all rendering for this cell.
function mxCellState($view =  null,
$cell =  null,
$style =  null)
Constructs a new object that represents the current state of the given cell in the specified view.
function getPerimeterBounds($border =  0)
Returns the mxRectangle that should be used as the perimeter of the cell.
Implements a 2-dimensional rectangle with double precision coordinates.
function copy()
Returns a copy of this state where all members are deeply cloned except the view and cell references, which are copied with no cloning to the new instance.
- - - - - - - - \ No newline at end of file diff --git a/docs/php-api/files/view/mxConnectionConstraint-php.html b/docs/php-api/files/view/mxConnectionConstraint-php.html deleted file mode 100644 index 089a25196..000000000 --- a/docs/php-api/files/view/mxConnectionConstraint-php.html +++ /dev/null @@ -1,49 +0,0 @@ - - -mxConnectionConstraint - - - - - - - - - -

mxConnectionConstraint

Defines an object that contains the constraints about how to connect one side of an edge to its terminal.

Summary
mxConnectionConstraintDefines an object that contains the constraints about how to connect one side of an edge to its terminal.
Variables
pointmxPoint that specifies the fixed location of the connection point.
perimeterBoolean that specifies if the point should be projected onto the perimeter of the terminal.
Functions
mxConnectionConstraintConstructs a new connection constraint for the given point and boolean arguments.
- -

Variables

- -

point

var $point

mxPoint that specifies the fixed location of the connection point.

- -

perimeter

var $perimeter

Boolean that specifies if the point should be projected onto the perimeter of the terminal.

- -

Functions

- -

mxConnectionConstraint

function mxConnectionConstraint($point =  null,
$perimeter =  true)

Constructs a new connection constraint for the given point and boolean arguments.

Parameters

pointOptional mxPoint that specifies the fixed location of the point in relative coordinates.  Default is null.
perimeterOptional boolean that specifies if the fixed point should be projected onto the perimeter of the terminal.  Default is true.
- -
- - - - - - - - - - -
var $point
mxPoint that specifies the fixed location of the connection point.
Implements a 2-dimensional point with double precision coordinates.
var $perimeter
Boolean that specifies if the point should be projected onto the perimeter of the terminal.
function mxConnectionConstraint($point =  null,
$perimeter =  true)
Constructs a new connection constraint for the given point and boolean arguments.
- - - - - - - - \ No newline at end of file diff --git a/docs/php-api/files/view/mxEdgeStyle-php.html b/docs/php-api/files/view/mxEdgeStyle-php.html deleted file mode 100644 index f8491909e..000000000 --- a/docs/php-api/files/view/mxEdgeStyle-php.html +++ /dev/null @@ -1,67 +0,0 @@ - - -mxEdgeStyleFunction - - - - - - - - - -

mxEdgeStyleFunction

Defines the requirements for an edge style function.

Summary
mxEdgeStyleFunctionDefines the requirements for an edge style function.
Functions
applyImplements an edge style function.
mxEntityRelationImplements an entity relation style for edges (as used in database schema diagrams).
mxLoopImplements a self-reference, aka.
mxElbowConnectorUses either <SideToSide> or <TopToBottom> depending on the horizontal flag in the cell style.
mxSideToSideImplements a vertical elbow edge.
mxTopToBottomImplements a horizontal elbow edge.
mxEdgeStyleProvides various edge styles to be used as the values for mxConstants.STYLE_EDGE in a cell style.
Variables
EntityRelationProvides an entity relation style for edges (as used in database schema diagrams).
LoopProvides a self-reference, aka.
ElbowConnectorProvides an elbow connector.
SideToSideProvides a side to side connector.
TopToBottomProvides a top to bottom connector.
- -

Functions

- -

apply

public function apply($state,
$source,
$target,
$points,
&$result)

Implements an edge style function.  At the time the function is called, the result array contains a placeholder (null) for the first absolute point, that is, the point where the edge and source terminal are connected.  The implementation of the style then adds all intermediate waypoints except for the last point, that is, the connection point between the edge and the target terminal.  The first ant the last point in the result array are then replaced with mxPoints that take into account the terminal’s perimeter and next point on the edge.

Parameters

statemxCellState that represents the edge to be updated.
sourcemxCellState that represents the source terminal.
targetmxCellState that represents the target terminal.
pointsList of relative control points.
resultArray of mxPoints that represent the actual points of the edge.
- -

mxEntityRelation

Implements an entity relation style for edges (as used in database schema diagrams).  At the time the function is called, the result array contains a placeholder (null) for the first absolute point, that is, the point where the edge and source terminal are connected.  The implementation of the style then adds all intermediate waypoints except for the last point, that is, the connection point between the edge and the target terminal.  The first ant the last point in the result array are then replaced with mxPoints that take into account the terminal’s perimeter and next point on the edge.

- -

mxLoop

Implements a self-reference, aka. loop.

- -

mxElbowConnector

Uses either <SideToSide> or <TopToBottom> depending on the horizontal flag in the cell style.  <SideToSide> is used if horizontal is true or unspecified.  See <EntityRelation> for a description of the parameters.

- -

mxSideToSide

Implements a vertical elbow edge.  See <EntityRelation> for a description of the parameters.

- -

mxTopToBottom

Implements a horizontal elbow edge.  See <EntityRelation> for a description of the parameters.

- -

mxEdgeStyle

Provides various edge styles to be used as the values for mxConstants.STYLE_EDGE in a cell style.

Summary
Variables
EntityRelationProvides an entity relation style for edges (as used in database schema diagrams).
LoopProvides a self-reference, aka.
ElbowConnectorProvides an elbow connector.
SideToSideProvides a side to side connector.
TopToBottomProvides a top to bottom connector.
- -

Variables

- -

EntityRelation

public static $EntityRelation

Provides an entity relation style for edges (as used in database schema diagrams).

- -

Loop

public static $Loop

Provides a self-reference, aka. loop.

- -

ElbowConnector

public static $ElbowConnector

Provides an elbow connector.

- -

SideToSide

public static $SideToSide

Provides a side to side connector.

- -

TopToBottom

public static $TopToBottom

Provides a top to bottom connector.

- -
- - - - - - - - - - -
public function apply($state,
$source,
$target,
$points,
&$result)
Implements an edge style function.
public static $STYLE_EDGE
Defines the key for the edge style.
public static $EntityRelation
Provides an entity relation style for edges (as used in database schema diagrams).
public static $Loop
Provides a self-reference, aka.
public static $ElbowConnector
Provides an elbow connector.
public static $SideToSide
Provides a side to side connector.
public static $TopToBottom
Provides a top to bottom connector.
Represents the current state of a cell in a given mxGraphView.
Implements a 2-dimensional point with double precision coordinates.
- - - - - - - - \ No newline at end of file diff --git a/docs/php-api/files/view/mxGraph-php.html b/docs/php-api/files/view/mxGraph-php.html deleted file mode 100644 index 44f16acc8..000000000 --- a/docs/php-api/files/view/mxGraph-php.html +++ /dev/null @@ -1,137 +0,0 @@ - - -mxGraph - - - - - - - - - -

mxGraph

Implements a graph component.

Summary
mxGraphImplements a graph component.
Variables
modelHolds the mxGraphModel.
stylesheetHolds the mxStylesheet.
viewHolds the mxGraphView.
gridSizeSpecifies the grid size.
labelsVisibleSpecifies if labels should be visible.
defaultLoopStylemxEdgeStyle to be used for loops.
imageBundlesHolds the list of image bundles.
Functions
mxGraphModelConstructs a new graph model using the specified root cell.
createStylesheetCreates a new mxStylesheet to be used in this graph.
createGraphViewCreates a new mxGraphView to be used in this graph.
getModelReturns the mxGraphModel that contains the cells.
getStylesheetReturns the mxStylesheet that defines the style.
getViewReturns the mxGraphView that contains the mxCellStates.
getDefaultParentReturns the first child child of mxGraphModel.root.
convertValueToStringReturns the textual representation for the given cell.
getLabelReturns a string or DOM node that represents the label for the given cell.
getChildOffsetForCellReturns the offset to be used for the cells inside the given cell.
isOrthogonalReturns true if perimeter points should be computed such that the resulting edge has only horizontal or vertical segments.
isCellVisibleReturns true if the given cell is visible.
isCellCollapsedReturns true if the given cell is collapsed.
isCellCollapsedReturns true if the given cell is connectable.
getCellGeometryReturns the mxGeometry for the given mxCell.
getCellStyle
postProcessCellStyleTries to resolve the value for the image style in the image bundles and turns short data URIs as defined in mxImageBundle to data URIs as defined in RFC 2397 of the IETF.
setCellStylesSets the key to value in the styles of the given cells.
addBundleAdds the specified mxImageBundle.
removeImageBundleRemoves the specified mxImageBundle.
getImageFromBundlesSearches all imageBundles for the specified key and returns the value for the first match or null if the key is not found.
getImageBundlesReturns the imageBundles.
setImageBundlesSets the imageBundles.
insertVertexAdds a new vertex into the given parent mxCell using value as the user object and the given coordinates as the mxGeometry of the new vertex.
createVertexCreates the vertex to be used in insertVertex.
insertEdgeAdds a new edge into the given parent mxCell using value as the user object and the given source and target as the terminals of the new edge.
createEdgeCreates the edge to be used in insertEdge.
getGraphBoundsReturns the bounds of the visible graph.
getBoundingBoxReturns the bounding box of the given cell including all connected edges if includeEdge is true.
getPaintBoundsReturns the bounding box of the given cells and their descendants.
getBoundsForCellsReturns the bounds for the given cells.
getCellBoundsReturns the bounds of the given cell including all connected edges if includeEdge is true.
getConnectionConstraintReturns an mxConnectionConstraint that describes the given connection point.
getConnectionPointReturns the nearest point in the list of absolute points or the center of the opposite terminal.
findTreeRootsReturns all children in the given parent which do not have incoming edges.
createImage
drawGraphDraws the given cell onto the specified canvas.
paintCellDraws the given cell onto the specified canvas.
paintStateDraws the given cell and label onto the specified canvas.
graphModelChangedCalled when the graph model has changed.
- -

Variables

- -

model

var $model

Holds the mxGraphModel.

- -

stylesheet

var $stylesheet

Holds the mxStylesheet.

- -

view

var $view

Holds the mxGraphView.

- -

gridSize

var $gridSize

Specifies the grid size.  Default is 10.

- -

labelsVisible

var $labelsVisible

Specifies if labels should be visible.  This is used in getLabel.  Default is true.

- -

defaultLoopStyle

var $defaultLoopStyle

mxEdgeStyle to be used for loops.  This is a fallback for loops if the mxConstants.STYLE_LOOP is undefined.  Default is mxEdgeStyle.Loop.

- -

imageBundles

protected $imageBundles

Holds the list of image bundles.

- -

Functions

- -

mxGraphModel

Constructs a new graph model using the specified root cell.

- -

createStylesheet

function createStylesheet()

Creates a new mxStylesheet to be used in this graph.

- -

createGraphView

function createGraphView()

Creates a new mxGraphView to be used in this graph.

- -

getModel

function getModel()

Returns the mxGraphModel that contains the cells.

- -

getStylesheet

function getStylesheet()

Returns the mxStylesheet that defines the style.

- -

getView

function getView()

Returns the mxGraphView that contains the mxCellStates.

- -

getDefaultParent

function getDefaultParent()

Returns the first child child of mxGraphModel.root.  The value returned by this function should be used as the parent for new cells (aka default layer).

- -

convertValueToString

function convertValueToString($cell)

Returns the textual representation for the given cell.  This implementation returns the nodename or string-representation of the user object.

- -

getLabel

function getLabel($cell)

Returns a string or DOM node that represents the label for the given cell.  This implementation uses convertValueToString if labelsVisible is true.  Otherwise it returns an empty string.

- -

getChildOffsetForCell

function getChildOffsetForCell($cell)

Returns the offset to be used for the cells inside the given cell.  The root and layer cells may be identified using <mxGraphModel.isRoot> and <mxGraphModel.isLayer>.  For all other current roots, the <mxGraphView.currentRoot> field points to the respective cell, so that the following holds: cell == this.view.currentRoot.  This implementation returns null.

Parameters

cellmxCell whose offset should be returned.
- -

isOrthogonal

function isOrthogonal($edge)

Returns true if perimeter points should be computed such that the resulting edge has only horizontal or vertical segments.

Parameters

edgemxCellState that represents the edge.
- -

isCellVisible

function isCellVisible($cell)

Returns true if the given cell is visible.

- -

isCellCollapsed

function isCellCollapsed($cell)

Returns true if the given cell is collapsed.

- -

isCellCollapsed

Returns true if the given cell is connectable.

- -

getCellGeometry

function getCellGeometry($cell)

Returns the mxGeometry for the given mxCell.

- -

getCellStyle

function getCellStyle($cell)
- -

postProcessCellStyle

function postProcessCellStyle($style)

Tries to resolve the value for the image style in the image bundles and turns short data URIs as defined in mxImageBundle to data URIs as defined in RFC 2397 of the IETF.

- -

setCellStyles

function setCellStyles($key,
$value,
$cells)

Sets the key to value in the styles of the given cells.  This will modify the existing cell styles in-place and override any existing assignment for the given key.  If no cells are specified, then the selection cells are changed.  If no value is specified, then the respective key is removed from the styles.

Parameters

keyString representing the key to be assigned.
valueString representing the new value for the key.
cellsArray of mxCells to change the style for.
- -

addBundle

Adds the specified mxImageBundle.

- -

removeImageBundle

function removeImageBundle($bundle)

Removes the specified mxImageBundle.

- -

getImageFromBundles

function getImageFromBundles($key)

Searches all imageBundles for the specified key and returns the value for the first match or null if the key is not found.

- -

getImageBundles

function getImageBundles()

Returns the imageBundles.

- -

setImageBundles

function setImageBundles($value)

Sets the imageBundles.

- -

insertVertex

function insertVertex($parent,  
$id =  null,
$value =  null,
$x =  0,
$y =  0,
$width =  1,
$height =  1,
$style =  null,
$relative =  false)

Adds a new vertex into the given parent mxCell using value as the user object and the given coordinates as the mxGeometry of the new vertex.  The id and style are used for the respective properties of the new mxCell, which is returned.

Parameters

parentmxCell that specifies the parent of the new vertex.
idOptional string that defines the Id of the new vertex.
valueObject to be used as the user object.
xInteger that defines the x coordinate of the vertex.
yInteger that defines the y coordinate of the vertex.
widthInteger that defines the width of the vertex.
heightInteger that defines the height of the vertex.
styleOptional string that defines the cell style.
relativeOptional boolean that specifies if the geometry is relative.  Default is false.
- -

createVertex

function createVertex($parent,  
$id =  null,
$value =  null,
$x =  0,
$y =  0,
$width =  1,
$height =  1,
$style =  null,
$relative =  false)

Creates the vertex to be used in insertVertex.

- -

insertEdge

function insertEdge($parent,  
$id =  null,
$value =  null,
$source =  null,
$target =  null,
$style =  null)

Adds a new edge into the given parent mxCell using value as the user object and the given source and target as the terminals of the new edge.  The id and style are used for the respective properties of the new mxCell, which is returned.

Parameters

parentmxCell that specifies the parent of the new edge.
idOptional string that defines the Id of the new edge.
valueJavaScript object to be used as the user object.
sourcemxCell that defines the source of the edge.
targetmxCell that defines the target of the edge.
styleOptional string that defines the cell style.
- -

createEdge

function createEdge($parent,  
$id =  null,
$value =  null,
$source =  null,
$target =  null,
$style =  null)

Creates the edge to be used in insertEdge.  This implementation does not set the source and target of the edge, these are set when the edge is added to the model.

- -

getGraphBounds

function getGraphBounds()

Returns the bounds of the visible graph.  Shortcut to mxGraphView.getGraphBounds.

- -

getBoundingBox

function getBoundingBox($cell,  
$includeEdges =  false,
$includeDescendants =  false)

Returns the bounding box of the given cell including all connected edges if includeEdge is true.

- -

getPaintBounds

function getPaintBounds($cells)

Returns the bounding box of the given cells and their descendants.

- -

getBoundsForCells

function getBoundsForCells($cells,  
$includeEdges =  false,
$includeDescendants =  false,
$boundingBox =  false)

Returns the bounds for the given cells.

- -

getCellBounds

function getCellBounds($cell,  
$includeEdges =  false,
$includeDescendants =  false,
$boundingBox =  false)

Returns the bounds of the given cell including all connected edges if includeEdge is true.

- -

getConnectionConstraint

function getConnectionConstraint($edge,
$terminal,
$source)

Returns an mxConnectionConstraint that describes the given connection point.  This result can then be passed to getConnectionPoint.

Parameters

edgemxCellState that represents the edge.
terminalmxCellState that represents the terminal.
sourceBoolean indicating if the terminal is the source or target.
- -

getConnectionPoint

function getConnectionPoint($vertex,
$constraint)

Returns the nearest point in the list of absolute points or the center of the opposite terminal.

Parameters

vertexmxCellState that represents the vertex.
constraintmxConnectionConstraint that represents the connection point constraint as returned by getConnectionConstraint.
- -

findTreeRoots

function findTreeRoots($parent,  
$isolate =  false,
$invert =  false)

Returns all children in the given parent which do not have incoming edges.  If the result is empty then the with the greatest difference between incoming and outgoing edges is returned.

Parameters

parentmxCell whose children should be checked.
isolateOptional boolean that specifies if edges should be ignored if the opposite end is not a child of the given parent cell.  Default is false.
invertOptional boolean that specifies if outgoing or incoming edges should be counted for a tree root.  If false then outgoing edges will be counted.  Default is false.
- -

createImage

function createImage($clip =  null,
$background =  null)
- -

drawGraph

function drawGraph($canvas)

Draws the given cell onto the specified canvas.

- -

paintCell

Draws the given cell onto the specified canvas.

- -

paintState

Draws the given cell and label onto the specified canvas.  No children or descendants are painted.

- -

graphModelChanged

function graphModelChanged($event)

Called when the graph model has changed.

- -
- - - - - - - - - - -
var $model
Holds the mxGraphModel.
Constructs a new graph model using the specified root cell.
var $stylesheet
Holds the mxStylesheet.
Defines the appearance of the cells in a graph.
var $view
Holds the mxGraphView.
Implements a view for the graph.
var $gridSize
Specifies the grid size.
var $labelsVisible
Specifies if labels should be visible.
var $defaultLoopStyle
mxEdgeStyle to be used for loops.
Provides various edge styles to be used as the values for mxConstants.STYLE_EDGE in a cell style.
protected $imageBundles
Holds the list of image bundles.
function createStylesheet()
Creates a new mxStylesheet to be used in this graph.
function createGraphView()
Creates a new mxGraphView to be used in this graph.
function getModel()
Returns the mxGraphModel that contains the cells.
function getStylesheet()
Returns the mxStylesheet that defines the style.
function getView()
Returns the mxGraphView that contains the mxCellStates.
Represents the current state of a cell in a given mxGraphView.
function getDefaultParent()
Returns the first child child of mxGraphModel.root.
var $root
Holds the root cell, which in turn contains the cells that represent the layers of the diagram as child cells.
function convertValueToString($cell)
Returns the textual representation for the given cell.
function getLabel($cell)
Returns a string or DOM node that represents the label for the given cell.
function getChildOffsetForCell($cell)
Returns the offset to be used for the cells inside the given cell.
function isOrthogonal($edge)
Returns true if perimeter points should be computed such that the resulting edge has only horizontal or vertical segments.
function isCellVisible($cell)
Returns true if the given cell is visible.
function isCellCollapsed($cell)
Returns true if the given cell is collapsed.
function getCellGeometry($cell)
Returns the mxGeometry for the given mxCell.
Represents the geometry of a cell.
Cells are the elements of the graph model.
function getCellStyle($cell)
function postProcessCellStyle($style)
Tries to resolve the value for the image style in the image bundles and turns short data URIs as defined in mxImageBundle to data URIs as defined in RFC 2397 of the IETF.
function setCellStyles($key,
$value,
$cells)
Sets the key to value in the styles of the given cells.
Maps from keys to base64 encoded images or file locations.
function removeImageBundle($bundle)
Removes the specified mxImageBundle.
function getImageFromBundles($key)
Searches all imageBundles for the specified key and returns the value for the first match or null if the key is not found.
function getImageBundles()
Returns the imageBundles.
function setImageBundles($value)
Sets the imageBundles.
function insertVertex($parent,  
$id =  null,
$value =  null,
$x =  0,
$y =  0,
$width =  1,
$height =  1,
$style =  null,
$relative =  false)
Adds a new vertex into the given parent mxCell using value as the user object and the given coordinates as the mxGeometry of the new vertex.
function createVertex($parent,  
$id =  null,
$value =  null,
$x =  0,
$y =  0,
$width =  1,
$height =  1,
$style =  null,
$relative =  false)
Creates the vertex to be used in insertVertex.
function insertEdge($parent,  
$id =  null,
$value =  null,
$source =  null,
$target =  null,
$style =  null)
Adds a new edge into the given parent mxCell using value as the user object and the given source and target as the terminals of the new edge.
function createEdge($parent,  
$id =  null,
$value =  null,
$source =  null,
$target =  null,
$style =  null)
Creates the edge to be used in insertEdge.
function getGraphBounds()
Returns the bounds of the visible graph.
function getBoundingBox($cell,  
$includeEdges =  false,
$includeDescendants =  false)
Returns the bounding box of the given cell including all connected edges if includeEdge is true.
function getPaintBounds($cells)
Returns the bounding box of the given cells and their descendants.
function getBoundsForCells($cells,  
$includeEdges =  false,
$includeDescendants =  false,
$boundingBox =  false)
Returns the bounds for the given cells.
function getCellBounds($cell,  
$includeEdges =  false,
$includeDescendants =  false,
$boundingBox =  false)
Returns the bounds of the given cell including all connected edges if includeEdge is true.
function getConnectionConstraint($edge,
$terminal,
$source)
Returns an mxConnectionConstraint that describes the given connection point.
Defines an object that contains the constraints about how to connect one side of an edge to its terminal.
function getConnectionPoint($vertex,
$constraint)
Returns the nearest point in the list of absolute points or the center of the opposite terminal.
function findTreeRoots($parent,  
$isolate =  false,
$invert =  false)
Returns all children in the given parent which do not have incoming edges.
function createImage($clip =  null,
$background =  null)
function drawGraph($canvas)
Draws the given cell onto the specified canvas.
function graphModelChanged($event)
Called when the graph model has changed.
public static $STYLE_LOOP
Defines the key for the loop style.
public static $Loop
Provides a self-reference, aka.
function getGraphBounds()
Returns graphBounds.
- - - - - - - - \ No newline at end of file diff --git a/docs/php-api/files/view/mxGraphView-php.html b/docs/php-api/files/view/mxGraphView-php.html deleted file mode 100644 index 9b99cc61a..000000000 --- a/docs/php-api/files/view/mxGraphView-php.html +++ /dev/null @@ -1,137 +0,0 @@ - - -mxGraphView - - - - - - - - - -

mxGraphView

Implements a view for the graph.  Fires scale and translate events if one of the values change.

This class fires the following events

mxEvent.SCALE fires after the scale was changed in setScale.  The <code>scale</code> and <code>previousScale</code> arguments contain the new and previous scale.

mxEvent.TRANSLATE fires after the translate was changed in setTranslate.  The <code>translate</code> and <code>previousTranslate</code> arguments contain the new and previous value for translate.

Summary
mxGraphViewImplements a view for the graph.
Variables
EMPTY_POINTAn empty mxPoint instance.
graphHolds the mxGraph.
graphBoundsHolds the bounds of the current view.
scaleHolds the current scale.
translateHolds the current translate.
statesMaps from cells to states.
Functions
mxGraphViewConstructs a new view for the specified mxGraph.
setScaleSets the scale, revalidates the view and fires a scale event.
setTranslateSets the translation, revalidates the view and fires a translate event.
getGraphBoundsReturns graphBounds.
setGraphBoundsSets graphBounds.
getBoundsReturns the bounding for for an array of cells or null, if no cells are specified.
invalidate
invalidateInvalidates the cached cell states.
validateCalls validateCell and <validateCellState> and updates the graphBounds using getBoundingBox.
getBoundingBoxReturns the bounding box of the shape and the label for the given mxCellState and its children if recurse is true.
validateCellRecursively creates the cell state for the given cell if visible is true and the given cell is visible.
validateCellStatesValidates and repaints the mxCellState for the given mxCell.
updateCellStateUpdates the given mxCellState.
updateVertexStateValidates the given cell state.
updateEdgeStateValidates the given cell state.
updateVertexLabelOffsetUpdates the absoluteOffset of the given vertex cell state.
updateLabelBoundsUpdates the label bounds in the given state.
updateBoundingBoxUpdates the bounding box in the given cell state.
updateFixedTerminalPointsSets the initial absolute terminal points in the given state before the edge style is computed.
updateFixedTerminalPointSets the fixed source or target terminal point on the given edge.
updatePointsUpdates the absolute points in the given state using the specified array of mxPoints as the relative points.
transformControlPointTransforms the given control point to an absolute point.
getEdgeStyleReturns the edge style function to be used to render the given edge state.
updateFloatingTerminalPointsUpdates the terminal points in the given state after the edge style was computed for the edge.
updateFloatingTerminalPointUpdates the absolute terminal point in the given state for the given start and end state, where start is the source if source is true.
getTerminalPortReturns an mxCellState that represents the source or target terminal or port for the given edge.
getPerimeterPointReturns an mxPoint that defines the location of the intersection point between the perimeter and the line between the center of the shape and the given point.
getRoutingCenterXReturns the x-coordinate of the center point for automatic routing.
getRoutingCenterYReturns the y-coordinate of the center point for automatic routing.
getPerimeterBoundsReturns the perimeter bounds for the given terminal, edge pair as an mxRectangle.
getPerimeterFunctionReturns the perimeter function for the given state.
getNextPointReturns the nearest point in the list of absolute points or the center of the opposite terminal.
getVisibleTerminalReturns the nearest ancestor terminal that is visible.
updateEdgeBoundsUpdates the bounds of the specified state based on the absolute points in the state.
getPointReturns the absolute point on the edge for the given relative mxGeometry as an mxPoint.
getStateReturns the cell state for the specified cell.
getHashCodeReturns a unique string that represents the given instance.
getStatesReturns the mxCellStates for the given array of mxCells.
getStatesReturns the mxCellStates for the given array of mxCells.
removeStateRemoves and returns the mxCellState for the given cell.
createStateCreates the state for the specified cell.
- -

Variables

- -

EMPTY_POINT

var $EMPTY_POINT

An empty mxPoint instance.

- -

graph

var $graph

Holds the mxGraph.

- -

graphBounds

var $graphBounds

Holds the bounds of the current view.

- -

scale

var $scale

Holds the current scale.

- -

translate

var $translate

Holds the current translate.

- -

states

var $states

Maps from cells to states.

- -

Functions

- -

mxGraphView

function mxGraphView($graph)

Constructs a new view for the specified mxGraph.

- -

setScale

function setScale($scale)

Sets the scale, revalidates the view and fires a scale event.

- -

setTranslate

function setTranslate($translate)

Sets the translation, revalidates the view and fires a translate event.

- -

getGraphBounds

function getGraphBounds()

Returns graphBounds.

- -

setGraphBounds

function setGraphBounds($value)

Sets graphBounds.

- -

getBounds

function getBounds($cells,  
$boundingBox =  false)

Returns the bounding for for an array of cells or null, if no cells are specified.

- -

invalidate

- -

invalidate

function invalidate()

Invalidates the cached cell states.

- -

validate

function validate($cell =  null)

Calls validateCell and <validateCellState> and updates the graphBounds using getBoundingBox.  Finally the background is validated using <validateBackground>.

Parameters

cellOptional mxCell to be used as the root of the validation.  Default is the root of the model.
- -

getBoundingBox

function getBoundingBox($state,  
$recurse =  true)

Returns the bounding box of the shape and the label for the given mxCellState and its children if recurse is true.

Parameters

statemxCellState whose bounding box should be returned.
recurseOptional boolean indicating if the children should be included.  Default is true.
- -

validateCell

function validateCell($cell,  
$visible =  true)

Recursively creates the cell state for the given cell if visible is true and the given cell is visible.  If the cell is not visible but the state exists then it is removed using removeState.

Parameters

cellmxCell whose mxCellState should be created.
visibleOptional boolean indicating if the cell should be visible.  Default is true.
- -

validateCellStates

Validates and repaints the mxCellState for the given mxCell.

Parameters

cellmxCell whose mxCellState should be validated.
recurseOptional boolean indicating if the children of the cell should be validated.  Default is true.
- -

updateCellState

function updateCellState($state,
$source,
$target)

Updates the given mxCellState.

Parameters

statemxCellState to be updated.
sourcemxCellState that represents the visible source.
targetmxCellState that represents the visible target.
- -

updateVertexState

function updateVertexState($state,
$geo)

Validates the given cell state.

- -

updateEdgeState

function updateEdgeState($state,
$geo,
$source,
$target)

Validates the given cell state.

- -

updateVertexLabelOffset

function updateVertexLabelOffset($state)

Updates the absoluteOffset of the given vertex cell state.  This takes into account the label position styles.

Parameters

statemxCellState whose absolute offset should be updated.
- -

updateLabelBounds

function updateLabelBounds($state)

Updates the label bounds in the given state.

- -

updateBoundingBox

function updateBoundingBox($state)

Updates the bounding box in the given cell state.

- -

updateFixedTerminalPoints

function updateFixedTerminalPoints($edge,
$source,
$target)

Sets the initial absolute terminal points in the given state before the edge style is computed.

Parameters

edgemxCellState whose initial terminal points should be updated.
sourcemxCellState which represents the source terminal.
targetmxCellState which represents the target terminal.
- -

updateFixedTerminalPoint

function updateFixedTerminalPoint($edge,
$terminal,
$source,
$constraint)

Sets the fixed source or target terminal point on the given edge.

Parameters

edgemxCellState whose terminal point should be updated.
terminalmxCellState which represents the actual terminal.
sourceBoolean that specifies if the terminal is the source.
constraintmxConnectionConstraint that specifies the connection.
- -

updatePoints

function updatePoints($edge,
$points,
$source,
$target)

Updates the absolute points in the given state using the specified array of mxPoints as the relative points.

Parameters

edgemxCellState whose absolute points should be updated.
pointsArray of mxPoints that constitute the relative points.
sourcemxCellState that represents the source terminal.
targetmxCellState that represents the target terminal.
- -

transformControlPoint

function transformControlPoint($state,
$pt)

Transforms the given control point to an absolute point.

- -

getEdgeStyle

function getEdgeStyle($edge,
$points,
$source,
$target)

Returns the edge style function to be used to render the given edge state.

- -

updateFloatingTerminalPoints

function updateFloatingTerminalPoints($state,
$source,
$target)

Updates the terminal points in the given state after the edge style was computed for the edge.

Parameters

statemxCellState whose terminal points should be updated.
sourcemxCellState that represents the source terminal.
targetmxCellState that represents the target terminal.
- -

updateFloatingTerminalPoint

function updateFloatingTerminalPoint($edge,
$start,
$end,
$source)

Updates the absolute terminal point in the given state for the given start and end state, where start is the source if source is true.

Parameters

edgemxCellState whose terminal point should be updated.
startmxCellState for the terminal on “this” side of the edge.
endmxCellState for the terminal on the other side of the edge.
sourceBoolean indicating if start is the source terminal state.
- -

getTerminalPort

function getTerminalPort($state,
$terminal,
$source)

Returns an mxCellState that represents the source or target terminal or port for the given edge.

Parameters

statemxCellState that represents the state of the edge.
terminalmxCellState that represents the terminal.
sourceBoolean indicating if the given terminal is the source terminal.
- -

getPerimeterPoint

function getPerimeterPoint($terminal,  
$next,  
$orthogonal,  
$border =  null)

Returns an mxPoint that defines the location of the intersection point between the perimeter and the line between the center of the shape and the given point.

Parameters

terminalmxCellState for the source or target terminal.
nextmxPoint that lies outside of the given terminal.
orthogonalBoolean that specifies if the orthogonal projection onto the perimeter should be returned.  If this is false then the intersection of the perimeter and the line between the next and the center point is returned.
borderOptional border between the perimeter and the shape.
- -

getRoutingCenterX

function getRoutingCenterX($state)

Returns the x-coordinate of the center point for automatic routing.

- -

getRoutingCenterY

function getRoutingCenterY($state)

Returns the y-coordinate of the center point for automatic routing.

- -

getPerimeterBounds

function getPerimeterBounds($terminal,  
$border =  0)

Returns the perimeter bounds for the given terminal, edge pair as an mxRectangle.

Parameters

terminalmxCellState that represents the terminal.
borderNumber that adds a border between the shape and the perimeter.
- -

getPerimeterFunction

function getPerimeterFunction($state)

Returns the perimeter function for the given state.

- -

getNextPoint

function getNextPoint($edge,
$opposite,
$source)

Returns the nearest point in the list of absolute points or the center of the opposite terminal.

Parameters

edgemxCellState that represents the edge.
oppositemxCellState that represents the opposite terminal.
sourceBoolean indicating if the next point for the source or target should be returned.
- -

getVisibleTerminal

function getVisibleTerminal($edge,
$source)

Returns the nearest ancestor terminal that is visible.  The edge appears to be connected to this terminal on the display.

Parameters

edgemxCell whose visible terminal should be returned.
sourceBoolean that specifies if the source or target terminal should be returned.
- -

updateEdgeBounds

function updateEdgeBounds($state)

Updates the bounds of the specified state based on the absolute points in the state.

- -

getPoint

function getPoint($state,  
$geometry =  null)

Returns the absolute point on the edge for the given relative mxGeometry as an mxPoint.  The edge is represented by the given mxCellState.

Parameters

statemxCellState that represents the state of the parent edge.
geometrymxGeometry that represents the relative location.
- -

getState

function getState($cell,  
$create =  false)

Returns the cell state for the specified cell.  If create is true then the state is created and added to the cache if it does not yet exist.

- -

getHashCode

function getHashCode($cell)

Returns a unique string that represents the given instance.

- -

getStates

function getStates()

Returns the mxCellStates for the given array of mxCells.  The array contains all states that are not null, that is, the returned array may have less elements than the given array.

- -

getStates

Returns the mxCellStates for the given array of mxCells.  The array contains all states that are not null, that is, the returned array may have less elements than the given array.

- -

removeState

function removeState($cell,  
$recurse =  false)

Removes and returns the mxCellState for the given cell.

- -

createState

function createState($cell)

Creates the state for the specified cell.

- -
- - - - - - - - - - -
var $EMPTY_POINT
An empty mxPoint instance.
Implements a 2-dimensional point with double precision coordinates.
var $graph
Holds the mxGraph.
Implements a graph component.
var $graphBounds
Holds the bounds of the current view.
var $scale
Holds the current scale.
var $translate
Holds the current translate.
var $states
Maps from cells to states.
function mxGraphView($graph)
Constructs a new view for the specified mxGraph.
function setScale($scale)
Sets the scale, revalidates the view and fires a scale event.
function setTranslate($translate)
Sets the translation, revalidates the view and fires a translate event.
function getGraphBounds()
Returns graphBounds.
function setGraphBounds($value)
Sets graphBounds.
function getBounds($cells,  
$boundingBox =  false)
Returns the bounding for for an array of cells or null, if no cells are specified.
function invalidate()
Invalidates the cached cell states.
function validate($cell =  null)
Calls validateCell and validateCellState and updates the graphBounds using getBoundingBox.
function validateCell($cell,  
$visible =  true)
Recursively creates the cell state for the given cell if visible is true and the given cell is visible.
function getBoundingBox($state,  
$recurse =  true)
Returns the bounding box of the shape and the label for the given mxCellState and its children if recurse is true.
Represents the current state of a cell in a given mxGraphView.
Cells are the elements of the graph model.
function updateCellState($state,
$source,
$target)
Updates the given mxCellState.
function updateVertexState($state,
$geo)
Validates the given cell state.
function updateEdgeState($state,
$geo,
$source,
$target)
Validates the given cell state.
function updateVertexLabelOffset($state)
Updates the absoluteOffset of the given vertex cell state.
function updateLabelBounds($state)
Updates the label bounds in the given state.
function updateBoundingBox($state)
Updates the bounding box in the given cell state.
function updateFixedTerminalPoints($edge,
$source,
$target)
Sets the initial absolute terminal points in the given state before the edge style is computed.
function updateFixedTerminalPoint($edge,
$terminal,
$source,
$constraint)
Sets the fixed source or target terminal point on the given edge.
function updatePoints($edge,
$points,
$source,
$target)
Updates the absolute points in the given state using the specified array of mxPoints as the relative points.
function transformControlPoint($state,
$pt)
Transforms the given control point to an absolute point.
function getEdgeStyle($edge,
$points,
$source,
$target)
Returns the edge style function to be used to render the given edge state.
function updateFloatingTerminalPoints($state,
$source,
$target)
Updates the terminal points in the given state after the edge style was computed for the edge.
function updateFloatingTerminalPoint($edge,
$start,
$end,
$source)
Updates the absolute terminal point in the given state for the given start and end state, where start is the source if source is true.
function getTerminalPort($state,
$terminal,
$source)
Returns an mxCellState that represents the source or target terminal or port for the given edge.
function getPerimeterPoint($terminal,  
$next,  
$orthogonal,  
$border =  null)
Returns an mxPoint that defines the location of the intersection point between the perimeter and the line between the center of the shape and the given point.
function getRoutingCenterX($state)
Returns the x-coordinate of the center point for automatic routing.
function getRoutingCenterY($state)
Returns the y-coordinate of the center point for automatic routing.
function getPerimeterBounds($terminal,  
$border =  0)
Returns the perimeter bounds for the given terminal, edge pair as an mxRectangle.
Implements a 2-dimensional rectangle with double precision coordinates.
function getPerimeterFunction($state)
Returns the perimeter function for the given state.
function getNextPoint($edge,
$opposite,
$source)
Returns the nearest point in the list of absolute points or the center of the opposite terminal.
function getVisibleTerminal($edge,
$source)
Returns the nearest ancestor terminal that is visible.
function updateEdgeBounds($state)
Updates the bounds of the specified state based on the absolute points in the state.
function getPoint($state,  
$geometry =  null)
Returns the absolute point on the edge for the given relative mxGeometry as an mxPoint.
Represents the geometry of a cell.
function getState($cell,  
$create =  false)
Returns the cell state for the specified cell.
function getHashCode($cell)
Returns a unique string that represents the given instance.
function getStates()
Returns the mxCellStates for the given array of mxCells.
function removeState($cell,  
$recurse =  false)
Removes and returns the mxCellState for the given cell.
function createState($cell)
Creates the state for the specified cell.
Defines an object that contains the constraints about how to connect one side of an edge to its terminal.
- - - - - - - - \ No newline at end of file diff --git a/docs/php-api/files/view/mxPerimeter-php.html b/docs/php-api/files/view/mxPerimeter-php.html deleted file mode 100644 index bd4bc4244..000000000 --- a/docs/php-api/files/view/mxPerimeter-php.html +++ /dev/null @@ -1,63 +0,0 @@ - - -mxPerimeterFunction - - - - - - - - - -

mxPerimeterFunction

Defines the requirements for a perimeter function.

Summary
mxPerimeterFunctionDefines the requirements for a perimeter function.
Functions
applyImplements a perimeter function.
mxRectanglePerimeterImplements a rectangular perimeter for the given bounds.
mxEllipsePerimeterImplements an elliptic perimeter.
mxRhombusPerimeterImplements a rhombus (aka diamond) perimeter.
mxTrianglePerimeterImplements a triangle perimeter.
mxPerimeterProvides various perimeter functions to be used in a style as the value of mxConstants.STYLE_PERIMETER.
Variables
RectanglePerimeterProvides a rectangular perimeter.
EllipsePerimeterProvides an elliptic perimeter.
RhombusPerimeterProvides a rhombus (aka diamond) perimeter.
TrianglePerimeterProvides a triangle perimeter.
- -

Functions

- -

apply

public function apply($bounds,
$vertex,
$next,
$orthogonal)

Implements a perimeter function.

Parameters

boundsmxRectangle that represents the absolute bounds of the vertex.
vertexmxCellState that represents the vertex.
nextmxPoint that represents the nearest neighbour point on the given edge.
orthogonalBoolean that specifies if the orthogonal projection onto the perimeter should be returned.  If this is false then the intersection of the perimeter and the line between the next and the center point is returned.
- -

mxRectanglePerimeter

Implements a rectangular perimeter for the given bounds.

- -

mxEllipsePerimeter

Implements an elliptic perimeter.  See <RectanglePerimeter> for a description of the parameters.

- -

mxRhombusPerimeter

Implements a rhombus (aka diamond) perimeter.  See <RectanglePerimeter> for a description of the parameters.

- -

mxTrianglePerimeter

Implements a triangle perimeter.  See <RectanglePerimeter> for a description of the parameters.

- -

mxPerimeter

Provides various perimeter functions to be used in a style as the value of mxConstants.STYLE_PERIMETER.

The parameters are explained in RectanglePerimeter.

Summary
Variables
RectanglePerimeterProvides a rectangular perimeter.
EllipsePerimeterProvides an elliptic perimeter.
RhombusPerimeterProvides a rhombus (aka diamond) perimeter.
TrianglePerimeterProvides a triangle perimeter.
- -

Variables

- -

RectanglePerimeter

public static $RectanglePerimeter

Provides a rectangular perimeter.

- -

EllipsePerimeter

public static $EllipsePerimeter

Provides an elliptic perimeter.

- -

RhombusPerimeter

public static $RhombusPerimeter

Provides a rhombus (aka diamond) perimeter.

- -

TrianglePerimeter

public static $TrianglePerimeter

Provides a triangle perimeter.  See RectanglePerimeter for a description of the parameters.

- -
- - - - - - - - - - -
public function apply($bounds,
$vertex,
$next,
$orthogonal)
Implements a perimeter function.
public static $STYLE_PERIMETER
Defines the key for the perimeter style.
public static $RectanglePerimeter
Provides a rectangular perimeter.
public static $EllipsePerimeter
Provides an elliptic perimeter.
public static $RhombusPerimeter
Provides a rhombus (aka diamond) perimeter.
public static $TrianglePerimeter
Provides a triangle perimeter.
Implements a 2-dimensional rectangle with double precision coordinates.
Represents the current state of a cell in a given mxGraphView.
Implements a 2-dimensional point with double precision coordinates.
- - - - - - - - \ No newline at end of file diff --git a/docs/php-api/files/view/mxStyleRegistry-php.html b/docs/php-api/files/view/mxStyleRegistry-php.html deleted file mode 100644 index e5fb8adfe..000000000 --- a/docs/php-api/files/view/mxStyleRegistry-php.html +++ /dev/null @@ -1,51 +0,0 @@ - - -mxStyleRegistry - - - - - - - - - -

mxStyleRegistry

Singleton class that acts as a global converter from string to object values in a style.  This is currently only used to perimeters and edge styles.

Summary
mxStyleRegistrySingleton class that acts as a global converter from string to object values in a style.
Variables
valuesMaps from strings to objects.
Functions
putValuePuts the given object into the registry under the given name.
getValueReturns the value associated with the given name.
getNameReturns the name for the given value.
- -

Variables

- -

values

public static $values

Maps from strings to objects.

- -

Functions

- -

putValue

static function putValue($name,
$value)

Puts the given object into the registry under the given name.

- -

getValue

static function getValue($name)

Returns the value associated with the given name.

- -

getName

static function getName($value)

Returns the name for the given value.

- -
- - - - - - - - - - -
public static $values
Maps from strings to objects.
static function putValue($name,
$value)
Puts the given object into the registry under the given name.
static function getValue($name)
Returns the value associated with the given name.
static function getName($value)
Returns the name for the given value.
- - - - - - - - \ No newline at end of file diff --git a/docs/php-api/files/view/mxStylesheet-php.html b/docs/php-api/files/view/mxStylesheet-php.html deleted file mode 100644 index c2f8b9b9e..000000000 --- a/docs/php-api/files/view/mxStylesheet-php.html +++ /dev/null @@ -1,65 +0,0 @@ - - -mxStylesheet - - - - - - - - - -

mxStylesheet

Defines the appearance of the cells in a graph.  See putCellStyle for an example of creating a style.

Default Styles

The stylesheet contains two built-om styles, which are used if no style is defined for a cell:

defaultVertexDefault style for vertices
defaultEdgeDefault style for edges
Summary
mxStylesheetDefines the appearance of the cells in a graph.
Functions
stylesMaps from names to styles.
mxStylesheetConstructs a new stylesheet and assigns default styles.
createDefaultVertexStyleCreates and returns the default vertex style.
createDefaultEdgeStyleCreates and returns the default edge style.
putDefaultVertexStyleSets the default style for vertices.
putDefaultEdgeStyleSets the default style for edges.
getDefaultVertexStyleReturns the default style for vertices.
getDefaultEdgeStyleSets the default style for edges.
putCellStyleStores the specified style under the given name.
getCellStyleReturns the cell style for the specified cell or the given defaultStyle if no style can be found for the given stylename.
- -

Functions

- -

styles

var $styles = array()

Maps from names to styles.

- -

mxStylesheet

function mxStylesheet()

Constructs a new stylesheet and assigns default styles.

- -

createDefaultVertexStyle

function createDefaultVertexStyle()

Creates and returns the default vertex style.

- -

createDefaultEdgeStyle

function createDefaultEdgeStyle()

Creates and returns the default edge style.

- -

putDefaultVertexStyle

function putDefaultVertexStyle($style)

Sets the default style for vertices.

- -

putDefaultEdgeStyle

function putDefaultEdgeStyle($style)

Sets the default style for edges.

- -

getDefaultVertexStyle

function getDefaultVertexStyle()

Returns the default style for vertices.

- -

getDefaultEdgeStyle

function getDefaultEdgeStyle()

Sets the default style for edges.

- -

putCellStyle

function putCellStyle($name,
$style)

Stores the specified style under the given name.

Example

The following example adds a new style (called ‘rounded’) into an existing stylesheet:

var style = new Array();
-style[mxConstants.STYLE_SHAPE] = mxConstants.SHAPE_RECTANGLE;
-style[mxConstants.STYLE_PERIMETER] = mxPerimeter.RightAngleRectanglePerimeter;
-style[mxConstants.STYLE_ROUNDED] = 'true';
-graph.stylesheet.putCellStyle('rounded', style);

In the above example, the new style is an array.  The possible keys of the array are all the constants in mxConstants that start with STYLE and the values are either JavaScript objects, such as <mxPerimeter.RightAngleRectanglePerimeter> (which is in fact a function) or expressions, such as ‘true’.  Note that not all keys will be interpreted by all shapes (eg. the line shape ignores the fill color).  The final call to this method associates the style with a name in the stylesheet.  The style is used in a cell with the following code:

model.setStyle(cell, 'rounded');

Parameters

nameName for the style to be stored.
styleKey, value pairs that define the style.
- -

getCellStyle

function getCellStyle($name,  
$defaultStyle =  null)

Returns the cell style for the specified cell or the given defaultStyle if no style can be found for the given stylename.

Parameters

nameString of the form [(stylename|key=value);] that represents the style.
defaultStyleDefault style to be returned if no style can be found.
- -
- - - - - - - - - - -
var $styles = array()
Maps from names to styles.
function mxStylesheet()
Constructs a new stylesheet and assigns default styles.
function createDefaultVertexStyle()
Creates and returns the default vertex style.
function createDefaultEdgeStyle()
Creates and returns the default edge style.
function putDefaultVertexStyle($style)
Sets the default style for vertices.
function putDefaultEdgeStyle($style)
Sets the default style for edges.
function getDefaultVertexStyle()
Returns the default style for vertices.
function getDefaultEdgeStyle()
Sets the default style for edges.
function putCellStyle($name,
$style)
Stores the specified style under the given name.
function getCellStyle($name,  
$defaultStyle =  null)
Returns the cell style for the specified cell or the given defaultStyle if no style can be found for the given stylename.
Defines global constants.
- - - - - - - - \ No newline at end of file diff --git a/docs/php-api/index.html b/docs/php-api/index.html deleted file mode 100644 index c10acce66..000000000 --- a/docs/php-api/index.html +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/php-api/index/Classes.html b/docs/php-api/index/Classes.html deleted file mode 100644 index b88e3562c..000000000 --- a/docs/php-api/index/Classes.html +++ /dev/null @@ -1,34 +0,0 @@ - - -Class Index - - - - - - - - - -
Class Index
$#! · 0-9 · A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z
M
 mxCell
 mxCellCodec
 mxCellPath
 mxCellState
 mxCodec
 mxCodecRegistry
 mxConnectionConstraint
 mxConstants
 mxEdgeStyle
 mxElbowConnector
 mxEllipsePerimeter
 mxEntityRelation
 mxEvent
 mxEventObject
 mxEventSource
 mxGdCanvas
 mxGeometry
 mxGraph
 mxGraphModel
 mxGraphView
 mxGraphViewHtmlReader
 mxGraphViewImageReader
 mxHtmlCanvas
 mxImageBundle
 mxLog
 mxLoop
 mxModelCodec
 mxObjectCodec
 mxPerimeter
 mxPoint
 mxRectangle
 mxRectanglePerimeter
 mxRhombusPerimeter
 mxSideToSide
 mxStyleRegistry
 mxStylesheet
 mxStylesheetCodec
 mxTopToBottom
 mxTrianglePerimeter
 mxUtils
- -
Cells are the elements of the graph model.
Codec for mxCells.
Implements a mechanism for temporary cell Ids.
Represents the current state of a cell in a given mxGraphView.
XML codec for PHP object graphs.
A class to register codecs for objects.
Defines an object that contains the constraints about how to connect one side of an edge to its terminal.
Defines global constants.
Provides various edge styles to be used as the values for mxConstants.STYLE_EDGE in a cell style.
Uses either SideToSide or TopToBottom depending on the horizontal flag in the cell style.
Implements an elliptic perimeter.
Implements an entity relation style for edges (as used in database schema diagrams).
Defines global constants.
Base class for all events.
Base class for all event sources.
Canvas for drawing graphs using the GD library.
Represents the geometry of a cell.
Implements a graph component.
Cells are the elements of the graph model.
Implements a view for the graph.
A display XML to HTML converter.
A display XML to image converter.
Canvas for drawing graphs using HTML.
Maps from keys to base64 encoded images or file locations.
Logging facility.
Implements a self-reference, aka.
Codec for mxGraphModels.
XML codec for PHP object graphs.
Provides various perimeter functions to be used in a style as the value of mxConstants.STYLE_PERIMETER.
Implements a 2-dimensional point with double precision coordinates.
Implements a 2-dimensional rectangle with double precision coordinates.
Implements a rectangular perimeter for the given bounds.
Implements a rhombus (aka diamond) perimeter.
Implements a vertical elbow edge.
Singleton class that acts as a global converter from string to object values in a style.
Defines the appearance of the cells in a graph.
Codec for mxStylesheets.
Implements a horizontal elbow edge.
Implements a triangle perimeter.
Helper methods.
- -
- - - - - - - - - - - - \ No newline at end of file diff --git a/docs/php-api/index/Files.html b/docs/php-api/index/Files.html deleted file mode 100644 index 1bcaa94c4..000000000 --- a/docs/php-api/index/Files.html +++ /dev/null @@ -1,38 +0,0 @@ - - -File Index - - - - - - - - - -
File Index
$#! · 0-9 · A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z
A
 API Specification
M
 mxGdCanvas.php
- -
This PHP library is divided into 4 packages.
- - - - - -
- - - - - - - - - - - - \ No newline at end of file diff --git a/docs/php-api/index/Functions.html b/docs/php-api/index/Functions.html deleted file mode 100644 index 70b67db78..000000000 --- a/docs/php-api/index/Functions.html +++ /dev/null @@ -1,42 +0,0 @@ - - -Function Index - - - - - - - - - -
Function Index
$#! · 0-9 · A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z
A
 add
 addAlias, mxCodecRegistry
 addBundle, mxGraph
 addElement, mxCodec
 addListener, mxEventSource
 addLogfile, mxLog
 addObjectValue, mxObjectCodec
 addStylename, mxUtils
 afterDecode, mxObjectCodec
 afterEncode, mxObjectCodec
 apply
B
 beforeDecode, mxObjectCodec
 beforeEncode, mxObjectCodec
 beginUpdate, mxGraphModel
C
 cellAdded, mxGraphModel
 cellCloned, mxGraphModel
 cellRemoved, mxGraphModel
 clear, mxGraphModel
 cloneCell, mxGraphModel
 cloneCellImpl, mxGraphModel
 cloneCells, mxGraphModel
 cloneTemplate, mxObjectCodec
 close, mxLog
 consume, mxEventObject
 contains
 convert
 convertFile
 convertValueFromXml, mxObjectCodec
 convertValueToString, mxGraph
 convertValueToXml, mxObjectCodec
 copy
 copyValue, mxCell
 create, mxCellPath
 createCanvas
 createDefaultEdgeStyle, mxStylesheet
 createDefaultVertexStyle, mxStylesheet
 createEdge, mxGraph
 createGraphView, mxGraph
 createId, mxGraphModel
 createImage, mxGraph
 createRoot, mxGraphModel
 createState, mxGraphView
 createStylesheet, mxGraph
 createVertex, mxGraph
 createXmlDocument, mxUtils
- -
function add($parent,  
$child,  
$index =  null)
Adds the specified child to the parent at the given index using mxChildChange and adds the change to the current transaction.
function add($rect)
Adds the given rectangle to this rectangle.
static function addAlias($classname,
$codecname)
Adds an alias for mapping a classname to a codecname.
Adds the specified mxImageBundle.
function addElement($node)
Adds the given element to elements if it has an ID.
function addListener($name,
$listener)
Adds a listener for the given event name.
static function addLogfile($filename)
Adds a file for logging.
function addObjectValue(&$obj,
$fieldname,
$value,
$template)
Sets the decoded child node as a value of the given object.
static function addStylename($style,
$stylename)
Adds the specified stylename to the given style if it does not already contain the stylename.
function afterDecode($dec,
$node,
&$obj)
Hook for subclassers to post-process the object after decoding.
function afterEncode($enc,
$obj,
$node)
Hook for subclassers to post-process the node for the given object after encoding and return the post-processed node.
public function apply($state,
$source,
$target,
$points,
&$result)
Implements an edge style function.
public function apply($bounds,
$vertex,
$next,
$orthogonal)
Implements a perimeter function.
- - - -
function beforeDecode($dec,
$node,
&$obj)
Hook for subclassers to pre-process the node for the specified object and return the node to be used for further processing by decode.
function beforeEncode($enc,
$obj,
$node)
Hook for subclassers to pre-process the object before encoding.
function beginUpdate()
Increments the updateLevel by one.
- - - -
function cellAdded($cell)
Inner callback to update cells when a cell has been added.
function cellCloned($cell)
Hook for cloning the cell.
function cellRemoved($cell)
Inner callback to update cells when a cell has been removed.
function clear()
Sets a new root using createRoot.
function cloneCell($cell)
Returns a deep clone of the given mxCell (including the children) which is created using cloneCells.
function cloneCellImpl($cell,
$mapping,
$includeChildren)
Inner helper method for cloning cells recursively.
function cloneCells($cells,  
$includeChildren = true)
Returns an array of clones for the given array of mxCells.
function cloneTemplate()
Creates a new instance of the template for this codec.
static function close()
Closes all open logfiles.
function consume()
Consumes the event.
function contains($cell)
Returns true if the model contains the given mxCell.
static function contains($state,
$x,
$y)
Returns true if the specified point (x, y) is contained in the given rectangle.
static function convert($string,  
$background =  null)
Creates the HTML markup for the given display XML string.
static function convert($string,  
$background =  null)
Creates the image for the given display XML string.
static function convertFile($filename,  
$background =  null)
Creates the HTML markup for the given display XML file.
static function convertFile($filename,  
$background =  null)
Creates the image for the given display XML file.
function convertValueFromXml($value)
Returns the given value.
function convertValueToString($cell)
Returns the textual representation for the given cell.
function convertValueToXml($value)
Returns the given value without applying a conversion.
function copy()
Returns a clone of the cell.
function copy()
Returns a copy of this state where all members are deeply cloned except the view and cell references, which are copied with no cloning to the new instance.
function copy()
Returns a copy of this mxGeometry.
function copy()
Returns a copy of this mxPoint.
function copy()
Returns a copy of this mxRectangle.
function copyValue()
Returns a clone of the cell’s user object.
static function create($cell)
Creates the cell path for the given cell.
function createCanvas($attrs)
Returns the canvas to be used for rendering.
function createCanvas($attrs)
Returns the canvas to be used for rendering.
function createDefaultEdgeStyle()
Creates and returns the default edge style.
function createDefaultVertexStyle()
Creates and returns the default vertex style.
function createEdge($parent,  
$id =  null,
$value =  null,
$source =  null,
$target =  null,
$style =  null)
Creates the edge to be used in insertEdge.
function createGraphView()
Creates a new mxGraphView to be used in this graph.
function createId($cell)
Hook method to create an Id for the specified cell.
function createImage($clip =  null,
$background =  null)
function createRoot()
Creates a new root cell with a default layer (child 0).
function createState($cell)
Creates the state for the specified cell.
function createStylesheet()
Creates a new mxStylesheet to be used in this graph.
function createVertex($parent,  
$id =  null,
$value =  null,
$x =  0,
$y =  0,
$width =  1,
$height =  1,
$style =  null,
$relative =  false)
Creates the vertex to be used in insertVertex.
static function createXmlDocument()
Returns a new, empty XML document.
- -
- - - - - - - - - - - - \ No newline at end of file diff --git a/docs/php-api/index/Functions2.html b/docs/php-api/index/Functions2.html deleted file mode 100644 index 1ea58a73c..000000000 --- a/docs/php-api/index/Functions2.html +++ /dev/null @@ -1,34 +0,0 @@ - - -Function Index - - - - - - - - - -
Function Index
$#! · 0-9 · A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z
D
 debug, mxLog
 decode
 decodeAttribute, mxObjectCodec
 decodeAttributes, mxObjectCodec
 decodeCell, mxCodec
 decodeChild, mxObjectCodec
 decodeChildren, mxObjectCodec
 decodeNode, mxObjectCodec
 destroy
 drawActor, mxGdCanvas
 drawCell, mxGdCanvas
 drawCloud, mxGdCanvas
 drawCylinder, mxGdCanvas
 drawFixedTextLine, mxGdCanvas
 drawGraph
 drawHexagon, mxGdCanvas
 drawImage
 drawLabel, mxGdCanvas
 drawLine
 drawMarker, mxGdCanvas
 drawOval, mxGdCanvas
 drawPolygon, mxGdCanvas
 drawRect, mxGdCanvas
 drawRhombus, mxGdCanvas
 drawShape
 drawString, mxGdCanvas
 drawText
 drawTriangle, mxGdCanvas
 drawTtfText, mxGdCanvas
 drawTtxTextLine, mxGdCanvas
- -
static function debug($text)
Logs a debug trace.
function decode($node,  
$into =  null)
Decodes the given XML node.
function decode($dec,  
$node,  
&$into =  null)
Parses the given node into the object or returns a new object representing the given node.
function decodeAttribute($dec,
$attr,
&$obj)
Reads the given attribute into the specified object.
function decodeAttributes($dec,
$node,
&$obj)
Decodes all attributes of the given node using decodeAttribute.
function decodeCell($node,  
$restoreStructures =  true)
Decodes cells that have been encoded using inversion, ie.
function decodeChild($dec,
$child,
&$obj)
Reads the specified child into the given object.
function decodeChildren($dec,
$node,
&$obj)
Decodec all children of the given node using decodeChild.
function decodeNode($dec,
$node,
&$obj)
Calls decodeAttributes and decodeChildren for the given node.
function destroy()
Destroys all allocated resources.
function destroy()
Destroy all allocated resources for this reader.
function destroy()
Destroy all allocated resources.
function drawActor($x,  
$y,  
$w,  
$h,  
$fill =  null,
$stroke =  null,
$shadow = false)
Draws then given cloud.
function drawCell($state)
Draws the given cell state.
function drawCloud($x,  
$y,  
$w,  
$h,  
$fill =  null,
$stroke =  null,
$shadow = false)
Draws then given cloud.
function drawCylinder($x,  
$y,  
$w,  
$h,  
$fill =  null,
$stroke =  null,
$shadow =  false)
Draws then given cylinder.
function drawFixedTextLine($text,  
$font,  
$left,  
$top,  
$color,  
$horizontal =  true)
Draws the given fixed text line.
public static function drawGraph($graph,  
$clip =  null,
$bg =  null)
Draws the given graph using this canvas.
function drawGraph($canvas)
Draws the given cell onto the specified canvas.
public static function drawGraph($graph,  
$clip =  null,
$bg =  null)
Draws the given graph using this canvas.
function drawHexagon($x,  
$y,  
$w,  
$h,  
$fill =  null,
$stroke =  null,
$shadow =  false,
$direction =  null)
Draws then given haxagon.
function drawImage($x,  
$y,  
$w,  
$h,  
$image,  
$aspect =  true,
$flipH =  false,
$flipV =  false)
Draws a given image.
function drawImage($x,  
$y,  
$w,  
$h,  
$image,  
$aspect =  true,
$flipH =  false,
$flipV =  false)
Draws the specified image.
function drawLabel($text,  
$state,  
$html =  false)
Draws the given label.
function drawLine($x0,  
$y0,  
$x1,  
$y1,  
$stroke =  null,
$dashed =  false)
Draws the given line.
function drawLine($x0,  
$y0,  
$x1,  
$y1,  
$stroke =  null,
$dashed =  false)
Draws the specified line.
function drawMarker($type,
$p0,
$pe,
$size,
$stroke)
Draws the specified marker.
function drawOval($x,  
$y,  
$w,  
$h,  
$fill =  null,
$stroke =  null,
$shadow =  false)
Draws then given ellipse.
function drawPolygon($points,  
$fill =  null,
$stroke =  null,
$shadow =  false)
Draws the given polygon.
function drawRect($x,  
$y,  
$w,  
$h,  
$fill =  null,
$stroke =  null,
$shadow =  false,
$rounded =  false,
$dashed =  false)
Draws then given rectangle.
function drawRhombus($x,  
$y,  
$w,  
$h,  
$fill =  null,
$stroke =  null,
$shadow =  false)
Draws then given rhombus.
function drawShape($x,
$y,
$w,
$h,
$style)
Draws the given shape.
function drawShape($shape,  
$x,  
$y,  
$w,  
$h,  
$stroke = null,
$fill = null)
Draws the specified shape.
function drawText($string,
$x,
$y,
$w,
$h,
$style)
function drawText($string,
$x,
$y,
$w,
$h,
$style)
Draws the specified text.
function drawTriangle($x,  
$y,  
$w,  
$h,  
$fill =  null,
$stroke =  null,
$shadow =  false,
$direction =  null)
Draws then given triangle.
function drawTtfText($string,
$x,
$y,
$w,
$h,
$style)
Draws a single line of the given true type font text.
- -
- - - - - - - - - - - - \ No newline at end of file diff --git a/docs/php-api/index/Functions3.html b/docs/php-api/index/Functions3.html deleted file mode 100644 index 507b8c9ec..000000000 --- a/docs/php-api/index/Functions3.html +++ /dev/null @@ -1,38 +0,0 @@ - - -Function Index - - - - - - - - - -
Function Index
$#! · 0-9 · A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z
E
 encode
 encodeCell, mxCodec
 encodeImage, mxUtils
 encodeObject, mxObjectCodec
 encodeValue, mxObjectCodec
 endElement, mxGraphViewImageReader
 endUpdate, mxGraphModel
 enter, mxLog
 equals
 error, mxLog
 evaluate, mxUtils
F
 findNode, mxUtils
 findTreeRoots, mxGraph
 fine, mxLog
 fireEvent, mxEventSource
 flipImage, mxUtils
- -
function encode($obj)
Encodes the specified object and returns the resulting XML node.
function encode($enc,
$obj)
Encodes the specified object and returns a node representing then given object.
function encodeCell($cell,  
$node,  
$includeChildren = true)
Encoding of cell hierarchies is built-into the core, but is a higher-level function that needs to be explicitely used by the respective object encoders (eg.
static function encodeImage($image,  
$format = null)
Encodes the given image using the GD image encoding routines.
function encodeObject($enc,
$obj,
$node)
Encodes the value of each member in then given obj into the given node using encodeValue.
function encodeValue($enc,
$obj,
$name,
$value,
$node)
Converts the given value according to the mappings and id-refs in this codec and uses writeAttribute to write the attribute into the given node.
function endElement($parser,
$name)
Invoked by the SAX parser when an element ends.
function endUpdate()
Decrements the updateLevel by one and fires a notification event if the updateLevel reaches 0.
static function enter($method,  
$text = "")
Logs a method entry.
function equals($obj)
Returns true if the given object equals this point.
function equals($obj)
Returns true if the given object equals this rectangle.
static function error($text)
Logs an error trace.
static function evaluate($expression)
Evaluates an expression to a class member.
- - - -
static function findNode($node,
$attr,
$value)
Returns the first node where attr equals value.
function findTreeRoots($parent,  
$isolate =  false,
$invert =  false)
Returns all children in the given parent which do not have incoming edges.
static function fine($text)
Logs a fine trace.
function fireEvent($event)
Fires the event for the specified name.
static function flipImage($img,
$flipH,
$flipV)
Flips the given image horizontally and/or vertically and returns a new image instance.
- -
- - - - - - - - - - - - \ No newline at end of file diff --git a/docs/php-api/index/Functions4.html b/docs/php-api/index/Functions4.html deleted file mode 100644 index d81781ab1..000000000 --- a/docs/php-api/index/Functions4.html +++ /dev/null @@ -1,34 +0,0 @@ - - -Function Index - - - - - - - - - -
Function Index
$#! · 0-9 · A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z
G
 getAttribute, mxCell
 getAttributeName, mxObjectCodec
 getBoundingBox
 getBounds, mxGraphView
 getBoundsForCells, mxGraph
 getCellBounds, mxGraph
 getCellGeometry, mxGraph
 getCells, mxGraphModel
 getCellStyle
 getCenterX, mxRectangle
 getCenterY, mxRectangle
 getChildAt
 getChildCount
 getChildOffsetForCell, mxGraph
 getCodec, mxCodecRegistry
 getColor, mxGdCanvas
 getConnectionConstraint, mxGraph
 getConnectionPoint, mxGraph
 getDefaultEdgeStyle, mxStylesheet
 getDefaultParent, mxGraph
 getDefaultVertexStyle, mxStylesheet
 getDirectedEdgeCount, mxGraphModel
 getEdgeAt
 getEdgeCount
 getEdgeIndex, mxCell
 getEdges, mxGraphModel
 getEdgeStyle, mxGraphView
 getElementById, mxCodec
 getFieldName, mxObjectCodec
 getFieldTemplate, mxObjectCodec
 getFixedFontSize
 getGeometry
 getGraphBounds
 getHashCode, mxGraphView
 getHtml, mxHtmlCanvas
 getId
 getImage
 getImageBundles, mxGraph
 getImageForStyle, mxGdCanvas
 getImageFromBundles, mxGraph
 getImages, mxImageBundle
 getIndex, mxCell
 getInstanceForName, mxCodecRegistry
 getLabel, mxGraph
 getLabelPaintBounds, mxUtils
 getLabelSize, mxUtils
 getModel, mxGraph
 getName
 getNearestCommonAncestor, mxGraphModel
 getNextPoint, mxGraphView
 getNumber, mxUtils
 getObject, mxCodec
 getOrigin, mxGraphModel
 getPaintBounds, mxGraph
 getParent
 getParentPath, mxCellPath
 getPerimeterBounds
 getPerimeterFunction, mxGraphView
 getPerimeterPoint, mxGraphView
 getPoint, mxGraphView
 getProperties, mxEventObject
 getProperty, mxEventObject
 getRoot, mxGraphModel
 getRotatedPoint, mxUtils
 getRoutingCenterX, mxGraphView
 getRoutingCenterY, mxGraphView
 getScaledLabelBounds, mxUtils
 getSizeForString, mxUtils
 getState, mxGraphView
 getStates, mxGraphView
 getStyle
 getStylename, mxUtils
 getStylenames, mxUtils
 getStylesheet, mxGraph
 getTerminal
 getTerminalPoint, mxGeometry
 getTerminalPort, mxGraphView
 getTrueTypeFont
 getTrueTypeFontSize
 getValue
 getView, mxGraph
 getVisibleTerminal, mxGraphView
 graphModelChanged, mxGraph
 grow, mxRectangle
- -
function getAttribute($key,  
$defaultValue =  null)
Returns the specified attribute from the user object if it is an XML node.
function getAttributeName($fieldname)
Returns the attributename for the given fieldname.
function getBoundingBox($cell,  
$includeEdges =  false,
$includeDescendants =  false)
Returns the bounding box of the given cell including all connected edges if includeEdge is true.
function getBoundingBox($state,  
$recurse =  true)
Returns the bounding box of the shape and the label for the given mxCellState and its children if recurse is true.
static function getBoundingBox($rect,
$rotation)
Returns the bounding box for the rotated rectangle.
function getBounds($cells,  
$boundingBox =  false)
Returns the bounding for for an array of cells or null, if no cells are specified.
function getBoundsForCells($cells,  
$includeEdges =  false,
$includeDescendants =  false,
$boundingBox =  false)
Returns the bounds for the given cells.
function getCellBounds($cell,  
$includeEdges =  false,
$includeDescendants =  false,
$boundingBox =  false)
Returns the bounds of the given cell including all connected edges if includeEdge is true.
function getCellGeometry($cell)
Returns the mxGeometry for the given mxCell.
function getCells()
Returns the internal lookup table that is used to map from Ids to cells.
function getCellStyle($cell)
function getCellStyle($name,  
$defaultStyle =  null)
Returns the cell style for the specified cell or the given defaultStyle if no style can be found for the given stylename.
function getCenterX()
Returns the x-coordinate of the center point.
function getCenterY()
Returns the y-coordinate of the center point.
function getChildAt($index)
Returns the child at the specified index.
function getChildAt($cell,
$index)
Returns the child of the given mxCell at the given index.
function getChildCount()
Returns the number of child cells.
function getChildCount($cell)
Returns the number of children in the given cell.
function getChildOffsetForCell($cell)
Returns the offset to be used for the cells inside the given cell.
static function getCodec($name)
Returns a codec that handles objects that are constructed using the given ctor.
function getColor($hex,  
$default =  null)
Allocates the given color and returns a reference to it.
function getConnectionConstraint($edge,
$terminal,
$source)
Returns an mxConnectionConstraint that describes the given connection point.
function getConnectionPoint($vertex,
$constraint)
Returns the nearest point in the list of absolute points or the center of the opposite terminal.
function getDefaultEdgeStyle()
Sets the default style for edges.
function getDefaultParent()
Returns the first child child of mxGraphModel.root.
function getDefaultVertexStyle()
Returns the default style for vertices.
function getDirectedEdgeCount($cell,  
$outgoing,  
$ignoredEdge =  null)
Returns the number of incoming or outgoing edges, ignoring the given edge.
function getEdgeAt($index)
Returns the edge at the specified index in edges.
function getEdgeAt($cell,
$index)
Returns the edge of cell at the given index.
function getEdgeCount()
Returns the number of edges in the edge array.
function getEdgeCount($cell)
Returns the number of distinct edges connected to the given cell.
function getEdgeIndex($edge)
Returns the index of the specified edge in edges.
function getEdges($cell)
Returns all distinct edges connected to this cell as an array of mxCells.
function getEdgeStyle($edge,
$points,
$source,
$target)
Returns the edge style function to be used to render the given edge state.
function getElementById($id)
Returns the element with the given ID from document.
function getFieldName($attributename)
Returns the fieldname for the given attributename.
function getFieldTemplate(&$obj,
$fieldname,
$child)
Returns the template instance for the given field.
function getFixedFontSize($fontSize,  
$fontFamily,  
$fontStyle = null)
Returns the fixed font size for GD (1 t0 5) for the given font properties
static function getFixedFontSize($fontSize,  
$fontFamily,  
$fontStyle = null)
Returns the fixed font size for GD (1 t0 5) for the given font properties
function getGeometry()
Returns the mxGeometry that describes the geometry.
function getGeometry($cell)
Returns the mxGeometry of the given mxCell.
function getGraphBounds()
Returns the bounds of the visible graph.
function getGraphBounds()
Returns graphBounds.
function getHashCode($cell)
Returns a unique string that represents the given instance.
function getHtml()
Gets the HTML that represents the canvas.
function getId()
Returns the Id of the cell as a string.
function getId($obj)
Returns the ID of the specified object.
function getImage()
Returns an image that represents this canvas.
function getImage($key)
Returns the value for the given key.
function getImageBundles()
Returns the imageBundles.
function getImageForStyle($style)
Returns an image that represents this canvas.
function getImageFromBundles($key)
Searches all imageBundles for the specified key and returns the value for the first match or null if the key is not found.
function getImages()
Returns the images.
function getIndex($child)
Returns the index of the specified child in the child array.
static function getInstanceForName($name)
Creates and returns a new instance for the given class name.
function getLabel($cell)
Returns a string or DOM node that represents the label for the given cell.
static function getLabelPaintBounds($label,
$style,
$isHtml,
$offset,
$vertexBounds,
$scale)
Returns the paint bounds for the given label.
static function getLabelSize($label,
$style)
Returns the size of the given label.
function getModel()
Returns the mxGraphModel that contains the cells.
static function getName($obj)
Returns the codec name for the given object instance.
function getName()
Returns name.
function getName()
Creates a new instance of the template for this codec.
static function getName($value)
Returns the name for the given value.
function getNearestCommonAncestor($cell1,
$cell2)
Returns the nearest common ancestor for the specified cells.
function getNextPoint($edge,
$opposite,
$source)
Returns the nearest point in the list of absolute points or the center of the opposite terminal.
static function getNumber($dict,  
$key,  
$default = )
Returns the value for key in dictionary or 0 if no value is defined for the key.
function getObject($id)
Returns the decoded object for the element with the specified ID in document.
function getOrigin($cell)
Returns the absolute, cummulated origin for the children inside the given parent as an mxPoint.
function getPaintBounds($cells)
Returns the bounding box of the given cells and their descendants.
function getParent()
Returns the cell’s parent.
function getParent($cell)
Returns the parent of the given cell.
static function getParentPath($path)
Returns the cell for the specified cell path using the given root as the root of the path.
function getPerimeterBounds($border =  0)
Returns the mxRectangle that should be used as the perimeter of the cell.
function getPerimeterBounds($terminal,  
$border =  0)
Returns the perimeter bounds for the given terminal, edge pair as an mxRectangle.
function getPerimeterFunction($state)
Returns the perimeter function for the given state.
function getPerimeterPoint($terminal,  
$next,  
$orthogonal,  
$border =  null)
Returns an mxPoint that defines the location of the intersection point between the perimeter and the line between the center of the shape and the given point.
function getPoint($state,  
$geometry =  null)
Returns the absolute point on the edge for the given relative mxGeometry as an mxPoint.
function getProperties()
Returns properties.
function getProperty($key)
Returns the property value for the given key.
function getRoot()
Returns the root of the model.
static function getRotatedPoint($pt,  
$cos,  
$sin,  
$cx =  null)
Rotates the given point by the given cos and sin.
function getRoutingCenterX($state)
Returns the x-coordinate of the center point for automatic routing.
function getRoutingCenterY($state)
Returns the y-coordinate of the center point for automatic routing.
static function getScaledLabelBounds($x,
$y,
$size,
$outerWidth,
$outerHeight,
$style,
$scale)
Returns the bounds for a label for the given location and size, taking into account the alignment and spacing in the specified style, as well as the width and height of the rectangle that contains the label.
static function getSizeForString($text,  
$fontSize =  0,
$fontFamily =  null)
Returns an mxRectangle with the size (width and height in pixels) of the given string.
function getState($cell,  
$create =  false)
Returns the cell state for the specified cell.
function getStates()
Returns the mxCellStates for the given array of mxCells.
function getStyle()
Returns a string that describes the style.
function getStyle($cell)
Returns the style of the given mxCell.
static function getStylename($style)
Returns the stylename in a style of the form [stylename;|key=value;] or an empty string if the given style does not contain a stylename.
static function getStylenames($style)
Returns the stylenames in a style of the form [stylename;|key=value;] or an empty array if the given style does not contain any stylenames.
function getStylesheet()
Returns the mxStylesheet that defines the style.
function getTerminal($source)
Returns the source or target terminal.
function getTerminal($edge,
$cource)
Returns the source or target mxCell of the given edge depending on the value of the boolean parameter.
function getTerminalPoint($isSource)
Returns the mxPoint representing the source or target point of this edge.
function getTerminalPort($state,
$terminal,
$source)
Returns an mxCellState that represents the source or target terminal or port for the given edge.
function getTrueTypeFont($style)
Returns the truetype font to be used to draw the text with the given style.
static function getTrueTypeFont($style)
Returns the truetype font to be used to draw the text with the given style.
function getTrueTypeFontSize($style)
Returns the truetype font size to be used to draw the text with the given style.
static function getTrueTypeFontSize($size)
Returns the truetype font size to be used to draw the text with the given style.
function getValue()
Returns the user object of the cell.
function getValue($cell)
Returns the user object of the given mxCell using mxCell.getValue.
static function getValue($name)
Returns the value associated with the given name.
static function getValue($dict,  
$key,  
$default = null)
Returns the value for key in dictionary or the given default value if no value is defined for the key.
function getView()
Returns the mxGraphView that contains the mxCellStates.
function getVisibleTerminal($edge,
$source)
Returns the nearest ancestor terminal that is visible.
function graphModelChanged($event)
Called when the graph model has changed.
function grow($amount)
Grows the rectangle by the given amount, that is, this method subtracts the given amount from the x- and y-coordinates and adds twice the amount to the width and height.
- -
- - - - - - - - - - - - \ No newline at end of file diff --git a/docs/php-api/index/Functions5.html b/docs/php-api/index/Functions5.html deleted file mode 100644 index ae87bbff3..000000000 --- a/docs/php-api/index/Functions5.html +++ /dev/null @@ -1,46 +0,0 @@ - - -Function Index - - - - - - - - - -
Function Index
$#! · 0-9 · A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z
I
 indexOf, mxUtils
 indexOfStylename, mxUtils
 info, mxLog
 insert, mxCell
 insertEdge
 insertIntoGraph, mxCodec
 insertVertex, mxGraph
 intersection, mxUtils
 invalidate, mxGraphView
 isAncestor, mxGraphModel
 isCellCollapsed, mxGraph
 isCellVisible, mxGraph
 isCollapsed
 isConnectable
 isConsumed, mxEventObject
 isEdge
 isExcluded, mxObjectCodec
 isNode, mxUtils
 isOrthogonal, mxGraph
 isReference, mxObjectCodec
 isVertex
 isVisible
L
 leave, mxLog
 loadImage
 loadXmlDocument, mxUtils
 lookup, mxCodec
M
 mergeChildren, mxGraphModel
 mergeChildrenImpl, mxGraphModel
 mxCell, mxCell
 mxCellState, mxCellState
 mxConnectionConstraint, mxConnectionConstraint
 mxEventObject, mxEventObject
 mxGdCanvas
 mxGeometry, mxGeometry
 mxGraphModel
 mxGraphView, mxGraphView
 mxGraphViewHtmlReader
 mxGraphViewImageReader, mxGraphViewImageReader
 mxImageBundle, mxImageBundle
 mxObjectCodec
 mxPoint, mxPoint
 mxRectangle, mxRectangle
 mxStylesheet, mxStylesheet
O
 offset, mxGdCanvas
 out, mxHtmlCanvas
- -
static function indexOf($array,
$object)
Returns the index of obj in array or -1 if the array does not contains the given object.
static function indexOfStylename($style,
$stylename)
Returns the index of the given stylename in the given style.
static function info($text)
Logs an info trace.
function insert($child,  
$index =  null)
Inserts the specified child into the child array at the specified index and updates the parent reference of the child.
function insertEdge($edge,
$outgoing)
Inserts the specified edge into the edge array and returns the edge.
function insertEdge($parent,  
$id =  null,
$value =  null,
$source =  null,
$target =  null,
$style =  null)
Adds a new edge into the given parent mxCell using value as the user object and the given source and target as the terminals of the new edge.
function insertIntoGraph($cell)
Inserts the given cell into its parent and terminal cells.
function insertVertex($parent,  
$id =  null,
$value =  null,
$x =  0,
$y =  0,
$width =  1,
$height =  1,
$style =  null,
$relative =  false)
Adds a new vertex into the given parent mxCell using value as the user object and the given coordinates as the mxGeometry of the new vertex.
static function intersection($x0,
$y0,
$x1,
$y1,
$x2,
$y2,
$x3,
$y3)
Returns the intersection of two lines as an mxPoint.
function isAncestor($parent,
$child)
Returns true if the given parent is an ancestor of the given child.
function isCellCollapsed($cell)
Returns true if the given cell is collapsed.
function isCellVisible($cell)
Returns true if the given cell is visible.
function isCollapsed()
Returns true if the cell is collapsed.
function isCollapsed($cell)
Returns true if the given mxCell is collapsed.
function isConnectable()
Returns true if the cell is connectable.
function isConnectable($cell)
Returns true if the given mxCell is connectable.
function isConsumed()
Returns true if the event has been consumed.
function isEdge()
Returns true if the cell is an edge.
function isEdge($cell)
Returns true if the given cell is an edge.
function isExcluded($obj,
$attr,
$value,
$write)
Returns true if the given attribute is to be ignored by the codec.
static function isNode($value,  
$nodeName =  null,
$attributeName =  null,
$attributeValue =  null)
Returns true if the given value is an XML node with the node name and if the optional attribute has the specified value.
function isOrthogonal($edge)
Returns true if perimeter points should be computed such that the resulting edge has only horizontal or vertical segments.
function isReference($obj,
$attr,
$value,
$write)
Returns true if the given fieldname is to be treated as a textual reference (ID).
function isVertex()
Returns true if the cell is a vertex.
function isVertex($cell)
Returns true if the given cell is a vertex.
function isVisible()
Returns true if the cell is visibile.
function isVisible($cell)
Returns true if the given mxCell is visible.
- - - -
static function leave($text = "")
Logs a method exit.
function loadImage($image)
Returns an image instance for the given URL.
static function loadImage($url)
Loads an image from the local filesystem, a data URI or any other URL.
static function loadXmlDocument($uri)
Returns a new DOM document for the given URI.
function lookup($id)
Hook for subclassers to implement a custom lookup mechanism for cell IDs.
- - - -
function mergeChildren($from,  
$to,  
$cloneAllEdges =  true)
Merges the children of the given cell into the given target cell inside this model.
function mergeChildrenImpl($from,
$to,
$cloneAllEdges,
$mapping)
Clones the children of the source cell into the given target cell in this model and adds an entry to the mapping that maps from the source cell to the target cell with the same id or the clone of the source cell that was inserted into this model.
function mxCell($value =  null,
$geometry =  null,
$style =  null)
Constructs a new cell to be used in a graph model.
function mxCellState($view =  null,
$cell =  null,
$style =  null)
Constructs a new object that represents the current state of the given cell in the specified view.
function mxConnectionConstraint($point =  null,
$perimeter =  true)
Constructs a new connection constraint for the given point and boolean arguments.
function mxEventObject($name)
Constructs a new event for the given name and properties.
function mxGdCanvas($width =  0,
$height =  0,
$scale =  1,
$background =  null,
$imageBasePath =  "")
Constructs a new GD canvas.
Constructs a new GD canvas.
function mxGeometry($x = 0,
$y = 0,
$width = 0,
$height = 0)
Constructs a new object to describe the size and location of a vertex or the control points of an edge.
Constructs a new graph model using the specified root cell.
function mxGraphModel($root =  null)
Constructs a new graph model using the specified root cell.
function mxGraphView($graph)
Constructs a new view for the specified mxGraph.
Constructs a new HTML graph view reader.
function mxGraphViewHtmlReader()
Constructs a new HTML graph view reader.
function mxGraphViewImageReader($background =  null,
$border =  0)
Constructs a new image graph view reader.
function mxImageBundle()
Constructs a new image bundle.
Constructs a new codec for the specified template object.
Constructs a new codec for the specified template object.
function mxObjectCodec($template,  
$exclude =  array(),
$idrefs =  array(),
$mapping =  array())
Constructs a new codec for the specified template object.
Constructs a new codec for the specified template object.
function mxPoint($x =  0,
$y =  0)
Constructs a new point for the optional x and y coordinates.
function mxRectangle($x =  0,
$y =  0,
$width =  0,
$height =  0)
Constructs a new rectangle for the optional parameters.
function mxStylesheet()
Constructs a new stylesheet and assigns default styles.
- - - -
function offset($points,  
$dx =  null,
$dy =  null)
Creates a new array of x, y sequences where the each coordinate is translated by dx and dy, respectively.
function out($string)
Adds the specified string to the output.
- -
- - - - - - - - - - - - \ No newline at end of file diff --git a/docs/php-api/index/Functions6.html b/docs/php-api/index/Functions6.html deleted file mode 100644 index de24d5169..000000000 --- a/docs/php-api/index/Functions6.html +++ /dev/null @@ -1,38 +0,0 @@ - - -Function Index - - - - - - - - - -
Function Index
$#! · 0-9 · A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z
P
 paintCell, mxGraph
 paintState, mxGraph
 parsePoints, mxGraphViewImageReader
 parseState, mxGraphViewImageReader
 parseXml, mxUtils
 postProcessCellStyle, mxGraph
 processInclude, mxObjectCodec
 putCellStyle, mxStylesheet
 putDefaultEdgeStyle, mxStylesheet
 putDefaultVertexStyle, mxStylesheet
 putImage, mxImageBundle
 putObject, mxCodec
 putValue, mxStyleRegistry
R
 read, mxGraphViewImageReader
 readFile
 reference, mxCodec
 register, mxCodecRegistry
 remove
 removeAllStylenames, mxUtils
 removeEdge, mxCell
 removeFromParent, mxCell
 removeFromTerminal, mxCell
 removeImageBundle, mxGraph
 removeState, mxGraphView
 removeStylename, mxUtils
 resolve, mxCellPath
 restoreClone, mxGraphModel
- -
Draws the given cell onto the specified canvas.
Draws the given cell and label onto the specified canvas.
function parsePoints($str)
Parses a string that represents a list of points into an array of mxPoints.
function parseState($state,
$edge)
Parses the bounds, absolute points and label information from the style of the state into its respective fields and returns the label of the cell.
static function parseXml($xml)
Returns a new DOM document for the given XML string.
function postProcessCellStyle($style)
Tries to resolve the value for the image style in the image bundles and turns short data URIs as defined in mxImageBundle to data URIs as defined in RFC 2397 of the IETF.
function processInclude($dec,
$node,
$into)
Returns true if the given node is an include directive and executes the include by decoding the XML document.
function putCellStyle($name,
$style)
Stores the specified style under the given name.
function putDefaultEdgeStyle($style)
Sets the default style for edges.
function putDefaultVertexStyle($style)
Sets the default style for vertices.
function putImage($key,
$value)
Adds the specified entry to the map.
function putObject($id,
$object)
Assoiates the given object with the given ID.
static function putValue($name,
$value)
Puts the given object into the registry under the given name.
- - - -
function read($string)
Reads the specified view XML string.
function readFile($filename)
Reads the specified view XML file in blocks of 4096 bytes.
static function readFile($filename)
Reads the given filename into a string.
function reference($obj)
Hook for subclassers to implement a custom method for retrieving IDs from objects.
static function register($codec)
Registers a new codec and associates the name of the template constructor in the codec with the codec object.
function remove($index)
Removes the child at the specified index from the child array and returns the child that was removed.
function remove($cell)
Removes the specified cell from the model using mxChildChange and adds the change to the current transaction.
static function removeAllStylenames($style)
Removes all stylenames from the given style and returns the updated style.
function removeEdge($edge,
$outgoing)
Removes the specified edge from the edge array and returns the edge.
function removeFromParent()
Removes the cell from its parent.
function removeFromTerminal($source)
Removes the edge from its source or target terminal.
function removeImageBundle($bundle)
Removes the specified mxImageBundle.
function removeState($cell,  
$recurse =  false)
Removes and returns the mxCellState for the given cell.
static function removeStylename($style,
$stylename)
Removes all occurrences of the specified stylename in the given style and returns the updated style.
static function resolve($root,
$path)
Returns the cell for the specified cell path using the given root as the root of the path.
function restoreClone($clne,
$cell,
$mapping)
Inner helper method for restoring the connections in a network of cloned cells.
- -
- - - - - - - - - - - - \ No newline at end of file diff --git a/docs/php-api/index/Functions7.html b/docs/php-api/index/Functions7.html deleted file mode 100644 index e26178f92..000000000 --- a/docs/php-api/index/Functions7.html +++ /dev/null @@ -1,46 +0,0 @@ - - -Function Index - - - - - - - - - -
Function Index
$#! · 0-9 · A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z
S
 setAttribute
 setCellStyleFlags, mxUtils
 setCellStyles
 setCollapsed
 setConnectable, mxCell
 setEdge, mxCell
 setGeometry
 setGraphBounds, mxGraphView
 setId, mxCell
 setImage, mxGdCanvas
 setImageBundles, mxGraph
 setParent, mxCell
 setRect, mxRectangle
 setRoot, mxGraphModel
 setScale, mxGraphView
 setStyle
 setStyleFlag, mxUtils
 setTerminal
 setTerminalPoint, mxGeometry
 setTerminals, mxGraphModel
 setTranslate, mxGraphView
 setValue
 setVertex, mxCell
 setVisible
 stackTrace, mxUtils
 startElement, mxGraphViewImageReader
 styles, mxStylesheet
T
 toRadians, mxUtils
 transformControlPoint, mxGraphView
 translate, mxGeometry
 translatePoints, mxUtils
U
 updateBoundingBox, mxGraphView
 updateCellState, mxGraphView
 updateEdgeBounds, mxGraphView
 updateEdgeParent, mxGraphModel
 updateEdgeParents, mxGraphModel
 updateEdgeState, mxGraphView
 updateFixedTerminalPoint, mxGraphView
 updateFixedTerminalPoints, mxGraphView
 updateFloatingTerminalPoint, mxGraphView
 updateFloatingTerminalPoints, mxGraphView
 updateLabelBounds, mxGraphView
 updatePoints, mxGraphView
 updateVertexLabelOffset, mxGraphView
 updateVertexState, mxGraphView
V
 validate, mxGraphView
 validateCell, mxGraphView
 validateCellStates, mxGraphView
- -
function setAttribute($key,
$value)
Sets the specified attribute on the user object if it is an XML node.
function setAttribute($node,
$attribute,
$value)
Sets the attribute on the specified node to value.
static function setCellStyleFlags($model,
$cells,
$key,
$flag,
$value)
Sets or toggles the flag bit for the given key in the cell’s styles.
function setCellStyles($key,
$value,
$cells)
Sets the key to value in the styles of the given cells.
static function setCellStyles($model,
$cells,
$key,
$value)
Assigns the value for the given key in the styles of the given cells, or removes the key from the styles if the value is null.
function setCollapsed($collapsed)
Sets the collapsed state.
function setCollapsed($cell,
$isCollapsed)
Sets the collapsed state of the given mxCell using mxCollapseChange and adds the change to the current transaction.
function setConnectable($connectable)
Sets the connectable state.
function setEdge($edge)
Specifies if the cell is an edge.
function setGeometry($geometry)
Sets the mxGeometry to be used as the geometry.
function setGeometry($cell,
$geometry)
Sets the mxGeometry of the given mxCell.
function setGraphBounds($value)
Sets graphBounds.
function setId($id)
Sets the Id of the cell to the given string.
function setImage($img)
Sets the image that represents the canvas.
function setImageBundles($value)
Sets the imageBundles.
function setParent($parent)
Sets the parent cell.
function setRect($x,
$y,
$width,
$height)
Sets this rectangle to the specified values.
function setScale($scale)
Sets the scale, revalidates the view and fires a scale event.
function setStyle($style)
Sets the string to be used as the style.
function setStyle($cell,
$style)
Sets the style of the given mxCell using mxStyleChange and adds the change to the current transaction.
static function setStyle($style,
$key,
$value)
Adds or removes the given key, value pair to the style and returns the new style.
static function setStyleFlag($style,
$key,
$flag,
$value)
Sets or removes the given key from the specified style and returns the new style.
function setTerminal($terminal,
$source)
Sets the source or target terminal and returns the new terminal.
function setTerminal($edge,
$terminal,
$source)
Sets the source or target terminal of the given mxCell using mxTerminalChange and adds the change to the current transaction.
function setTerminalPoint($point,
$isSource)
Sets the sourcePoint or targetPoint to the given mxPoint and returns the new point.
function setTerminals($edge,
$source,
$target)
Sets the source and target mxCell of the given mxCell in a single transaction using setTerminal for each end of the edge.
function setTranslate($translate)
Sets the translation, revalidates the view and fires a translate event.
function setValue($value)
Sets the user object of the cell.
function setValue($cell,
$value)
Sets the user object of then given mxCell using mxValueChange and adds the change to the current transaction.
function setVertex($vertex)
Specifies if the cell is a vertex.
function setVisible($visible)
Specifies if the cell is visible.
function setVisible($cell,
$visible)
Sets the visible state of the given mxCell using mxVisibleChange and adds the change to the current transaction.
static function stackTrace()
Prints a simple stack trace in the error log.
function startElement($parser,
$name,
$attrs)
Invoked by the SAX parser when an element starts.
var $styles = array()
Maps from names to styles.
- - - -
static function toRadians($deg)
Converts the given degree to radians.
function transformControlPoint($state,
$pt)
Transforms the given control point to an absolute point.
function translate($dx,
$dy)
Translates the geometry by the specified amount.
static function translatePoints($pts,
$dx,
$dy)
Creates a new list of new points obtained by translating the points in the given list by the given vector.
- - - -
function updateBoundingBox($state)
Updates the bounding box in the given cell state.
function updateCellState($state,
$source,
$target)
Updates the given mxCellState.
function updateEdgeBounds($state)
Updates the bounds of the specified state based on the absolute points in the state.
function updateEdgeParent($edge,
$root)
Inner callback to update the parent of the specified mxCell to the nearest-common-ancestor of its two terminals.
function updateEdgeParents($cell,  
$root =  null)
Updates the parent for all edges that are connected to cell or one of its descendants using updateEdgeParent.
function updateEdgeState($state,
$geo,
$source,
$target)
Validates the given cell state.
function updateFixedTerminalPoint($edge,
$terminal,
$source,
$constraint)
Sets the fixed source or target terminal point on the given edge.
function updateFixedTerminalPoints($edge,
$source,
$target)
Sets the initial absolute terminal points in the given state before the edge style is computed.
function updateFloatingTerminalPoint($edge,
$start,
$end,
$source)
Updates the absolute terminal point in the given state for the given start and end state, where start is the source if source is true.
function updateFloatingTerminalPoints($state,
$source,
$target)
Updates the terminal points in the given state after the edge style was computed for the edge.
function updateLabelBounds($state)
Updates the label bounds in the given state.
function updatePoints($edge,
$points,
$source,
$target)
Updates the absolute points in the given state using the specified array of mxPoints as the relative points.
function updateVertexLabelOffset($state)
Updates the absoluteOffset of the given vertex cell state.
function updateVertexState($state,
$geo)
Validates the given cell state.
- - - -
function validate($cell =  null)
Calls validateCell and validateCellState and updates the graphBounds using getBoundingBox.
function validateCell($cell,  
$visible =  true)
Recursively creates the cell state for the given cell if visible is true and the given cell is visible.
Validates and repaints the mxCellState for the given mxCell.
- -
- - - - - - - - - - - - \ No newline at end of file diff --git a/docs/php-api/index/Functions8.html b/docs/php-api/index/Functions8.html deleted file mode 100644 index 72332a655..000000000 --- a/docs/php-api/index/Functions8.html +++ /dev/null @@ -1,34 +0,0 @@ - - -Function Index - - - - - - - - - -
Function Index
$#! · 0-9 · A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z
W
 warn, mxLog
 write, mxLog
 writeAttribute, mxObjectCodec
 writeComplexAttribute, mxObjectCodec
 writeln, mxLog
 writePrimitiveAttribute, mxObjectCodec
- -
static function warn($text)
Logs a warn trace.
static function write($text)
Writes a line to the log.
function writeAttribute($enc,
$obj,
$attr,
$value,
$node)
Writes the given value into node using writePrimitiveAttribute or writeComplexAttribute depending on the type of the value.
function writeComplexAttribute($enc,
$obj,
$attr,
$value,
$node)
Writes the given value as a child node of the given node.
static function writeln($text)
Writes a line with a linefeed to the log.
function writePrimitiveAttribute($enc,
$obj,
$attr,
$value,
$node)
Writes the given value as an attribute of the given node.
- -
- - - - - - - - - - - - \ No newline at end of file diff --git a/docs/php-api/index/General.html b/docs/php-api/index/General.html deleted file mode 100644 index 200b04763..000000000 --- a/docs/php-api/index/General.html +++ /dev/null @@ -1,38 +0,0 @@ - - -Index - - - - - - - - - -
Index
$#! · 0-9 · A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z
A
 absoluteOffset, mxCellState
 absolutePoints, mxCellState
 ACTIVE_REGION, mxConstants
 add
 addAlias, mxCodecRegistry
 addBundle, mxGraph
 addElement, mxCodec
 addListener, mxEventSource
 addLogfile, mxLog
 addObjectValue, mxObjectCodec
 addStylename, mxUtils
 afterDecode, mxObjectCodec
 afterEncode, mxObjectCodec
 aliases, mxCodecRegistry
 ALIGN_BOTTOM, mxConstants
 ALIGN_CENTER, mxConstants
 ALIGN_LEFT, mxConstants
 ALIGN_MIDDLE, mxConstants
 ALIGN_RIGHT, mxConstants
 ALIGN_TOP, mxConstants
 alternateBounds, mxGeometry
 antialias
 API Specification
 apply
 ARROW_BLOCK, mxConstants
 ARROW_CLASSIC, mxConstants
 ARROW_DIAMOND, mxConstants
 ARROW_OPEN, mxConstants
 ARROW_OVAL, mxConstants
 ARROW_SIZE, mxConstants
 ARROW_SPACING, mxConstants
 ARROW_WIDTH, mxConstants
B
 background, mxGraphViewImageReader
 beforeDecode, mxObjectCodec
 beforeEncode, mxObjectCodec
 beginUpdate, mxGraphModel
 border, mxGraphViewImageReader
 boundingBox, mxCellState
- -
var $absoluteOffset
mxPoint that holds the absolute offset.
var $absolutePoints
Holds an array of mxPoints that represent the absolute points of an edge.
public static $ACTIVE_REGION
Defines the portion of the cell which is to be used as a connectable region.
function add($parent,  
$child,  
$index =  null)
Adds the specified child to the parent at the given index using mxChildChange and adds the change to the current transaction.
function add($rect)
Adds the given rectangle to this rectangle.
static function addAlias($classname,
$codecname)
Adds an alias for mapping a classname to a codecname.
Adds the specified mxImageBundle.
function addElement($node)
Adds the given element to elements if it has an ID.
function addListener($name,
$listener)
Adds a listener for the given event name.
static function addLogfile($filename)
Adds a file for logging.
function addObjectValue(&$obj,
$fieldname,
$value,
$template)
Sets the decoded child node as a value of the given object.
static function addStylename($style,
$stylename)
Adds the specified stylename to the given style if it does not already contain the stylename.
function afterDecode($dec,
$node,
&$obj)
Hook for subclassers to post-process the object after decoding.
function afterEncode($enc,
$obj,
$node)
Hook for subclassers to post-process the node for the given object after encoding and return the post-processed node.
public static $aliases
Maps from classnames to codecnames.
public static $ALIGN_BOTTOM
public static $ALIGN_CENTER
public static $ALIGN_LEFT
public static $ALIGN_MIDDLE
public static $ALIGN_RIGHT
public static $ALIGN_TOP
var $alternateBounds
Stores alternate values for x, y, width and height in a rectangle.
Specifies if image aspect should be preserved in drawImage.
var $antialias
Specifies if antialiasing should be enabled.
This PHP library is divided into 4 packages.
public function apply($state,
$source,
$target,
$points,
&$result)
Implements an edge style function.
public function apply($bounds,
$vertex,
$next,
$orthogonal)
Implements a perimeter function.
public static $ARROW_BLOCK
public static $ARROW_CLASSIC
public static $ARROW_DIAMOND
public static $ARROW_OPEN
public static $ARROW_OVAL
public static $ARROW_SIZE
Defines the size of the arrowhead in the arrow shape.
public static $ARROW_SPACING
Defines the spacing between the arrow shape and its terminals.
public static $ARROW_WIDTH
Defines the width of the arrow shape.
- - - -
var $background
Holds the background color.
function beforeDecode($dec,
$node,
&$obj)
Hook for subclassers to pre-process the node for the specified object and return the node to be used for further processing by decode.
function beforeEncode($enc,
$obj,
$node)
Hook for subclassers to pre-process the object before encoding.
function beginUpdate()
Increments the updateLevel by one.
var $border
Holds the border size.
var $boundingBox
Holds the largest rectangle which contains all rendering for this cell.
- -
- - - - - - - - - - - - \ No newline at end of file diff --git a/docs/php-api/index/General10.html b/docs/php-api/index/General10.html deleted file mode 100644 index adbc50fcd..000000000 --- a/docs/php-api/index/General10.html +++ /dev/null @@ -1,54 +0,0 @@ - - -Index - - - - - - - - - -
Index
$#! · 0-9 · A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z
T
 tab, mxLog
 target, mxCell
 targetPoint, mxGeometry
 template, mxObjectCodec
 terminalDistance, mxCellState
 TopToBottom, mxEdgeStyle
 toRadians, mxUtils
 transformControlPoint, mxGraphView
 translate
 TRANSLATE, mxEvent
 TRANSLATE_CONTROL_POINTS, mxGeometry
 translatePoints, mxUtils
 TrianglePerimeter, mxPerimeter
 TTF_ENABLED, mxConstants
 TTF_SIZEFACTOR, mxConstants
U
 updateBoundingBox, mxGraphView
 updateCellState, mxGraphView
 updateEdgeBounds, mxGraphView
 updateEdgeParent, mxGraphModel
 updateEdgeParents, mxGraphModel
 updateEdgeState, mxGraphView
 updateFixedTerminalPoint, mxGraphView
 updateFixedTerminalPoints, mxGraphView
 updateFloatingTerminalPoint, mxGraphView
 updateFloatingTerminalPoints, mxGraphView
 updateLabelBounds, mxGraphView
 updateLevel, mxGraphModel
 updatePoints, mxGraphView
 updateVertexLabelOffset, mxGraphView
 updateVertexState, mxGraphView
V
 validate, mxGraphView
 validateCell, mxGraphView
 validateCellStates, mxGraphView
 value, mxCell
 values, mxStyleRegistry
 Variables
 vertex, mxCell
 view
 visible, mxCell
W
 W3C_DEFAULT_FONTFAMILY, mxConstants
 W3C_SHADOWCOLOR, mxConstants
 warn, mxLog
 width, mxRectangle
 write, mxLog
 writeAttribute, mxObjectCodec
 writeComplexAttribute, mxObjectCodec
 writeln, mxLog
 writePrimitiveAttribute, mxObjectCodec
X
 x, mxPoint
Y
 y, mxPoint
- -
public static $tab
Default is true.
var $target
Reference to the target terminal.
var $targetPoint
Defines the target point of the edge.
var $template
Holds the template object associated with this codec.
var $terminalDistance
Caches the distance between the end points for an edge.
public static $TopToBottom
Provides a top to bottom connector.
static function toRadians($deg)
Converts the given degree to radians.
function transformControlPoint($state,
$pt)
Transforms the given control point to an absolute point.
function translate($dx,
$dy)
Translates the geometry by the specified amount.
var $translate
Holds the current translate.
public static $TRANSLATE
Defines the name of the translate event.
public static $TRANSLATE_CONTROL_POINTS
Global switch to translate the points in translate.
static function translatePoints($pts,
$dx,
$dy)
Creates a new list of new points obtained by translating the points in the given list by the given vector.
public static $TrianglePerimeter
Provides a triangle perimeter.
public static $TTF_ENABLED
Whether TrueType fonts should be enabled in the mxGdCanvas by default.
public static $TTF_SIZEFACTOR
Defines the factor which wich the font sizes are to be multiplied when used in truetype fonts.
- - - -
function updateBoundingBox($state)
Updates the bounding box in the given cell state.
function updateCellState($state,
$source,
$target)
Updates the given mxCellState.
function updateEdgeBounds($state)
Updates the bounds of the specified state based on the absolute points in the state.
function updateEdgeParent($edge,
$root)
Inner callback to update the parent of the specified mxCell to the nearest-common-ancestor of its two terminals.
function updateEdgeParents($cell,  
$root =  null)
Updates the parent for all edges that are connected to cell or one of its descendants using updateEdgeParent.
function updateEdgeState($state,
$geo,
$source,
$target)
Validates the given cell state.
function updateFixedTerminalPoint($edge,
$terminal,
$source,
$constraint)
Sets the fixed source or target terminal point on the given edge.
function updateFixedTerminalPoints($edge,
$source,
$target)
Sets the initial absolute terminal points in the given state before the edge style is computed.
function updateFloatingTerminalPoint($edge,
$start,
$end,
$source)
Updates the absolute terminal point in the given state for the given start and end state, where start is the source if source is true.
function updateFloatingTerminalPoints($state,
$source,
$target)
Updates the terminal points in the given state after the edge style was computed for the edge.
function updateLabelBounds($state)
Updates the label bounds in the given state.
var $updateLevel
Counter for the depth of nested transactions.
function updatePoints($edge,
$points,
$source,
$target)
Updates the absolute points in the given state using the specified array of mxPoints as the relative points.
function updateVertexLabelOffset($state)
Updates the absoluteOffset of the given vertex cell state.
function updateVertexState($state,
$geo)
Validates the given cell state.
- - - -
function validate($cell =  null)
Calls validateCell and validateCellState and updates the graphBounds using getBoundingBox.
function validateCell($cell,  
$visible =  true)
Recursively creates the cell state for the given cell if visible is true and the given cell is visible.
Validates and repaints the mxCellState for the given mxCell.
var $value
Holds the user object.
public static $values
Maps from strings to objects.
var $vertex
Specifies whether the cell is a vertex.
var $view
Reference to the enclosing mxGraphView.
var $view
Holds the mxGraphView.
var $visible
Specifies whether the cell is visible.
- - - -
public static $W3C_DEFAULT_FONTFAMILY
Defines the default family for HTML markup.
public static $W3C_SHADOWCOLOR
Defines the color to be used to draw shadows in DOM documents.
static function warn($text)
Logs a warn trace.
var $width
Holds the width of the rectangle.
static function write($text)
Writes a line to the log.
function writeAttribute($enc,
$obj,
$attr,
$value,
$node)
Writes the given value into node using writePrimitiveAttribute or writeComplexAttribute depending on the type of the value.
function writeComplexAttribute($enc,
$obj,
$attr,
$value,
$node)
Writes the given value as a child node of the given node.
static function writeln($text)
Writes a line with a linefeed to the log.
function writePrimitiveAttribute($enc,
$obj,
$attr,
$value,
$node)
Writes the given value as an attribute of the given node.
- - - -
var $x
Holds the x-coordinate of the point.
- - - -
var $y
Holds the y-coordinate of the point.
- -
- - - - - - - - - - - - \ No newline at end of file diff --git a/docs/php-api/index/General2.html b/docs/php-api/index/General2.html deleted file mode 100644 index a86e7b3ed..000000000 --- a/docs/php-api/index/General2.html +++ /dev/null @@ -1,34 +0,0 @@ - - -Index - - - - - - - - - -
Index
$#! · 0-9 · A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z
C
 canvas, mxGraphViewImageReader
 cell, mxCellState
 cellAdded, mxGraphModel
 cellCloned, mxGraphModel
 cellRemoved, mxGraphModel
 cells, mxGraphModel
 children, mxCell
 clear, mxGraphModel
 cloneCell, mxGraphModel
 cloneCellImpl, mxGraphModel
 cloneCells, mxGraphModel
 cloneTemplate, mxObjectCodec
 close, mxLog
 codecs
 collapsed, mxCell
 connectable, mxCell
 consume, mxEventObject
 consumed, mxEventObject
 contains
 convert
 convertFile
 convertValueFromXml, mxObjectCodec
 convertValueToString, mxGraph
 convertValueToXml, mxObjectCodec
 copy
 copyValue, mxCell
 create, mxCellPath
 createCanvas
 createDefaultEdgeStyle, mxStylesheet
 createDefaultVertexStyle, mxStylesheet
 createEdge, mxGraph
 createGraphView, mxGraph
 createId, mxGraphModel
 createIds, mxGraphModel
 createImage, mxGraph
 createRoot, mxGraphModel
 createState, mxGraphView
 createStylesheet, mxGraph
 createVertex, mxGraph
 createXmlDocument, mxUtils
 current, mxLog
- -
var $canvas
Holds the canvas.
var $cell
Reference to the mxCell that is represented by this state.
function cellAdded($cell)
Inner callback to update cells when a cell has been added.
function cellCloned($cell)
Hook for cloning the cell.
function cellRemoved($cell)
Inner callback to update cells when a cell has been removed.
var $cells
Maps from Ids to cells.
var $children
Holds the child cells.
function clear()
Sets a new root using createRoot.
function cloneCell($cell)
Returns a deep clone of the given mxCell (including the children) which is created using cloneCells.
function cloneCellImpl($cell,
$mapping,
$includeChildren)
Inner helper method for cloning cells recursively.
function cloneCells($cells,  
$includeChildren = true)
Returns an array of clones for the given array of mxCells.
function cloneTemplate()
Creates a new instance of the template for this codec.
static function close()
Closes all open logfiles.
Maps from constructor names to codecs.
public static $codecs
Maps from constructor names to codecs.
var $collapsed
Specifies whether the cell is collapsed.
var $connectable
Specifies whether the cell is connectable.
function consume()
Consumes the event.
var $consumed
Holds the consumed state of the event.
function contains($cell)
Returns true if the model contains the given mxCell.
static function contains($state,
$x,
$y)
Returns true if the specified point (x, y) is contained in the given rectangle.
static function convert($string,  
$background =  null)
Creates the HTML markup for the given display XML string.
static function convert($string,  
$background =  null)
Creates the image for the given display XML string.
static function convertFile($filename,  
$background =  null)
Creates the HTML markup for the given display XML file.
static function convertFile($filename,  
$background =  null)
Creates the image for the given display XML file.
function convertValueFromXml($value)
Returns the given value.
function convertValueToString($cell)
Returns the textual representation for the given cell.
function convertValueToXml($value)
Returns the given value without applying a conversion.
function copy()
Returns a clone of the cell.
function copy()
Returns a copy of this state where all members are deeply cloned except the view and cell references, which are copied with no cloning to the new instance.
function copy()
Returns a copy of this mxGeometry.
function copy()
Returns a copy of this mxPoint.
function copy()
Returns a copy of this mxRectangle.
function copyValue()
Returns a clone of the cell’s user object.
static function create($cell)
Creates the cell path for the given cell.
function createCanvas($attrs)
Returns the canvas to be used for rendering.
function createCanvas($attrs)
Returns the canvas to be used for rendering.
function createDefaultEdgeStyle()
Creates and returns the default edge style.
function createDefaultVertexStyle()
Creates and returns the default vertex style.
function createEdge($parent,  
$id =  null,
$value =  null,
$source =  null,
$target =  null,
$style =  null)
Creates the edge to be used in insertEdge.
function createGraphView()
Creates a new mxGraphView to be used in this graph.
function createId($cell)
Hook method to create an Id for the specified cell.
var $createIds
Specifies if the model should automatically create Ids for new cells.
function createImage($clip =  null,
$background =  null)
function createRoot()
Creates a new root cell with a default layer (child 0).
function createState($cell)
Creates the state for the specified cell.
function createStylesheet()
Creates a new mxStylesheet to be used in this graph.
function createVertex($parent,  
$id =  null,
$value =  null,
$x =  0,
$y =  0,
$width =  1,
$height =  1,
$style =  null,
$relative =  false)
Creates the vertex to be used in insertVertex.
static function createXmlDocument()
Returns a new, empty XML document.
public static $current
Default is true.
- -
- - - - - - - - - - - - \ No newline at end of file diff --git a/docs/php-api/index/General3.html b/docs/php-api/index/General3.html deleted file mode 100644 index 216c88f08..000000000 --- a/docs/php-api/index/General3.html +++ /dev/null @@ -1,34 +0,0 @@ - - -Index - - - - - - - - - -
Index
$#! · 0-9 · A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z
D
 debug, mxLog
 decode
 decodeAttribute, mxObjectCodec
 decodeAttributes, mxObjectCodec
 decodeCell, mxCodec
 decodeChild, mxObjectCodec
 decodeChildren, mxObjectCodec
 decodeNode, mxObjectCodec
 DEFAULT_FONTFAMILY, mxConstants
 DEFAULT_FONTSIZE, mxConstants
 DEFAULT_IMAGESIZE, mxConstants
 DEFAULT_LINESPACING, mxConstants
 DEFAULT_MARKERSIZE, mxConstants
 DEFAULT_STARTSIZE, mxConstants
 defaultLoopStyle, mxGraph
 DEG_PER_RAD, mxConstants
 destroy
 DIRECTION_EAST, mxConstants
 DIRECTION_NORTH, mxConstants
 DIRECTION_SOUTH, mxConstants
 DIRECTION_WEST, mxConstants
 document, mxCodec
 drawActor, mxGdCanvas
 drawCell, mxGdCanvas
 drawCloud, mxGdCanvas
 drawCylinder, mxGdCanvas
 drawFixedTextLine, mxGdCanvas
 drawGraph
 drawHexagon, mxGdCanvas
 drawImage
 drawLabel, mxGdCanvas
 drawLine
 drawMarker, mxGdCanvas
 drawOval, mxGdCanvas
 drawPolygon, mxGdCanvas
 drawRect, mxGdCanvas
 drawRhombus, mxGdCanvas
 drawShape
 drawString, mxGdCanvas
 drawText
 drawTriangle, mxGdCanvas
 drawTtfText, mxGdCanvas
 drawTtxTextLine, mxGdCanvas
- -
static function debug($text)
Logs a debug trace.
function decode($node,  
$into =  null)
Decodes the given XML node.
function decode($dec,  
$node,  
&$into =  null)
Parses the given node into the object or returns a new object representing the given node.
function decodeAttribute($dec,
$attr,
&$obj)
Reads the given attribute into the specified object.
function decodeAttributes($dec,
$node,
&$obj)
Decodes all attributes of the given node using decodeAttribute.
function decodeCell($node,  
$restoreStructures =  true)
Decodes cells that have been encoded using inversion, ie.
function decodeChild($dec,
$child,
&$obj)
Reads the specified child into the given object.
function decodeChildren($dec,
$node,
&$obj)
Decodec all children of the given node using decodeChild.
function decodeNode($dec,
$node,
&$obj)
Calls decodeAttributes and decodeChildren for the given node.
public static $DEFAULT_FONTFAMILY
Defines the default family for all truetype fonts.
public static $DEFAULT_FONTSIZE
Defines the default size (in px).
public static $DEFAULT_IMAGESIZE
Defines the default width and height for images used in the label shape.
public static $DEFAULT_LINESPACING
Defines the default linespacing.
public static $DEFAULT_MARKERSIZE
Defines the default size for all markers.
public static $DEFAULT_STARTSIZE
Defines the default start size for swimlanes.
var $defaultLoopStyle
mxEdgeStyle to be used for loops.
public static $DEG_PER_RAD
Defines the number of degrees per radiant.
function destroy()
Destroys all allocated resources.
function destroy()
Destroy all allocated resources for this reader.
function destroy()
Destroy all allocated resources.
public static $DIRECTION_EAST
public static $DIRECTION_NORTH
public static $DIRECTION_SOUTH
public static $DIRECTION_WEST
var $document
The owner document of the codec.
function drawActor($x,  
$y,  
$w,  
$h,  
$fill =  null,
$stroke =  null,
$shadow = false)
Draws then given cloud.
function drawCell($state)
Draws the given cell state.
function drawCloud($x,  
$y,  
$w,  
$h,  
$fill =  null,
$stroke =  null,
$shadow = false)
Draws then given cloud.
function drawCylinder($x,  
$y,  
$w,  
$h,  
$fill =  null,
$stroke =  null,
$shadow =  false)
Draws then given cylinder.
function drawFixedTextLine($text,  
$font,  
$left,  
$top,  
$color,  
$horizontal =  true)
Draws the given fixed text line.
public static function drawGraph($graph,  
$clip =  null,
$bg =  null)
Draws the given graph using this canvas.
function drawGraph($canvas)
Draws the given cell onto the specified canvas.
public static function drawGraph($graph,  
$clip =  null,
$bg =  null)
Draws the given graph using this canvas.
function drawHexagon($x,  
$y,  
$w,  
$h,  
$fill =  null,
$stroke =  null,
$shadow =  false,
$direction =  null)
Draws then given haxagon.
function drawImage($x,  
$y,  
$w,  
$h,  
$image,  
$aspect =  true,
$flipH =  false,
$flipV =  false)
Draws a given image.
function drawImage($x,  
$y,  
$w,  
$h,  
$image,  
$aspect =  true,
$flipH =  false,
$flipV =  false)
Draws the specified image.
function drawLabel($text,  
$state,  
$html =  false)
Draws the given label.
function drawLine($x0,  
$y0,  
$x1,  
$y1,  
$stroke =  null,
$dashed =  false)
Draws the given line.
function drawLine($x0,  
$y0,  
$x1,  
$y1,  
$stroke =  null,
$dashed =  false)
Draws the specified line.
function drawMarker($type,
$p0,
$pe,
$size,
$stroke)
Draws the specified marker.
function drawOval($x,  
$y,  
$w,  
$h,  
$fill =  null,
$stroke =  null,
$shadow =  false)
Draws then given ellipse.
function drawPolygon($points,  
$fill =  null,
$stroke =  null,
$shadow =  false)
Draws the given polygon.
function drawRect($x,  
$y,  
$w,  
$h,  
$fill =  null,
$stroke =  null,
$shadow =  false,
$rounded =  false,
$dashed =  false)
Draws then given rectangle.
function drawRhombus($x,  
$y,  
$w,  
$h,  
$fill =  null,
$stroke =  null,
$shadow =  false)
Draws then given rhombus.
function drawShape($x,
$y,
$w,
$h,
$style)
Draws the given shape.
function drawShape($shape,  
$x,  
$y,  
$w,  
$h,  
$stroke = null,
$fill = null)
Draws the specified shape.
function drawText($string,
$x,
$y,
$w,
$h,
$style)
function drawText($string,
$x,
$y,
$w,
$h,
$style)
Draws the specified text.
function drawTriangle($x,  
$y,  
$w,  
$h,  
$fill =  null,
$stroke =  null,
$shadow =  false,
$direction =  null)
Draws then given triangle.
function drawTtfText($string,
$x,
$y,
$w,
$h,
$style)
Draws a single line of the given true type font text.
- -
- - - - - - - - - - - - \ No newline at end of file diff --git a/docs/php-api/index/General4.html b/docs/php-api/index/General4.html deleted file mode 100644 index c3c6853e7..000000000 --- a/docs/php-api/index/General4.html +++ /dev/null @@ -1,38 +0,0 @@ - - -Index - - - - - - - - - -
Index
$#! · 0-9 · A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z
E
 edge, mxCell
 edges, mxCell
 EDGESTYLE_ENTITY_RELATION, mxConstants
 EDGESTYLE_LOOP, mxConstants
 EDGESTYLE_SIDETOSIDE, mxConstants
 EDGESTYLE_TOPTOBOTTOM, mxConstants
 ELBOW_HORIZONTAL, mxConstants
 ELBOW_VERTICAL, mxConstants
 ElbowConnector, mxEdgeStyle
 elements, mxCodec
 EllipsePerimeter, mxPerimeter
 EMPTY_POINT, mxGraphView
 enableTtf, mxGdCanvas
 encode
 encodeCell, mxCodec
 encodeDefaults, mxCodec
 encodeImage, mxUtils
 encodeObject, mxObjectCodec
 encodeValue, mxObjectCodec
 endElement, mxGraphViewImageReader
 endUpdate, mxGraphModel
 enter, mxLog
 ENTITY_SEGMENT, mxConstants
 EntityRelation, mxEdgeStyle
 equals
 error, mxLog
 evaluate, mxUtils
 eventListeners, mxEventSource
 exclude, mxObjectCodec
F
 findNode, mxUtils
 findTreeRoots, mxGraph
 fine, mxLog
 fireEvent, mxEventSource
 flipImage, mxUtils
 FONT_BOLD, mxConstants
 FONT_ITALIC, mxConstants
 FONT_UNDERLINE, mxConstants
 Functions
- -
var $edge
Specifies whether the cell is an edge.
var $edges
Holds the edges.
public static $EDGESTYLE_ENTITY_RELATION
Name of the entity relation edge style.
public static $EDGESTYLE_LOOP
Name of the loop edge style.
public static $EDGESTYLE_SIDETOSIDE
Name of the side to side edge style.
public static $EDGESTYLE_TOPTOBOTTOM
Name of the top to bottom edge style.
public static $ELBOW_HORIZONTAL
public static $ELBOW_VERTICAL
public static $ElbowConnector
Provides an elbow connector.
var $elements
Maps from IDs to elements.
public static $EllipsePerimeter
Provides an elliptic perimeter.
var $EMPTY_POINT
An empty mxPoint instance.
var $enableTtf
Specifies if truetype fonts are enabled if available.
function encode($obj)
Encodes the specified object and returns the resulting XML node.
function encode($enc,
$obj)
Encodes the specified object and returns a node representing then given object.
function encodeCell($cell,  
$node,  
$includeChildren = true)
Encoding of cell hierarchies is built-into the core, but is a higher-level function that needs to be explicitely used by the respective object encoders (eg.
var $encodeDefaults
Specifies if default values should be encoded.
static function encodeImage($image,  
$format = null)
Encodes the given image using the GD image encoding routines.
function encodeObject($enc,
$obj,
$node)
Encodes the value of each member in then given obj into the given node using encodeValue.
function encodeValue($enc,
$obj,
$name,
$value,
$node)
Converts the given value according to the mappings and id-refs in this codec and uses writeAttribute to write the attribute into the given node.
function endElement($parser,
$name)
Invoked by the SAX parser when an element ends.
function endUpdate()
Decrements the updateLevel by one and fires a notification event if the updateLevel reaches 0.
static function enter($method,  
$text = "")
Logs a method entry.
public static $ENTITY_SEGMENT
Defines the length of the horizontal segment of an Entity Relation.
public static $EntityRelation
Provides an entity relation style for edges (as used in database schema diagrams).
function equals($obj)
Returns true if the given object equals this point.
function equals($obj)
Returns true if the given object equals this rectangle.
static function error($text)
Logs an error trace.
static function evaluate($expression)
Evaluates an expression to a class member.
var $eventListeners
Holds the registered listeners.
var $exclude
Array containing the variable names that should be ignored by the codec.
- - - -
static function findNode($node,
$attr,
$value)
Returns the first node where attr equals value.
function findTreeRoots($parent,  
$isolate =  false,
$invert =  false)
Returns all children in the given parent which do not have incoming edges.
static function fine($text)
Logs a fine trace.
function fireEvent($event)
Fires the event for the specified name.
static function flipImage($img,
$flipH,
$flipV)
Flips the given image horizontally and/or vertically and returns a new image instance.
public static $FONT_BOLD
public static $FONT_ITALIC
public static $FONT_UNDERLINE
- -
- - - - - - - - - - - - \ No newline at end of file diff --git a/docs/php-api/index/General5.html b/docs/php-api/index/General5.html deleted file mode 100644 index 26f5406c1..000000000 --- a/docs/php-api/index/General5.html +++ /dev/null @@ -1,34 +0,0 @@ - - -Index - - - - - - - - - -
Index
$#! · 0-9 · A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z
G
 geometry, mxCell
 getAttribute, mxCell
 getAttributeName, mxObjectCodec
 getBoundingBox
 getBounds, mxGraphView
 getBoundsForCells, mxGraph
 getCellBounds, mxGraph
 getCellGeometry, mxGraph
 getCells, mxGraphModel
 getCellStyle
 getCenterX, mxRectangle
 getCenterY, mxRectangle
 getChildAt
 getChildCount
 getChildOffsetForCell, mxGraph
 getCodec, mxCodecRegistry
 getColor, mxGdCanvas
 getConnectionConstraint, mxGraph
 getConnectionPoint, mxGraph
 getDefaultEdgeStyle, mxStylesheet
 getDefaultParent, mxGraph
 getDefaultVertexStyle, mxStylesheet
 getDirectedEdgeCount, mxGraphModel
 getEdgeAt
 getEdgeCount
 getEdgeIndex, mxCell
 getEdges, mxGraphModel
 getEdgeStyle, mxGraphView
 getElementById, mxCodec
 getFieldName, mxObjectCodec
 getFieldTemplate, mxObjectCodec
 getFixedFontSize
 getGeometry
 getGraphBounds
 getHashCode, mxGraphView
 getHtml, mxHtmlCanvas
 getId
 getImage
 getImageBundles, mxGraph
 getImageForStyle, mxGdCanvas
 getImageFromBundles, mxGraph
 getImages, mxImageBundle
 getIndex, mxCell
 getInstanceForName, mxCodecRegistry
 getLabel, mxGraph
 getLabelPaintBounds, mxUtils
 getLabelSize, mxUtils
 getModel, mxGraph
 getName
 getNearestCommonAncestor, mxGraphModel
 getNextPoint, mxGraphView
 getNumber, mxUtils
 getObject, mxCodec
 getOrigin, mxGraphModel
 getPaintBounds, mxGraph
 getParent
 getParentPath, mxCellPath
 getPerimeterBounds
 getPerimeterFunction, mxGraphView
 getPerimeterPoint, mxGraphView
 getPoint, mxGraphView
 getProperties, mxEventObject
 getProperty, mxEventObject
 getRoot, mxGraphModel
 getRotatedPoint, mxUtils
 getRoutingCenterX, mxGraphView
 getRoutingCenterY, mxGraphView
 getScaledLabelBounds, mxUtils
 getSizeForString, mxUtils
 getState, mxGraphView
 getStates, mxGraphView
 getStyle
 getStylename, mxUtils
 getStylenames, mxUtils
 getStylesheet, mxGraph
 getTerminal
 getTerminalPoint, mxGeometry
 getTerminalPort, mxGraphView
 getTrueTypeFont
 getTrueTypeFontSize
 getValue
 getView, mxGraph
 getVisibleTerminal, mxGraphView
 graph, mxGraphView
 GRAPH_MODEL_CHANGED, mxEvent
 graphBounds, mxGraphView
 graphModelChanged, mxGraph
 gridSize, mxGraph
 grow, mxRectangle
- -
var $geometry
Holds the mxGeometry.
function getAttribute($key,  
$defaultValue =  null)
Returns the specified attribute from the user object if it is an XML node.
function getAttributeName($fieldname)
Returns the attributename for the given fieldname.
function getBoundingBox($cell,  
$includeEdges =  false,
$includeDescendants =  false)
Returns the bounding box of the given cell including all connected edges if includeEdge is true.
function getBoundingBox($state,  
$recurse =  true)
Returns the bounding box of the shape and the label for the given mxCellState and its children if recurse is true.
static function getBoundingBox($rect,
$rotation)
Returns the bounding box for the rotated rectangle.
function getBounds($cells,  
$boundingBox =  false)
Returns the bounding for for an array of cells or null, if no cells are specified.
function getBoundsForCells($cells,  
$includeEdges =  false,
$includeDescendants =  false,
$boundingBox =  false)
Returns the bounds for the given cells.
function getCellBounds($cell,  
$includeEdges =  false,
$includeDescendants =  false,
$boundingBox =  false)
Returns the bounds of the given cell including all connected edges if includeEdge is true.
function getCellGeometry($cell)
Returns the mxGeometry for the given mxCell.
function getCells()
Returns the internal lookup table that is used to map from Ids to cells.
function getCellStyle($cell)
function getCellStyle($name,  
$defaultStyle =  null)
Returns the cell style for the specified cell or the given defaultStyle if no style can be found for the given stylename.
function getCenterX()
Returns the x-coordinate of the center point.
function getCenterY()
Returns the y-coordinate of the center point.
function getChildAt($index)
Returns the child at the specified index.
function getChildAt($cell,
$index)
Returns the child of the given mxCell at the given index.
function getChildCount()
Returns the number of child cells.
function getChildCount($cell)
Returns the number of children in the given cell.
function getChildOffsetForCell($cell)
Returns the offset to be used for the cells inside the given cell.
static function getCodec($name)
Returns a codec that handles objects that are constructed using the given ctor.
function getColor($hex,  
$default =  null)
Allocates the given color and returns a reference to it.
function getConnectionConstraint($edge,
$terminal,
$source)
Returns an mxConnectionConstraint that describes the given connection point.
function getConnectionPoint($vertex,
$constraint)
Returns the nearest point in the list of absolute points or the center of the opposite terminal.
function getDefaultEdgeStyle()
Sets the default style for edges.
function getDefaultParent()
Returns the first child child of mxGraphModel.root.
function getDefaultVertexStyle()
Returns the default style for vertices.
function getDirectedEdgeCount($cell,  
$outgoing,  
$ignoredEdge =  null)
Returns the number of incoming or outgoing edges, ignoring the given edge.
function getEdgeAt($index)
Returns the edge at the specified index in edges.
function getEdgeAt($cell,
$index)
Returns the edge of cell at the given index.
function getEdgeCount()
Returns the number of edges in the edge array.
function getEdgeCount($cell)
Returns the number of distinct edges connected to the given cell.
function getEdgeIndex($edge)
Returns the index of the specified edge in edges.
function getEdges($cell)
Returns all distinct edges connected to this cell as an array of mxCells.
function getEdgeStyle($edge,
$points,
$source,
$target)
Returns the edge style function to be used to render the given edge state.
function getElementById($id)
Returns the element with the given ID from document.
function getFieldName($attributename)
Returns the fieldname for the given attributename.
function getFieldTemplate(&$obj,
$fieldname,
$child)
Returns the template instance for the given field.
function getFixedFontSize($fontSize,  
$fontFamily,  
$fontStyle = null)
Returns the fixed font size for GD (1 t0 5) for the given font properties
static function getFixedFontSize($fontSize,  
$fontFamily,  
$fontStyle = null)
Returns the fixed font size for GD (1 t0 5) for the given font properties
function getGeometry()
Returns the mxGeometry that describes the geometry.
function getGeometry($cell)
Returns the mxGeometry of the given mxCell.
function getGraphBounds()
Returns the bounds of the visible graph.
function getGraphBounds()
Returns graphBounds.
function getHashCode($cell)
Returns a unique string that represents the given instance.
function getHtml()
Gets the HTML that represents the canvas.
function getId()
Returns the Id of the cell as a string.
function getId($obj)
Returns the ID of the specified object.
function getImage()
Returns an image that represents this canvas.
function getImage($key)
Returns the value for the given key.
function getImageBundles()
Returns the imageBundles.
function getImageForStyle($style)
Returns an image that represents this canvas.
function getImageFromBundles($key)
Searches all imageBundles for the specified key and returns the value for the first match or null if the key is not found.
function getImages()
Returns the images.
function getIndex($child)
Returns the index of the specified child in the child array.
static function getInstanceForName($name)
Creates and returns a new instance for the given class name.
function getLabel($cell)
Returns a string or DOM node that represents the label for the given cell.
static function getLabelPaintBounds($label,
$style,
$isHtml,
$offset,
$vertexBounds,
$scale)
Returns the paint bounds for the given label.
static function getLabelSize($label,
$style)
Returns the size of the given label.
function getModel()
Returns the mxGraphModel that contains the cells.
static function getName($obj)
Returns the codec name for the given object instance.
function getName()
Returns name.
function getName()
Creates a new instance of the template for this codec.
static function getName($value)
Returns the name for the given value.
function getNearestCommonAncestor($cell1,
$cell2)
Returns the nearest common ancestor for the specified cells.
function getNextPoint($edge,
$opposite,
$source)
Returns the nearest point in the list of absolute points or the center of the opposite terminal.
static function getNumber($dict,  
$key,  
$default = )
Returns the value for key in dictionary or 0 if no value is defined for the key.
function getObject($id)
Returns the decoded object for the element with the specified ID in document.
function getOrigin($cell)
Returns the absolute, cummulated origin for the children inside the given parent as an mxPoint.
function getPaintBounds($cells)
Returns the bounding box of the given cells and their descendants.
function getParent()
Returns the cell’s parent.
function getParent($cell)
Returns the parent of the given cell.
static function getParentPath($path)
Returns the cell for the specified cell path using the given root as the root of the path.
function getPerimeterBounds($border =  0)
Returns the mxRectangle that should be used as the perimeter of the cell.
function getPerimeterBounds($terminal,  
$border =  0)
Returns the perimeter bounds for the given terminal, edge pair as an mxRectangle.
function getPerimeterFunction($state)
Returns the perimeter function for the given state.
function getPerimeterPoint($terminal,  
$next,  
$orthogonal,  
$border =  null)
Returns an mxPoint that defines the location of the intersection point between the perimeter and the line between the center of the shape and the given point.
function getPoint($state,  
$geometry =  null)
Returns the absolute point on the edge for the given relative mxGeometry as an mxPoint.
function getProperties()
Returns properties.
function getProperty($key)
Returns the property value for the given key.
function getRoot()
Returns the root of the model.
static function getRotatedPoint($pt,  
$cos,  
$sin,  
$cx =  null)
Rotates the given point by the given cos and sin.
function getRoutingCenterX($state)
Returns the x-coordinate of the center point for automatic routing.
function getRoutingCenterY($state)
Returns the y-coordinate of the center point for automatic routing.
static function getScaledLabelBounds($x,
$y,
$size,
$outerWidth,
$outerHeight,
$style,
$scale)
Returns the bounds for a label for the given location and size, taking into account the alignment and spacing in the specified style, as well as the width and height of the rectangle that contains the label.
static function getSizeForString($text,  
$fontSize =  0,
$fontFamily =  null)
Returns an mxRectangle with the size (width and height in pixels) of the given string.
function getState($cell,  
$create =  false)
Returns the cell state for the specified cell.
function getStates()
Returns the mxCellStates for the given array of mxCells.
function getStyle()
Returns a string that describes the style.
function getStyle($cell)
Returns the style of the given mxCell.
static function getStylename($style)
Returns the stylename in a style of the form [stylename;|key=value;] or an empty string if the given style does not contain a stylename.
static function getStylenames($style)
Returns the stylenames in a style of the form [stylename;|key=value;] or an empty array if the given style does not contain any stylenames.
function getStylesheet()
Returns the mxStylesheet that defines the style.
function getTerminal($source)
Returns the source or target terminal.
function getTerminal($edge,
$cource)
Returns the source or target mxCell of the given edge depending on the value of the boolean parameter.
function getTerminalPoint($isSource)
Returns the mxPoint representing the source or target point of this edge.
function getTerminalPort($state,
$terminal,
$source)
Returns an mxCellState that represents the source or target terminal or port for the given edge.
function getTrueTypeFont($style)
Returns the truetype font to be used to draw the text with the given style.
static function getTrueTypeFont($style)
Returns the truetype font to be used to draw the text with the given style.
function getTrueTypeFontSize($style)
Returns the truetype font size to be used to draw the text with the given style.
static function getTrueTypeFontSize($size)
Returns the truetype font size to be used to draw the text with the given style.
function getValue()
Returns the user object of the cell.
function getValue($cell)
Returns the user object of the given mxCell using mxCell.getValue.
static function getValue($name)
Returns the value associated with the given name.
static function getValue($dict,  
$key,  
$default = null)
Returns the value for key in dictionary or the given default value if no value is defined for the key.
function getView()
Returns the mxGraphView that contains the mxCellStates.
function getVisibleTerminal($edge,
$source)
Returns the nearest ancestor terminal that is visible.
var $graph
Holds the mxGraph.
public static $GRAPH_MODEL_CHANGED
Defines the name of the graphModelChanged event.
var $graphBounds
Holds the bounds of the current view.
function graphModelChanged($event)
Called when the graph model has changed.
var $gridSize
Specifies the grid size.
function grow($amount)
Grows the rectangle by the given amount, that is, this method subtracts the given amount from the x- and y-coordinates and adds twice the amount to the width and height.
- -
- - - - - - - - - - - - \ No newline at end of file diff --git a/docs/php-api/index/General6.html b/docs/php-api/index/General6.html deleted file mode 100644 index 19089be27..000000000 --- a/docs/php-api/index/General6.html +++ /dev/null @@ -1,42 +0,0 @@ - - -Index - - - - - - - - - -
Index
$#! · 0-9 · A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z
H
 height
 html, mxHtmlCanvas
I
 id, mxCell
 idrefs, mxObjectCodec
 image, mxGdCanvas
 imageBundles, mxGraph
 imageCache, mxGdCanvas
 images, mxImageBundle
 indexOf, mxUtils
 indexOfStylename, mxUtils
 info, mxLog
 insert, mxCell
 insertEdge
 insertIntoGraph, mxCodec
 insertVertex, mxGraph
 intersection, mxUtils
 invalid, mxCellState
 invalidate, mxGraphView
 isAncestor, mxGraphModel
 isCellCollapsed, mxGraph
 isCellVisible, mxGraph
 isCollapsed
 isConnectable
 isConsumed, mxEventObject
 isEdge
 isExcluded, mxObjectCodec
 isNode, mxUtils
 isOrthogonal, mxGraph
 isReference, mxObjectCodec
 isVertex
 isVisible
L
 LABEL_INSET, mxConstants
 labelBounds, mxCellState
 labelsVisible, mxGraph
 leave, mxLog
 length, mxCellState
 level_debug, mxLog
 level_error, mxLog
 level_fine, mxLog
 level_info, mxLog
 level_warn, mxLog
 loadImage
 loadXmlDocument, mxUtils
 logfiles, mxLog
 lookup, mxCodec
 Loop, mxEdgeStyle
- -
Holds the height.
var $height
Holds the height of the rectangle.
var $html
Holds the html markup.
- - - -
var $id
Holds the Id.
var $idrefs
Array containing the variable names that should be turned into or converted from references.
var $image
Holds the image.
protected $imageBundles
Holds the list of image bundles.
var $imageCache
Holds the image cache.
var $images
Maps from keys to images.
static function indexOf($array,
$object)
Returns the index of obj in array or -1 if the array does not contains the given object.
static function indexOfStylename($style,
$stylename)
Returns the index of the given stylename in the given style.
static function info($text)
Logs an info trace.
function insert($child,  
$index =  null)
Inserts the specified child into the child array at the specified index and updates the parent reference of the child.
function insertEdge($edge,
$outgoing)
Inserts the specified edge into the edge array and returns the edge.
function insertEdge($parent,  
$id =  null,
$value =  null,
$source =  null,
$target =  null,
$style =  null)
Adds a new edge into the given parent mxCell using value as the user object and the given source and target as the terminals of the new edge.
function insertIntoGraph($cell)
Inserts the given cell into its parent and terminal cells.
function insertVertex($parent,  
$id =  null,
$value =  null,
$x =  0,
$y =  0,
$width =  1,
$height =  1,
$style =  null,
$relative =  false)
Adds a new vertex into the given parent mxCell using value as the user object and the given coordinates as the mxGeometry of the new vertex.
static function intersection($x0,
$y0,
$x1,
$y1,
$x2,
$y2,
$x3,
$y3)
Returns the intersection of two lines as an mxPoint.
var $invalid
Specifies if the state is invalid.
function isAncestor($parent,
$child)
Returns true if the given parent is an ancestor of the given child.
function isCellCollapsed($cell)
Returns true if the given cell is collapsed.
function isCellVisible($cell)
Returns true if the given cell is visible.
function isCollapsed()
Returns true if the cell is collapsed.
function isCollapsed($cell)
Returns true if the given mxCell is collapsed.
function isConnectable()
Returns true if the cell is connectable.
function isConnectable($cell)
Returns true if the given mxCell is connectable.
function isConsumed()
Returns true if the event has been consumed.
function isEdge()
Returns true if the cell is an edge.
function isEdge($cell)
Returns true if the given cell is an edge.
function isExcluded($obj,
$attr,
$value,
$write)
Returns true if the given attribute is to be ignored by the codec.
static function isNode($value,  
$nodeName =  null,
$attributeName =  null,
$attributeValue =  null)
Returns true if the given value is an XML node with the node name and if the optional attribute has the specified value.
function isOrthogonal($edge)
Returns true if perimeter points should be computed such that the resulting edge has only horizontal or vertical segments.
function isReference($obj,
$attr,
$value,
$write)
Returns true if the given fieldname is to be treated as a textual reference (ID).
function isVertex()
Returns true if the cell is a vertex.
function isVertex($cell)
Returns true if the given cell is a vertex.
function isVisible()
Returns true if the cell is visibile.
function isVisible($cell)
Returns true if the given mxCell is visible.
- - - -
public static $LABEL_INSET
Defines the inset in absolute pixels between the label bounding box and the label text.
var $labelBounds
Holds the rectangle which contains the label.
var $labelsVisible
Specifies if labels should be visible.
static function leave($text = "")
Logs a method exit.
var $length
Caches the length of an edge.
public static $level_debug
Specifies the debug logging level.
public static $level_error
Specifies the error logging level.
public static $level_fine
Specifies the fine logging level.
public static $level_info
Specifies the info logging level.
public static $level_warn
Specifies the warn logging level.
function loadImage($image)
Returns an image instance for the given URL.
static function loadImage($url)
Loads an image from the local filesystem, a data URI or any other URL.
static function loadXmlDocument($uri)
Returns a new DOM document for the given URI.
public static $logfiles
Holds the array of logfiles.
function lookup($id)
Hook for subclassers to implement a custom lookup mechanism for cell IDs.
public static $Loop
Provides a self-reference, aka.
- -
- - - - - - - - - - - - \ No newline at end of file diff --git a/docs/php-api/index/General7.html b/docs/php-api/index/General7.html deleted file mode 100644 index bd0bc0387..000000000 --- a/docs/php-api/index/General7.html +++ /dev/null @@ -1,42 +0,0 @@ - - -Index - - - - - - - - - -
Index
$#! · 0-9 · A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z
M
 maintainEdgeParent, mxGraphModel
 mapping, mxObjectCodec
 mergeChildren, mxGraphModel
 mergeChildrenImpl, mxGraphModel
 MIN_ACTIVE_REGION, mxConstants
 model, mxGraph
 mxCell
 mxCellCodec
 mxCellPath
 mxCellState
 mxCodec
 mxCodecRegistry
 mxConnectionConstraint
 mxConstants
 mxEdgeStyle
 mxEdgeStyleFunction
 mxElbowConnector
 mxEllipsePerimeter
 mxEntityRelation
 mxEvent
 mxEventObject
 mxEventSource
 mxGdCanvas
 mxGdCanvas.php
 mxGeometry
 mxGraph
 mxGraphModel
 mxGraphView
 mxGraphViewHtmlReader
 mxGraphViewImageReader
 mxHtmlCanvas
 mxImageBundle
 mxLog
 mxLoop
 mxModelCodec
 mxObjectCodec
 mxPerimeter
 mxPerimeterFunction
 mxPoint
 mxRectangle
 mxRectanglePerimeter
 mxRhombusPerimeter
 mxSideToSide
 mxStyleRegistry
 mxStylesheet
 mxStylesheetCodec
 mxTopToBottom
 mxTrianglePerimeter
 mxUtils
N
 name, mxEventObject
 nextId, mxGraphModel
 NONE, mxConstants
 NS_SVG, mxConstants
 NS_XHTML, mxConstants
 NS_XLINK, mxConstants
O
 objects, mxCodec
 offset
 origin, mxCellState
 out, mxHtmlCanvas
- -
var $maintainEdgeParent
Specifies if edges should automatically be moved into the nearest common ancestor of their terminals.
var $mapping
Maps from from fieldnames to XML attribute names.
function mergeChildren($from,  
$to,  
$cloneAllEdges =  true)
Merges the children of the given cell into the given target cell inside this model.
function mergeChildrenImpl($from,
$to,
$cloneAllEdges,
$mapping)
Clones the children of the source cell into the given target cell in this model and adds an entry to the mapping that maps from the source cell to the target cell with the same id or the clone of the source cell that was inserted into this model.
public static $MIN_ACTIVE_REGION
Defines the minimum size in pixels of the portion of the cell cell which is to be used as a connectable region.
var $model
Holds the mxGraphModel.
Cells are the elements of the graph model.
function mxCell($value =  null,
$geometry =  null,
$style =  null)
Constructs a new cell to be used in a graph model.
Codec for mxCells.
Implements a mechanism for temporary cell Ids.
Represents the current state of a cell in a given mxGraphView.
function mxCellState($view =  null,
$cell =  null,
$style =  null)
Constructs a new object that represents the current state of the given cell in the specified view.
XML codec for PHP object graphs.
A class to register codecs for objects.
Defines an object that contains the constraints about how to connect one side of an edge to its terminal.
function mxConnectionConstraint($point =  null,
$perimeter =  true)
Constructs a new connection constraint for the given point and boolean arguments.
Defines global constants.
Provides various edge styles to be used as the values for mxConstants.STYLE_EDGE in a cell style.
Defines the requirements for an edge style function.
Uses either SideToSide or TopToBottom depending on the horizontal flag in the cell style.
Implements an elliptic perimeter.
Implements an entity relation style for edges (as used in database schema diagrams).
Defines global constants.
Base class for all events.
function mxEventObject($name)
Constructs a new event for the given name and properties.
Base class for all event sources.
Canvas for drawing graphs using the GD library.
function mxGdCanvas($width =  0,
$height =  0,
$scale =  1,
$background =  null,
$imageBasePath =  "")
Constructs a new GD canvas.
Constructs a new GD canvas.
Represents the geometry of a cell.
function mxGeometry($x = 0,
$y = 0,
$width = 0,
$height = 0)
Constructs a new object to describe the size and location of a vertex or the control points of an edge.
Implements a graph component.
Cells are the elements of the graph model.
Constructs a new graph model using the specified root cell.
function mxGraphModel($root =  null)
Constructs a new graph model using the specified root cell.
Implements a view for the graph.
function mxGraphView($graph)
Constructs a new view for the specified mxGraph.
A display XML to HTML converter.
Constructs a new HTML graph view reader.
function mxGraphViewHtmlReader()
Constructs a new HTML graph view reader.
A display XML to image converter.
function mxGraphViewImageReader($background =  null,
$border =  0)
Constructs a new image graph view reader.
Canvas for drawing graphs using HTML.
Maps from keys to base64 encoded images or file locations.
function mxImageBundle()
Constructs a new image bundle.
Logging facility.
Implements a self-reference, aka.
Codec for mxGraphModels.
XML codec for PHP object graphs.
Constructs a new codec for the specified template object.
Constructs a new codec for the specified template object.
function mxObjectCodec($template,  
$exclude =  array(),
$idrefs =  array(),
$mapping =  array())
Constructs a new codec for the specified template object.
Constructs a new codec for the specified template object.
Provides various perimeter functions to be used in a style as the value of mxConstants.STYLE_PERIMETER.
Defines the requirements for a perimeter function.
Implements a 2-dimensional point with double precision coordinates.
function mxPoint($x =  0,
$y =  0)
Constructs a new point for the optional x and y coordinates.
Implements a 2-dimensional rectangle with double precision coordinates.
function mxRectangle($x =  0,
$y =  0,
$width =  0,
$height =  0)
Constructs a new rectangle for the optional parameters.
Implements a rectangular perimeter for the given bounds.
Implements a rhombus (aka diamond) perimeter.
Implements a vertical elbow edge.
Singleton class that acts as a global converter from string to object values in a style.
Defines the appearance of the cells in a graph.
function mxStylesheet()
Constructs a new stylesheet and assigns default styles.
Codec for mxStylesheets.
Implements a horizontal elbow edge.
Implements a triangle perimeter.
Helper methods.
- - - -
var $name
Holds the name of the event.
var $nextId
Specifies the next Id to be created.
public static $NONE
Defines the value for none.
public static $NS_SVG
Defines the SVG namespace.
public static $NS_XHTML
Defines the XHTML namespace.
public static $NS_XLINK
Defined the XLink namespace.
- - - -
var $objects
Maps from IDs to objects.
function offset($points,  
$dx =  null,
$dy =  null)
Creates a new array of x, y sequences where the each coordinate is translated by dx and dy, respectively.
var $offset
Holds the offset of the label for edges.
var $origin
mxPoint that holds the origin for all child cells.
function out($string)
Adds the specified string to the output.
- -
- - - - - - - - - - - - \ No newline at end of file diff --git a/docs/php-api/index/General8.html b/docs/php-api/index/General8.html deleted file mode 100644 index a6d997e57..000000000 --- a/docs/php-api/index/General8.html +++ /dev/null @@ -1,38 +0,0 @@ - - -Index - - - - - - - - - -
Index
$#! · 0-9 · A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z
P
 paintCell, mxGraph
 paintState, mxGraph
 parent, mxCell
 parsePoints, mxGraphViewImageReader
 parser, mxGraphViewImageReader
 parseState, mxGraphViewImageReader
 parseXml, mxUtils
 perimeter, mxConnectionConstraint
 PERIMETER_ELLIPSE, mxConstants
 PERIMETER_RECTANGLE, mxConstants
 PERIMETER_RHOMBUS, mxConstants
 PERIMETER_TRIANGLE, mxConstants
 point, mxConnectionConstraint
 points, mxGeometry
 postProcessCellStyle, mxGraph
 printLog, mxLog
 processInclude, mxObjectCodec
 properties, mxEventObject
 putCellStyle, mxStylesheet
 putDefaultEdgeStyle, mxStylesheet
 putDefaultVertexStyle, mxStylesheet
 putImage, mxImageBundle
 putObject, mxCodec
 putValue, mxStyleRegistry
R
 RAD_PER_DEG, mxConstants
 read, mxGraphViewImageReader
 readFile
 RectanglePerimeter, mxPerimeter
 reference, mxCodec
 register, mxCodecRegistry
 relative, mxGeometry
 remove
 removeAllStylenames, mxUtils
 removeEdge, mxCell
 removeFromParent, mxCell
 removeFromTerminal, mxCell
 removeImageBundle, mxGraph
 removeState, mxGraphView
 removeStylename, mxUtils
 resolve, mxCellPath
 restoreClone, mxGraphModel
 reverse, mxObjectCodec
 RhombusPerimeter, mxPerimeter
 root, mxGraphModel
- -
Draws the given cell onto the specified canvas.
Draws the given cell and label onto the specified canvas.
var $parent
Reference to the parent cell.
function parsePoints($str)
Parses a string that represents a list of points into an array of mxPoints.
var $parser
Holds the SAX parser.
function parseState($state,
$edge)
Parses the bounds, absolute points and label information from the style of the state into its respective fields and returns the label of the cell.
static function parseXml($xml)
Returns a new DOM document for the given XML string.
var $perimeter
Boolean that specifies if the point should be projected onto the perimeter of the terminal.
public static $PERIMETER_ELLIPSE
Name of the ellipse perimeter.
public static $PERIMETER_RECTANGLE
Name of the rectangle perimeter.
public static $PERIMETER_RHOMBUS
Name of the rhombus perimeter.
public static $PERIMETER_TRIANGLE
Name of the triangle perimeter.
var $point
mxPoint that specifies the fixed location of the connection point.
var $points
Array of mxPoints which specifies the control points along the edge.
function postProcessCellStyle($style)
Tries to resolve the value for the image style in the image bundles and turns short data URIs as defined in mxImageBundle to data URIs as defined in RFC 2397 of the IETF.
public static $printLog
Specifies if the log should be printed out.
function processInclude($dec,
$node,
$into)
Returns true if the given node is an include directive and executes the include by decoding the XML document.
var $properties
Holds the event properties in an associative array that maps from string (key) to object (value).
function putCellStyle($name,
$style)
Stores the specified style under the given name.
function putDefaultEdgeStyle($style)
Sets the default style for edges.
function putDefaultVertexStyle($style)
Sets the default style for vertices.
function putImage($key,
$value)
Adds the specified entry to the map.
function putObject($id,
$object)
Assoiates the given object with the given ID.
static function putValue($name,
$value)
Puts the given object into the registry under the given name.
- - - -
public static $RAD_PER_DEG
Defines the number of radiants per degree.
function read($string)
Reads the specified view XML string.
function readFile($filename)
Reads the specified view XML file in blocks of 4096 bytes.
static function readFile($filename)
Reads the given filename into a string.
public static $RectanglePerimeter
Provides a rectangular perimeter.
function reference($obj)
Hook for subclassers to implement a custom method for retrieving IDs from objects.
static function register($codec)
Registers a new codec and associates the name of the template constructor in the codec with the codec object.
var $relative
Specifies if the coordinates in the geometry are to be interpreted as relative coordinates.
function remove($index)
Removes the child at the specified index from the child array and returns the child that was removed.
function remove($cell)
Removes the specified cell from the model using mxChildChange and adds the change to the current transaction.
static function removeAllStylenames($style)
Removes all stylenames from the given style and returns the updated style.
function removeEdge($edge,
$outgoing)
Removes the specified edge from the edge array and returns the edge.
function removeFromParent()
Removes the cell from its parent.
function removeFromTerminal($source)
Removes the edge from its source or target terminal.
function removeImageBundle($bundle)
Removes the specified mxImageBundle.
function removeState($cell,  
$recurse =  false)
Removes and returns the mxCellState for the given cell.
static function removeStylename($style,
$stylename)
Removes all occurrences of the specified stylename in the given style and returns the updated style.
static function resolve($root,
$path)
Returns the cell for the specified cell path using the given root as the root of the path.
function restoreClone($clne,
$cell,
$mapping)
Inner helper method for restoring the connections in a network of cloned cells.
var $reverse
Maps from from XML attribute names to fieldnames.
public static $RhombusPerimeter
Provides a rhombus (aka diamond) perimeter.
var $root
Holds the root cell, which in turn contains the cells that represent the layers of the diagram as child cells.
- -
- - - - - - - - - - - - \ No newline at end of file diff --git a/docs/php-api/index/General9.html b/docs/php-api/index/General9.html deleted file mode 100644 index ab16f9b57..000000000 --- a/docs/php-api/index/General9.html +++ /dev/null @@ -1,34 +0,0 @@ - - -Index - - - - - - - - - -
Index
$#! · 0-9 · A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z
S
 scale
 SCALE, mxEvent
 segments, mxCellState
 setAttribute
 setCellStyleFlags, mxUtils
 setCellStyles
 setCollapsed
 setConnectable, mxCell
 setEdge, mxCell
 setGeometry
 setGraphBounds, mxGraphView
 setId, mxCell
 setImage, mxGdCanvas
 setImageBundles, mxGraph
 setParent, mxCell
 setRect, mxRectangle
 setRoot, mxGraphModel
 setScale, mxGraphView
 setStyle
 setStyleFlag, mxUtils
 setTerminal
 setTerminalPoint, mxGeometry
 setTerminals, mxGraphModel
 setTranslate, mxGraphView
 setValue
 setVertex, mxCell
 setVisible
 SHADOW_OFFSETX, mxConstants
 SHADOW_OFFSETY, mxConstants
 shadowColor, mxGdCanvas
 SHAPE_ACTOR, mxConstants
 SHAPE_ARROW, mxConstants
 SHAPE_CLOUD, mxConstants
 SHAPE_CONNECTOR, mxConstants
 SHAPE_CYLINDER, mxConstants
 SHAPE_DOUBLE_ELLIPSE, mxConstants
 SHAPE_ELLIPSE, mxConstants
 SHAPE_HEXAGON, mxConstants
 SHAPE_IMAGE, mxConstants
 SHAPE_LABEL, mxConstants
 SHAPE_LINE, mxConstants
 SHAPE_RECTANGLE, mxConstants
 SHAPE_RHOMBUS, mxConstants
 SHAPE_SWIMLANE, mxConstants
 SHAPE_TRIANGLE, mxConstants
 SideToSide, mxEdgeStyle
 source, mxCell
 sourcePoint, mxGeometry
 sSTYLE_ENTRY_PERIMETER, mxConstants
 stackTrace, mxUtils
 startElement, mxGraphViewImageReader
 states, mxGraphView
 style
 STYLE_ALIGN, mxConstants
 STYLE_DASHED, mxConstants
 STYLE_DIRECTION, mxConstants
 STYLE_EDGE, mxConstants
 STYLE_ELBOW, mxConstants
 STYLE_ENDARROW, mxConstants
 STYLE_ENDSIZE, mxConstants
 STYLE_ENTRY_X, mxConstants
 STYLE_ENTRY_Y, mxConstants
 STYLE_EXIT_PERIMETER, mxConstants
 STYLE_EXIT_X, mxConstants
 STYLE_EXIT_Y, mxConstants
 STYLE_FILLCOLOR, mxConstants
 STYLE_FONTCOLOR, mxConstants
 STYLE_FONTFAMILY, mxConstants
 STYLE_FONTSIZE, mxConstants
 STYLE_FONTSTYLE, mxConstants
 STYLE_GRADIENT_DIRECTION, mxConstants
 STYLE_GRADIENTCOLOR, mxConstants
 STYLE_HORIZONTAL, mxConstants
 STYLE_IMAGE, mxConstants
 STYLE_IMAGE_ALIGN, mxConstants
 STYLE_IMAGE_BACKGROUND, mxConstants
 STYLE_IMAGE_BORDER, mxConstants
 STYLE_IMAGE_FLIPH, mxConstants
 STYLE_IMAGE_FLIPV, mxConstants
 STYLE_IMAGE_HEIGHT, mxConstants
 STYLE_IMAGE_VERTICALALIGN, mxConstants
 STYLE_IMAGE_WIDTH, mxConstants
 STYLE_INDICATOR_COLOR, mxConstants
 STYLE_INDICATOR_GRADIENTCOLOR, mxConstants
 STYLE_INDICATOR_HEIGHT, mxConstants
 STYLE_INDICATOR_IMAGE, mxConstants
 STYLE_INDICATOR_SHAPE, mxConstants
 STYLE_INDICATOR_SPACING, mxConstants
 STYLE_INDICATOR_WIDTH, mxConstants
 STYLE_LABEL_BACKGROUNDCOLOR, mxConstants
 STYLE_LABEL_BORDERCOLOR, mxConstants
 STYLE_LABEL_POSITION, mxConstants
 STYLE_LOOP, mxConstants
 STYLE_NOEDGESTYLE, mxConstants
 STYLE_NOLABEL, mxConstants
 STYLE_OPACITY, mxConstants
 STYLE_ORTHOGONAL, mxConstants
 STYLE_OVERFLOW, mxConstants
 STYLE_PERIMETER, mxConstants
 STYLE_PERIMETER_SPACING, mxConstants
 STYLE_ROTATION, mxConstants
 STYLE_ROUNDED, mxConstants
 STYLE_ROUTING_CENTER_X, mxConstants
 STYLE_ROUTING_CENTER_Y, mxConstants
 STYLE_SEGMENT, mxConstants
 STYLE_SEPARATORCOLOR, mxConstants
 STYLE_SHADOW, mxConstants
 STYLE_SHAPE, mxConstants
 STYLE_SOURCE_PERIMETER_SPACING, mxConstants
 STYLE_SPACING, mxConstants
 STYLE_SPACING_BOTTOM, mxConstants
 STYLE_SPACING_LEFT, mxConstants
 STYLE_SPACING_RIGHT, mxConstants
 STYLE_SPACING_TOP, mxConstants
 STYLE_STARTARROW, mxConstants
 STYLE_STARTSIZE, mxConstants
 STYLE_STROKECOLOR, mxConstants
 STYLE_STROKEWIDTH, mxConstants
 STYLE_SWIMLANE_FILLCOLOR, mxConstants
 STYLE_SWIMLANE_LINE, mxConstants
 STYLE_TARGET_PERIMETER_SPACING, mxConstants
 STYLE_TEXT_OPACITY, mxConstants
 STYLE_VERTICAL_ALIGN, mxConstants
 STYLE_VERTICAL_LABEL_POSITION, mxConstants
 STYLE_WHITE_SPACE, mxConstants
 styles, mxStylesheet
 stylesheet, mxGraph
- -
var $scale
Holds the current scale.
var $scale
Holds the global scale of the graph.
public static $SCALE
Defines the name of the scale event.
var $segments
Array of numbers that represent the cached length of each segment of the edge.
function setAttribute($key,
$value)
Sets the specified attribute on the user object if it is an XML node.
function setAttribute($node,
$attribute,
$value)
Sets the attribute on the specified node to value.
static function setCellStyleFlags($model,
$cells,
$key,
$flag,
$value)
Sets or toggles the flag bit for the given key in the cell’s styles.
function setCellStyles($key,
$value,
$cells)
Sets the key to value in the styles of the given cells.
static function setCellStyles($model,
$cells,
$key,
$value)
Assigns the value for the given key in the styles of the given cells, or removes the key from the styles if the value is null.
function setCollapsed($collapsed)
Sets the collapsed state.
function setCollapsed($cell,
$isCollapsed)
Sets the collapsed state of the given mxCell using mxCollapseChange and adds the change to the current transaction.
function setConnectable($connectable)
Sets the connectable state.
function setEdge($edge)
Specifies if the cell is an edge.
function setGeometry($geometry)
Sets the mxGeometry to be used as the geometry.
function setGeometry($cell,
$geometry)
Sets the mxGeometry of the given mxCell.
function setGraphBounds($value)
Sets graphBounds.
function setId($id)
Sets the Id of the cell to the given string.
function setImage($img)
Sets the image that represents the canvas.
function setImageBundles($value)
Sets the imageBundles.
function setParent($parent)
Sets the parent cell.
function setRect($x,
$y,
$width,
$height)
Sets this rectangle to the specified values.
function setScale($scale)
Sets the scale, revalidates the view and fires a scale event.
function setStyle($style)
Sets the string to be used as the style.
function setStyle($cell,
$style)
Sets the style of the given mxCell using mxStyleChange and adds the change to the current transaction.
static function setStyle($style,
$key,
$value)
Adds or removes the given key, value pair to the style and returns the new style.
static function setStyleFlag($style,
$key,
$flag,
$value)
Sets or removes the given key from the specified style and returns the new style.
function setTerminal($terminal,
$source)
Sets the source or target terminal and returns the new terminal.
function setTerminal($edge,
$terminal,
$source)
Sets the source or target terminal of the given mxCell using mxTerminalChange and adds the change to the current transaction.
function setTerminalPoint($point,
$isSource)
Sets the sourcePoint or targetPoint to the given mxPoint and returns the new point.
function setTerminals($edge,
$source,
$target)
Sets the source and target mxCell of the given mxCell in a single transaction using setTerminal for each end of the edge.
function setTranslate($translate)
Sets the translation, revalidates the view and fires a translate event.
function setValue($value)
Sets the user object of the cell.
function setValue($cell,
$value)
Sets the user object of then given mxCell using mxValueChange and adds the change to the current transaction.
function setVertex($vertex)
Specifies if the cell is a vertex.
function setVisible($visible)
Specifies if the cell is visible.
function setVisible($cell,
$visible)
Sets the visible state of the given mxCell using mxVisibleChange and adds the change to the current transaction.
public static $SHADOW_OFFSETX
Defines the x-offset to be used for shadows.
public static $SHADOW_OFFSETY
Defines the y-offset to be used for shadows.
var $shadowColor
Holds the color object for the shadow color defined in mxConstants.W3C_SHADOWCOLOR.
public static $SHAPE_ACTOR
public static $SHAPE_ARROW
public static $SHAPE_CLOUD
public static $SHAPE_CONNECTOR
public static $SHAPE_CYLINDER
public static $SHAPE_DOUBLE_ELLIPSE
public static $SHAPE_ELLIPSE
public static $SHAPE_HEXAGON
public static $SHAPE_IMAGE
public static $SHAPE_LABEL
public static $SHAPE_LINE
public static $SHAPE_RECTANGLE
public static $SHAPE_RHOMBUS
public static $SHAPE_SWIMLANE
public static $SHAPE_TRIANGLE
public static $SideToSide
Provides a side to side connector.
var $source
Reference to the source terminal.
var $sourcePoint
Defines the source point of the edge.
Defines if the perimeter should be used to find the exact entry point along the perimeter of the target.
static function stackTrace()
Prints a simple stack trace in the error log.
function startElement($parser,
$name,
$attrs)
Invoked by the SAX parser when an element starts.
var $states
Maps from cells to states.
var $style
Holds the style as a string of the form [(stylename|key=value);].
var $style
Contains an array of key, value pairs that represent the style of the cell.
public static $STYLE_ALIGN
Defines the key for the align style.
public static $STYLE_DASHED
Defines the key for the endSize style.
public static $STYLE_DIRECTION
Defines the key for the direction style.
public static $STYLE_EDGE
Defines the key for the edge style.
public static $STYLE_ELBOW
Defines the key for the elbow style.
public static $STYLE_ENDARROW
Defines the key for the endArrow style.
public static $STYLE_ENDSIZE
Defines the key for the endSize style.
public static $STYLE_ENTRY_X
Defines the key for the horizontal relative coordinate connection point of an edge with its target terminal.
public static $STYLE_ENTRY_Y
Defines the key for the vertical relative coordinate connection point of an edge with its target terminal.
public static $STYLE_EXIT_PERIMETER
Defines if the perimeter should be used to find the exact entry point along the perimeter of the source.
public static $STYLE_EXIT_X
Defines the key for the horizontal relative coordinate connection point of an edge with its source terminal.
public static $STYLE_EXIT_Y
Defines the key for the vertical relative coordinate connection point of an edge with its source terminal.
public static $STYLE_FILLCOLOR
Defines the key for the fill color.
public static $STYLE_FONTCOLOR
Defines the key for the fontColor style.
public static $STYLE_FONTFAMILY
Defines the key for the fontFamily style.
public static $STYLE_FONTSIZE
Defines the key for the fontSize style (in px).
public static $STYLE_FONTSTYLE
Defines the key for the fontStyle style.
public static $STYLE_GRADIENT_DIRECTION
Defines the key for the gradient direction.
public static $STYLE_GRADIENTCOLOR
Defines the key for the gradient color.
public static $STYLE_HORIZONTAL
Defines the key for the horizontal style.
public static $STYLE_IMAGE
Defines the key for the image style.
public static $STYLE_IMAGE_ALIGN
Defines the key for the align style.
public static $STYLE_IMAGE_BACKGROUND
Defines the key for the image background color.
public static $STYLE_IMAGE_BORDER
Defines the key for the image border color.
public static $STYLE_IMAGE_FLIPH
Defines the key for the horizontal image flip.
public static $STYLE_IMAGE_FLIPV
Defines the key for the vertical image flip.
public static $STYLE_IMAGE_HEIGHT
Defines the key for the imageHeight style.
Defines the key for the verticalAlign style.
public static $STYLE_IMAGE_WIDTH
Defines the key for the imageWidth style.
public static $STYLE_INDICATOR_COLOR
Defines the key for the indicatorColor style.
public static $STYLE_INDICATOR_GRADIENTCOLOR
Defines the key for the indicatorGradientColor style.
public static $STYLE_INDICATOR_HEIGHT
Defines the key for the indicatorHeight style (in px).
public static $STYLE_INDICATOR_IMAGE
Defines the key for the indicatorImage style.
public static $STYLE_INDICATOR_SHAPE
Defines the key for the indicatorShape style.
public static $STYLE_INDICATOR_SPACING
Defines the key for the indicatorSpacing style (in px).
public static $STYLE_INDICATOR_WIDTH
Defines the key for the indicatorWidth style (in px).
public static $STYLE_LABEL_BACKGROUNDCOLOR
Defines the key for the label background color.
public static $STYLE_LABEL_BORDERCOLOR
Defines the key for the label border color.
public static $STYLE_LABEL_POSITION
Defines the key for the horizontal label position of vertices.
public static $STYLE_LOOP
Defines the key for the loop style.
public static $STYLE_NOEDGESTYLE
Defines the key for the noEdgeStyle style.
public static $STYLE_NOLABEL
Defines the key for the noLabel style.
public static $STYLE_OPACITY
Defines the key for the opacity style.
public static $STYLE_ORTHOGONAL
Defines if the connection points on either end of the edge should be computed so that the edge is vertical or horizontal if possible and if the point is not at a fixed location.
public static $STYLE_OVERFLOW
Defines the key for the overflow style.
public static $STYLE_PERIMETER
Defines the key for the perimeter style.
public static $STYLE_PERIMETER_SPACING
Defines the key for the perimeter spacing.
public static $STYLE_ROTATION
Defines the key for the rotation style.
public static $STYLE_ROUNDED
Defines the key for the rounded style.
public static $STYLE_ROUTING_CENTER_X
Defines the key for the horizontal routing center.
public static $STYLE_ROUTING_CENTER_Y
Defines the key for the vertical routing center.
public static $STYLE_SEGMENT
Defines the key for the segment style.
public static $STYLE_SEPARATORCOLOR
Defines the key for the separatorColor style.
public static $STYLE_SHADOW
Defines the key for the shadow style.
public static $STYLE_SHAPE
Defines the key for the shape.
public static $STYLE_SOURCE_PERIMETER_SPACING
Defines the key for the source perimeter spacing.
public static $STYLE_SPACING
Defines the key for the spacing.
public static $STYLE_SPACING_BOTTOM
Defines the key for the spacingBottom style The value represents the spacing, in pixels, added to the bottom side of a label in a vertex (style applies to vertices only).
public static $STYLE_SPACING_LEFT
Defines the key for the spacingLeft style.
public static $STYLE_SPACING_RIGHT
Defines the key for the spacingRight style The value represents the spacing, in pixels, added to the right side of a label in a vertex (style applies to vertices only).
public static $STYLE_SPACING_TOP
Defines the key for the spacingTop style.
public static $STYLE_STARTARROW
Defines the key for the startArrow style.
public static $STYLE_STARTSIZE
Defines the key for the startSize style.
public static $STYLE_STROKECOLOR
Defines the key for the strokeColor style.
public static $STYLE_STROKEWIDTH
Defines the key for the strokeWidth style.
public static $STYLE_SWIMLANE_FILLCOLOR
Defines the key for the fill color of the swimlane background.
public static $STYLE_SWIMLANE_LINE
Defines the key for the swimlaneLine style.
public static $STYLE_TARGET_PERIMETER_SPACING
Defines the key for the source perimeter spacing.
public static $STYLE_TEXT_OPACITY
Defines the key for the text opacity style.
public static $STYLE_VERTICAL_ALIGN
Defines the key for the verticalAlign style.
public static $STYLE_VERTICAL_LABEL_POSITION
Defines the key for the vertical label position of vertices.
public static $STYLE_WHITE_SPACE
Defines the key for the white-space style.
var $styles = array()
Maps from names to styles.
var $stylesheet
Holds the mxStylesheet.
- -
- - - - - - - - - - - - \ No newline at end of file diff --git a/docs/php-api/index/Interfaces.html b/docs/php-api/index/Interfaces.html deleted file mode 100644 index b3f5eb201..000000000 --- a/docs/php-api/index/Interfaces.html +++ /dev/null @@ -1,34 +0,0 @@ - - -Interface Index - - - - - - - - - -
Interface Index
$#! · 0-9 · A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z
M
 mxEdgeStyleFunction
 mxPerimeterFunction
- -
Defines the requirements for an edge style function.
Defines the requirements for a perimeter function.
- -
- - - - - - - - - - - - \ No newline at end of file diff --git a/docs/php-api/index/Variables.html b/docs/php-api/index/Variables.html deleted file mode 100644 index 26c959a40..000000000 --- a/docs/php-api/index/Variables.html +++ /dev/null @@ -1,70 +0,0 @@ - - -Variable Index - - - - - - - - - -
Variable Index
$#! · 0-9 · A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z
A
 absoluteOffset, mxCellState
 absolutePoints, mxCellState
 ACTIVE_REGION, mxConstants
 aliases, mxCodecRegistry
 ALIGN_BOTTOM, mxConstants
 ALIGN_CENTER, mxConstants
 ALIGN_LEFT, mxConstants
 ALIGN_MIDDLE, mxConstants
 ALIGN_RIGHT, mxConstants
 ALIGN_TOP, mxConstants
 alternateBounds, mxGeometry
 antialias
 ARROW_BLOCK, mxConstants
 ARROW_CLASSIC, mxConstants
 ARROW_DIAMOND, mxConstants
 ARROW_OPEN, mxConstants
 ARROW_OVAL, mxConstants
 ARROW_SIZE, mxConstants
 ARROW_SPACING, mxConstants
 ARROW_WIDTH, mxConstants
B
 background, mxGraphViewImageReader
 border, mxGraphViewImageReader
 boundingBox, mxCellState
C
 canvas, mxGraphViewImageReader
 cell, mxCellState
 cells, mxGraphModel
 children, mxCell
 codecs
 collapsed, mxCell
 connectable, mxCell
 consumed, mxEventObject
 createIds, mxGraphModel
 current, mxLog
D
 DEFAULT_FONTFAMILY, mxConstants
 DEFAULT_FONTSIZE, mxConstants
 DEFAULT_IMAGESIZE, mxConstants
 DEFAULT_LINESPACING, mxConstants
 DEFAULT_MARKERSIZE, mxConstants
 DEFAULT_STARTSIZE, mxConstants
 defaultLoopStyle, mxGraph
 DEG_PER_RAD, mxConstants
 DIRECTION_EAST, mxConstants
 DIRECTION_NORTH, mxConstants
 DIRECTION_SOUTH, mxConstants
 DIRECTION_WEST, mxConstants
 document, mxCodec
E
 edge, mxCell
 edges, mxCell
 EDGESTYLE_ENTITY_RELATION, mxConstants
 EDGESTYLE_LOOP, mxConstants
 EDGESTYLE_SIDETOSIDE, mxConstants
 EDGESTYLE_TOPTOBOTTOM, mxConstants
 ELBOW_HORIZONTAL, mxConstants
 ELBOW_VERTICAL, mxConstants
 ElbowConnector, mxEdgeStyle
 elements, mxCodec
 EllipsePerimeter, mxPerimeter
 EMPTY_POINT, mxGraphView
 enableTtf, mxGdCanvas
 encodeDefaults, mxCodec
 ENTITY_SEGMENT, mxConstants
 EntityRelation, mxEdgeStyle
 eventListeners, mxEventSource
 exclude, mxObjectCodec
F
 FONT_BOLD, mxConstants
 FONT_ITALIC, mxConstants
 FONT_UNDERLINE, mxConstants
G
 geometry, mxCell
 graph, mxGraphView
 GRAPH_MODEL_CHANGED, mxEvent
 graphBounds, mxGraphView
 gridSize, mxGraph
H
 height
 html, mxHtmlCanvas
I
 id, mxCell
 idrefs, mxObjectCodec
 image, mxGdCanvas
 imageBundles, mxGraph
 imageCache, mxGdCanvas
 images, mxImageBundle
 invalid, mxCellState
L
 LABEL_INSET, mxConstants
 labelBounds, mxCellState
 labelsVisible, mxGraph
 length, mxCellState
 level_debug, mxLog
 level_error, mxLog
 level_fine, mxLog
 level_info, mxLog
 level_warn, mxLog
 logfiles, mxLog
 Loop, mxEdgeStyle
- -
var $absoluteOffset
mxPoint that holds the absolute offset.
var $absolutePoints
Holds an array of mxPoints that represent the absolute points of an edge.
public static $ACTIVE_REGION
Defines the portion of the cell which is to be used as a connectable region.
public static $aliases
Maps from classnames to codecnames.
public static $ALIGN_BOTTOM
public static $ALIGN_CENTER
public static $ALIGN_LEFT
public static $ALIGN_MIDDLE
public static $ALIGN_RIGHT
public static $ALIGN_TOP
var $alternateBounds
Stores alternate values for x, y, width and height in a rectangle.
Specifies if image aspect should be preserved in drawImage.
var $antialias
Specifies if antialiasing should be enabled.
public static $ARROW_BLOCK
public static $ARROW_CLASSIC
public static $ARROW_DIAMOND
public static $ARROW_OPEN
public static $ARROW_OVAL
public static $ARROW_SIZE
Defines the size of the arrowhead in the arrow shape.
public static $ARROW_SPACING
Defines the spacing between the arrow shape and its terminals.
public static $ARROW_WIDTH
Defines the width of the arrow shape.
- - - -
var $background
Holds the background color.
var $border
Holds the border size.
var $boundingBox
Holds the largest rectangle which contains all rendering for this cell.
- - - -
var $canvas
Holds the canvas.
var $cell
Reference to the mxCell that is represented by this state.
var $cells
Maps from Ids to cells.
var $children
Holds the child cells.
Maps from constructor names to codecs.
public static $codecs
Maps from constructor names to codecs.
var $collapsed
Specifies whether the cell is collapsed.
var $connectable
Specifies whether the cell is connectable.
var $consumed
Holds the consumed state of the event.
var $createIds
Specifies if the model should automatically create Ids for new cells.
public static $current
Default is true.
- - - -
public static $DEFAULT_FONTFAMILY
Defines the default family for all truetype fonts.
public static $DEFAULT_FONTSIZE
Defines the default size (in px).
public static $DEFAULT_IMAGESIZE
Defines the default width and height for images used in the label shape.
public static $DEFAULT_LINESPACING
Defines the default linespacing.
public static $DEFAULT_MARKERSIZE
Defines the default size for all markers.
public static $DEFAULT_STARTSIZE
Defines the default start size for swimlanes.
var $defaultLoopStyle
mxEdgeStyle to be used for loops.
public static $DEG_PER_RAD
Defines the number of degrees per radiant.
public static $DIRECTION_EAST
public static $DIRECTION_NORTH
public static $DIRECTION_SOUTH
public static $DIRECTION_WEST
var $document
The owner document of the codec.
- - - -
var $edge
Specifies whether the cell is an edge.
var $edges
Holds the edges.
public static $EDGESTYLE_ENTITY_RELATION
Name of the entity relation edge style.
public static $EDGESTYLE_LOOP
Name of the loop edge style.
public static $EDGESTYLE_SIDETOSIDE
Name of the side to side edge style.
public static $EDGESTYLE_TOPTOBOTTOM
Name of the top to bottom edge style.
public static $ELBOW_HORIZONTAL
public static $ELBOW_VERTICAL
public static $ElbowConnector
Provides an elbow connector.
var $elements
Maps from IDs to elements.
public static $EllipsePerimeter
Provides an elliptic perimeter.
var $EMPTY_POINT
An empty mxPoint instance.
var $enableTtf
Specifies if truetype fonts are enabled if available.
var $encodeDefaults
Specifies if default values should be encoded.
public static $ENTITY_SEGMENT
Defines the length of the horizontal segment of an Entity Relation.
public static $EntityRelation
Provides an entity relation style for edges (as used in database schema diagrams).
var $eventListeners
Holds the registered listeners.
var $exclude
Array containing the variable names that should be ignored by the codec.
- - - -
public static $FONT_BOLD
public static $FONT_ITALIC
public static $FONT_UNDERLINE
- - - -
var $geometry
Holds the mxGeometry.
var $graph
Holds the mxGraph.
public static $GRAPH_MODEL_CHANGED
Defines the name of the graphModelChanged event.
var $graphBounds
Holds the bounds of the current view.
var $gridSize
Specifies the grid size.
- - - -
Holds the height.
var $height
Holds the height of the rectangle.
var $html
Holds the html markup.
- - - -
var $id
Holds the Id.
var $idrefs
Array containing the variable names that should be turned into or converted from references.
var $image
Holds the image.
protected $imageBundles
Holds the list of image bundles.
var $imageCache
Holds the image cache.
var $images
Maps from keys to images.
var $invalid
Specifies if the state is invalid.
- - - -
public static $LABEL_INSET
Defines the inset in absolute pixels between the label bounding box and the label text.
var $labelBounds
Holds the rectangle which contains the label.
var $labelsVisible
Specifies if labels should be visible.
var $length
Caches the length of an edge.
public static $level_debug
Specifies the debug logging level.
public static $level_error
Specifies the error logging level.
public static $level_fine
Specifies the fine logging level.
public static $level_info
Specifies the info logging level.
public static $level_warn
Specifies the warn logging level.
public static $logfiles
Holds the array of logfiles.
public static $Loop
Provides a self-reference, aka.
- -
- - - - - - - - - - - - \ No newline at end of file diff --git a/docs/php-api/index/Variables2.html b/docs/php-api/index/Variables2.html deleted file mode 100644 index 897754d01..000000000 --- a/docs/php-api/index/Variables2.html +++ /dev/null @@ -1,50 +0,0 @@ - - -Variable Index - - - - - - - - - -
Variable Index
$#! · 0-9 · A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z
M
 maintainEdgeParent, mxGraphModel
 mapping, mxObjectCodec
 MIN_ACTIVE_REGION, mxConstants
 model, mxGraph
N
 name, mxEventObject
 nextId, mxGraphModel
 NONE, mxConstants
 NS_SVG, mxConstants
 NS_XHTML, mxConstants
 NS_XLINK, mxConstants
O
 objects, mxCodec
 offset, mxGeometry
 origin, mxCellState
P
 parent, mxCell
 parser, mxGraphViewImageReader
 perimeter, mxConnectionConstraint
 PERIMETER_ELLIPSE, mxConstants
 PERIMETER_RECTANGLE, mxConstants
 PERIMETER_RHOMBUS, mxConstants
 PERIMETER_TRIANGLE, mxConstants
 point, mxConnectionConstraint
 points, mxGeometry
 printLog, mxLog
 properties, mxEventObject
R
 RAD_PER_DEG, mxConstants
 RectanglePerimeter, mxPerimeter
 relative, mxGeometry
 reverse, mxObjectCodec
 RhombusPerimeter, mxPerimeter
 root, mxGraphModel
- -
var $maintainEdgeParent
Specifies if edges should automatically be moved into the nearest common ancestor of their terminals.
var $mapping
Maps from from fieldnames to XML attribute names.
public static $MIN_ACTIVE_REGION
Defines the minimum size in pixels of the portion of the cell cell which is to be used as a connectable region.
var $model
Holds the mxGraphModel.
- - - -
var $name
Holds the name of the event.
var $nextId
Specifies the next Id to be created.
public static $NONE
Defines the value for none.
public static $NS_SVG
Defines the SVG namespace.
public static $NS_XHTML
Defines the XHTML namespace.
public static $NS_XLINK
Defined the XLink namespace.
- - - -
var $objects
Maps from IDs to objects.
var $offset
Holds the offset of the label for edges.
var $origin
mxPoint that holds the origin for all child cells.
- - - -
var $parent
Reference to the parent cell.
var $parser
Holds the SAX parser.
var $perimeter
Boolean that specifies if the point should be projected onto the perimeter of the terminal.
public static $PERIMETER_ELLIPSE
Name of the ellipse perimeter.
public static $PERIMETER_RECTANGLE
Name of the rectangle perimeter.
public static $PERIMETER_RHOMBUS
Name of the rhombus perimeter.
public static $PERIMETER_TRIANGLE
Name of the triangle perimeter.
var $point
mxPoint that specifies the fixed location of the connection point.
var $points
Array of mxPoints which specifies the control points along the edge.
public static $printLog
Specifies if the log should be printed out.
var $properties
Holds the event properties in an associative array that maps from string (key) to object (value).
- - - -
public static $RAD_PER_DEG
Defines the number of radiants per degree.
public static $RectanglePerimeter
Provides a rectangular perimeter.
var $relative
Specifies if the coordinates in the geometry are to be interpreted as relative coordinates.
var $reverse
Maps from from XML attribute names to fieldnames.
public static $RhombusPerimeter
Provides a rhombus (aka diamond) perimeter.
var $root
Holds the root cell, which in turn contains the cells that represent the layers of the diagram as child cells.
- -
- - - - - - - - - - - - \ No newline at end of file diff --git a/docs/php-api/index/Variables3.html b/docs/php-api/index/Variables3.html deleted file mode 100644 index a0dff0da1..000000000 --- a/docs/php-api/index/Variables3.html +++ /dev/null @@ -1,34 +0,0 @@ - - -Variable Index - - - - - - - - - -
Variable Index
$#! · 0-9 · A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z
S
 scale
 SCALE, mxEvent
 segments, mxCellState
 SHADOW_OFFSETX, mxConstants
 SHADOW_OFFSETY, mxConstants
 shadowColor, mxGdCanvas
 SHAPE_ACTOR, mxConstants
 SHAPE_ARROW, mxConstants
 SHAPE_CLOUD, mxConstants
 SHAPE_CONNECTOR, mxConstants
 SHAPE_CYLINDER, mxConstants
 SHAPE_DOUBLE_ELLIPSE, mxConstants
 SHAPE_ELLIPSE, mxConstants
 SHAPE_HEXAGON, mxConstants
 SHAPE_IMAGE, mxConstants
 SHAPE_LABEL, mxConstants
 SHAPE_LINE, mxConstants
 SHAPE_RECTANGLE, mxConstants
 SHAPE_RHOMBUS, mxConstants
 SHAPE_SWIMLANE, mxConstants
 SHAPE_TRIANGLE, mxConstants
 SideToSide, mxEdgeStyle
 source, mxCell
 sourcePoint, mxGeometry
 sSTYLE_ENTRY_PERIMETER, mxConstants
 states, mxGraphView
 style
 STYLE_ALIGN, mxConstants
 STYLE_DASHED, mxConstants
 STYLE_DIRECTION, mxConstants
 STYLE_EDGE, mxConstants
 STYLE_ELBOW, mxConstants
 STYLE_ENDARROW, mxConstants
 STYLE_ENDSIZE, mxConstants
 STYLE_ENTRY_X, mxConstants
 STYLE_ENTRY_Y, mxConstants
 STYLE_EXIT_PERIMETER, mxConstants
 STYLE_EXIT_X, mxConstants
 STYLE_EXIT_Y, mxConstants
 STYLE_FILLCOLOR, mxConstants
 STYLE_FONTCOLOR, mxConstants
 STYLE_FONTFAMILY, mxConstants
 STYLE_FONTSIZE, mxConstants
 STYLE_FONTSTYLE, mxConstants
 STYLE_GRADIENT_DIRECTION, mxConstants
 STYLE_GRADIENTCOLOR, mxConstants
 STYLE_HORIZONTAL, mxConstants
 STYLE_IMAGE, mxConstants
 STYLE_IMAGE_ALIGN, mxConstants
 STYLE_IMAGE_BACKGROUND, mxConstants
 STYLE_IMAGE_BORDER, mxConstants
 STYLE_IMAGE_FLIPH, mxConstants
 STYLE_IMAGE_FLIPV, mxConstants
 STYLE_IMAGE_HEIGHT, mxConstants
 STYLE_IMAGE_VERTICALALIGN, mxConstants
 STYLE_IMAGE_WIDTH, mxConstants
 STYLE_INDICATOR_COLOR, mxConstants
 STYLE_INDICATOR_GRADIENTCOLOR, mxConstants
 STYLE_INDICATOR_HEIGHT, mxConstants
 STYLE_INDICATOR_IMAGE, mxConstants
 STYLE_INDICATOR_SHAPE, mxConstants
 STYLE_INDICATOR_SPACING, mxConstants
 STYLE_INDICATOR_WIDTH, mxConstants
 STYLE_LABEL_BACKGROUNDCOLOR, mxConstants
 STYLE_LABEL_BORDERCOLOR, mxConstants
 STYLE_LABEL_POSITION, mxConstants
 STYLE_LOOP, mxConstants
 STYLE_NOEDGESTYLE, mxConstants
 STYLE_NOLABEL, mxConstants
 STYLE_OPACITY, mxConstants
 STYLE_ORTHOGONAL, mxConstants
 STYLE_OVERFLOW, mxConstants
 STYLE_PERIMETER, mxConstants
 STYLE_PERIMETER_SPACING, mxConstants
 STYLE_ROTATION, mxConstants
 STYLE_ROUNDED, mxConstants
 STYLE_ROUTING_CENTER_X, mxConstants
 STYLE_ROUTING_CENTER_Y, mxConstants
 STYLE_SEGMENT, mxConstants
 STYLE_SEPARATORCOLOR, mxConstants
 STYLE_SHADOW, mxConstants
 STYLE_SHAPE, mxConstants
 STYLE_SOURCE_PERIMETER_SPACING, mxConstants
 STYLE_SPACING, mxConstants
 STYLE_SPACING_BOTTOM, mxConstants
 STYLE_SPACING_LEFT, mxConstants
 STYLE_SPACING_RIGHT, mxConstants
 STYLE_SPACING_TOP, mxConstants
 STYLE_STARTARROW, mxConstants
 STYLE_STARTSIZE, mxConstants
 STYLE_STROKECOLOR, mxConstants
 STYLE_STROKEWIDTH, mxConstants
 STYLE_SWIMLANE_FILLCOLOR, mxConstants
 STYLE_SWIMLANE_LINE, mxConstants
 STYLE_TARGET_PERIMETER_SPACING, mxConstants
 STYLE_TEXT_OPACITY, mxConstants
 STYLE_VERTICAL_ALIGN, mxConstants
 STYLE_VERTICAL_LABEL_POSITION, mxConstants
 STYLE_WHITE_SPACE, mxConstants
 stylesheet, mxGraph
- -
var $scale
Holds the current scale.
var $scale
Holds the global scale of the graph.
public static $SCALE
Defines the name of the scale event.
var $segments
Array of numbers that represent the cached length of each segment of the edge.
public static $SHADOW_OFFSETX
Defines the x-offset to be used for shadows.
public static $SHADOW_OFFSETY
Defines the y-offset to be used for shadows.
var $shadowColor
Holds the color object for the shadow color defined in mxConstants.W3C_SHADOWCOLOR.
public static $SHAPE_ACTOR
public static $SHAPE_ARROW
public static $SHAPE_CLOUD
public static $SHAPE_CONNECTOR
public static $SHAPE_CYLINDER
public static $SHAPE_DOUBLE_ELLIPSE
public static $SHAPE_ELLIPSE
public static $SHAPE_HEXAGON
public static $SHAPE_IMAGE
public static $SHAPE_LABEL
public static $SHAPE_LINE
public static $SHAPE_RECTANGLE
public static $SHAPE_RHOMBUS
public static $SHAPE_SWIMLANE
public static $SHAPE_TRIANGLE
public static $SideToSide
Provides a side to side connector.
var $source
Reference to the source terminal.
var $sourcePoint
Defines the source point of the edge.
Defines if the perimeter should be used to find the exact entry point along the perimeter of the target.
var $states
Maps from cells to states.
var $style
Holds the style as a string of the form [(stylename|key=value);].
var $style
Contains an array of key, value pairs that represent the style of the cell.
public static $STYLE_ALIGN
Defines the key for the align style.
public static $STYLE_DASHED
Defines the key for the endSize style.
public static $STYLE_DIRECTION
Defines the key for the direction style.
public static $STYLE_EDGE
Defines the key for the edge style.
public static $STYLE_ELBOW
Defines the key for the elbow style.
public static $STYLE_ENDARROW
Defines the key for the endArrow style.
public static $STYLE_ENDSIZE
Defines the key for the endSize style.
public static $STYLE_ENTRY_X
Defines the key for the horizontal relative coordinate connection point of an edge with its target terminal.
public static $STYLE_ENTRY_Y
Defines the key for the vertical relative coordinate connection point of an edge with its target terminal.
public static $STYLE_EXIT_PERIMETER
Defines if the perimeter should be used to find the exact entry point along the perimeter of the source.
public static $STYLE_EXIT_X
Defines the key for the horizontal relative coordinate connection point of an edge with its source terminal.
public static $STYLE_EXIT_Y
Defines the key for the vertical relative coordinate connection point of an edge with its source terminal.
public static $STYLE_FILLCOLOR
Defines the key for the fill color.
public static $STYLE_FONTCOLOR
Defines the key for the fontColor style.
public static $STYLE_FONTFAMILY
Defines the key for the fontFamily style.
public static $STYLE_FONTSIZE
Defines the key for the fontSize style (in px).
public static $STYLE_FONTSTYLE
Defines the key for the fontStyle style.
public static $STYLE_GRADIENT_DIRECTION
Defines the key for the gradient direction.
public static $STYLE_GRADIENTCOLOR
Defines the key for the gradient color.
public static $STYLE_HORIZONTAL
Defines the key for the horizontal style.
public static $STYLE_IMAGE
Defines the key for the image style.
public static $STYLE_IMAGE_ALIGN
Defines the key for the align style.
public static $STYLE_IMAGE_BACKGROUND
Defines the key for the image background color.
public static $STYLE_IMAGE_BORDER
Defines the key for the image border color.
public static $STYLE_IMAGE_FLIPH
Defines the key for the horizontal image flip.
public static $STYLE_IMAGE_FLIPV
Defines the key for the vertical image flip.
public static $STYLE_IMAGE_HEIGHT
Defines the key for the imageHeight style.
Defines the key for the verticalAlign style.
public static $STYLE_IMAGE_WIDTH
Defines the key for the imageWidth style.
public static $STYLE_INDICATOR_COLOR
Defines the key for the indicatorColor style.
public static $STYLE_INDICATOR_GRADIENTCOLOR
Defines the key for the indicatorGradientColor style.
public static $STYLE_INDICATOR_HEIGHT
Defines the key for the indicatorHeight style (in px).
public static $STYLE_INDICATOR_IMAGE
Defines the key for the indicatorImage style.
public static $STYLE_INDICATOR_SHAPE
Defines the key for the indicatorShape style.
public static $STYLE_INDICATOR_SPACING
Defines the key for the indicatorSpacing style (in px).
public static $STYLE_INDICATOR_WIDTH
Defines the key for the indicatorWidth style (in px).
public static $STYLE_LABEL_BACKGROUNDCOLOR
Defines the key for the label background color.
public static $STYLE_LABEL_BORDERCOLOR
Defines the key for the label border color.
public static $STYLE_LABEL_POSITION
Defines the key for the horizontal label position of vertices.
public static $STYLE_LOOP
Defines the key for the loop style.
public static $STYLE_NOEDGESTYLE
Defines the key for the noEdgeStyle style.
public static $STYLE_NOLABEL
Defines the key for the noLabel style.
public static $STYLE_OPACITY
Defines the key for the opacity style.
public static $STYLE_ORTHOGONAL
Defines if the connection points on either end of the edge should be computed so that the edge is vertical or horizontal if possible and if the point is not at a fixed location.
public static $STYLE_OVERFLOW
Defines the key for the overflow style.
public static $STYLE_PERIMETER
Defines the key for the perimeter style.
public static $STYLE_PERIMETER_SPACING
Defines the key for the perimeter spacing.
public static $STYLE_ROTATION
Defines the key for the rotation style.
public static $STYLE_ROUNDED
Defines the key for the rounded style.
public static $STYLE_ROUTING_CENTER_X
Defines the key for the horizontal routing center.
public static $STYLE_ROUTING_CENTER_Y
Defines the key for the vertical routing center.
public static $STYLE_SEGMENT
Defines the key for the segment style.
public static $STYLE_SEPARATORCOLOR
Defines the key for the separatorColor style.
public static $STYLE_SHADOW
Defines the key for the shadow style.
public static $STYLE_SHAPE
Defines the key for the shape.
public static $STYLE_SOURCE_PERIMETER_SPACING
Defines the key for the source perimeter spacing.
public static $STYLE_SPACING
Defines the key for the spacing.
public static $STYLE_SPACING_BOTTOM
Defines the key for the spacingBottom style The value represents the spacing, in pixels, added to the bottom side of a label in a vertex (style applies to vertices only).
public static $STYLE_SPACING_LEFT
Defines the key for the spacingLeft style.
public static $STYLE_SPACING_RIGHT
Defines the key for the spacingRight style The value represents the spacing, in pixels, added to the right side of a label in a vertex (style applies to vertices only).
public static $STYLE_SPACING_TOP
Defines the key for the spacingTop style.
public static $STYLE_STARTARROW
Defines the key for the startArrow style.
public static $STYLE_STARTSIZE
Defines the key for the startSize style.
public static $STYLE_STROKECOLOR
Defines the key for the strokeColor style.
public static $STYLE_STROKEWIDTH
Defines the key for the strokeWidth style.
public static $STYLE_SWIMLANE_FILLCOLOR
Defines the key for the fill color of the swimlane background.
public static $STYLE_SWIMLANE_LINE
Defines the key for the swimlaneLine style.
public static $STYLE_TARGET_PERIMETER_SPACING
Defines the key for the source perimeter spacing.
public static $STYLE_TEXT_OPACITY
Defines the key for the text opacity style.
public static $STYLE_VERTICAL_ALIGN
Defines the key for the verticalAlign style.
public static $STYLE_VERTICAL_LABEL_POSITION
Defines the key for the vertical label position of vertices.
public static $STYLE_WHITE_SPACE
Defines the key for the white-space style.
var $stylesheet
Holds the mxStylesheet.
- -
- - - - - - - - - - - - \ No newline at end of file diff --git a/docs/php-api/index/Variables4.html b/docs/php-api/index/Variables4.html deleted file mode 100644 index 3709263d1..000000000 --- a/docs/php-api/index/Variables4.html +++ /dev/null @@ -1,54 +0,0 @@ - - -Variable Index - - - - - - - - - -
Variable Index
$#! · 0-9 · A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z
T
 tab, mxLog
 target, mxCell
 targetPoint, mxGeometry
 template, mxObjectCodec
 terminalDistance, mxCellState
 TopToBottom, mxEdgeStyle
 translate, mxGraphView
 TRANSLATE, mxEvent
 TRANSLATE_CONTROL_POINTS, mxGeometry
 TrianglePerimeter, mxPerimeter
 TTF_ENABLED, mxConstants
 TTF_SIZEFACTOR, mxConstants
U
 updateLevel, mxGraphModel
V
 value, mxCell
 values, mxStyleRegistry
 vertex, mxCell
 view
 visible, mxCell
W
 W3C_DEFAULT_FONTFAMILY, mxConstants
 W3C_SHADOWCOLOR, mxConstants
 width, mxRectangle
X
 x, mxPoint
Y
 y, mxPoint
- -
public static $tab
Default is true.
var $target
Reference to the target terminal.
var $targetPoint
Defines the target point of the edge.
var $template
Holds the template object associated with this codec.
var $terminalDistance
Caches the distance between the end points for an edge.
public static $TopToBottom
Provides a top to bottom connector.
var $translate
Holds the current translate.
public static $TRANSLATE
Defines the name of the translate event.
public static $TRANSLATE_CONTROL_POINTS
Global switch to translate the points in translate.
public static $TrianglePerimeter
Provides a triangle perimeter.
public static $TTF_ENABLED
Whether TrueType fonts should be enabled in the mxGdCanvas by default.
public static $TTF_SIZEFACTOR
Defines the factor which wich the font sizes are to be multiplied when used in truetype fonts.
- - - -
var $updateLevel
Counter for the depth of nested transactions.
- - - -
var $value
Holds the user object.
public static $values
Maps from strings to objects.
var $vertex
Specifies whether the cell is a vertex.
var $view
Reference to the enclosing mxGraphView.
var $view
Holds the mxGraphView.
var $visible
Specifies whether the cell is visible.
- - - -
public static $W3C_DEFAULT_FONTFAMILY
Defines the default family for HTML markup.
public static $W3C_SHADOWCOLOR
Defines the color to be used to draw shadows in DOM documents.
var $width
Holds the width of the rectangle.
- - - -
var $x
Holds the x-coordinate of the point.
- - - -
var $y
Holds the y-coordinate of the point.
- -
- - - - - - - - - - - - \ No newline at end of file diff --git a/docs/php-api/javascript/main.js b/docs/php-api/javascript/main.js deleted file mode 100644 index 3f42acde6..000000000 --- a/docs/php-api/javascript/main.js +++ /dev/null @@ -1,841 +0,0 @@ -// This file is part of Natural Docs, which is Copyright © 2003-2010 Greg Valure -// Natural Docs is licensed under version 3 of the GNU Affero General Public License (AGPL) -// Refer to License.txt for the complete details - -// This file may be distributed with documentation files generated by Natural Docs. -// Such documentation is not covered by Natural Docs' copyright and licensing, -// and may have its own copyright and distribution terms as decided by its author. - - -// -// Browser Styles -// ____________________________________________________________________________ - -var agt=navigator.userAgent.toLowerCase(); -var browserType; -var browserVer; - -if (agt.indexOf("opera") != -1) - { - browserType = "Opera"; - - if (agt.indexOf("opera 7") != -1 || agt.indexOf("opera/7") != -1) - { browserVer = "Opera7"; } - else if (agt.indexOf("opera 8") != -1 || agt.indexOf("opera/8") != -1) - { browserVer = "Opera8"; } - else if (agt.indexOf("opera 9") != -1 || agt.indexOf("opera/9") != -1) - { browserVer = "Opera9"; } - } - -else if (agt.indexOf("applewebkit") != -1) - { - browserType = "Safari"; - - if (agt.indexOf("version/3") != -1) - { browserVer = "Safari3"; } - else if (agt.indexOf("safari/4") != -1) - { browserVer = "Safari2"; } - } - -else if (agt.indexOf("khtml") != -1) - { - browserType = "Konqueror"; - } - -else if (agt.indexOf("msie") != -1) - { - browserType = "IE"; - - if (agt.indexOf("msie 6") != -1) - { browserVer = "IE6"; } - else if (agt.indexOf("msie 7") != -1) - { browserVer = "IE7"; } - } - -else if (agt.indexOf("gecko") != -1) - { - browserType = "Firefox"; - - if (agt.indexOf("rv:1.7") != -1) - { browserVer = "Firefox1"; } - else if (agt.indexOf("rv:1.8)") != -1 || agt.indexOf("rv:1.8.0") != -1) - { browserVer = "Firefox15"; } - else if (agt.indexOf("rv:1.8.1") != -1) - { browserVer = "Firefox2"; } - } - - -// -// Support Functions -// ____________________________________________________________________________ - - -function GetXPosition(item) - { - var position = 0; - - if (item.offsetWidth != null) - { - while (item != document.body && item != null) - { - position += item.offsetLeft; - item = item.offsetParent; - }; - }; - - return position; - }; - - -function GetYPosition(item) - { - var position = 0; - - if (item.offsetWidth != null) - { - while (item != document.body && item != null) - { - position += item.offsetTop; - item = item.offsetParent; - }; - }; - - return position; - }; - - -function MoveToPosition(item, x, y) - { - // Opera 5 chokes on the px extension, so it can use the Microsoft one instead. - - if (item.style.left != null) - { - item.style.left = x + "px"; - item.style.top = y + "px"; - } - else if (item.style.pixelLeft != null) - { - item.style.pixelLeft = x; - item.style.pixelTop = y; - }; - }; - - -// -// Menu -// ____________________________________________________________________________ - - -function ToggleMenu(id) - { - if (!window.document.getElementById) - { return; }; - - var display = window.document.getElementById(id).style.display; - - if (display == "none") - { display = "block"; } - else - { display = "none"; } - - window.document.getElementById(id).style.display = display; - } - -function HideAllBut(ids, max) - { - if (document.getElementById) - { - ids.sort( function(a,b) { return a - b; } ); - var number = 1; - - while (number < max) - { - if (ids.length > 0 && number == ids[0]) - { ids.shift(); } - else - { - document.getElementById("MGroupContent" + number).style.display = "none"; - }; - - number++; - }; - }; - } - - -// -// Tooltips -// ____________________________________________________________________________ - - -var tooltipTimer = 0; - -function ShowTip(event, tooltipID, linkID) - { - if (tooltipTimer) - { clearTimeout(tooltipTimer); }; - - var docX = event.clientX + window.pageXOffset; - var docY = event.clientY + window.pageYOffset; - - var showCommand = "ReallyShowTip('" + tooltipID + "', '" + linkID + "', " + docX + ", " + docY + ")"; - - tooltipTimer = setTimeout(showCommand, 1000); - } - -function ReallyShowTip(tooltipID, linkID, docX, docY) - { - tooltipTimer = 0; - - var tooltip; - var link; - - if (document.getElementById) - { - tooltip = document.getElementById(tooltipID); - link = document.getElementById(linkID); - } -/* else if (document.all) - { - tooltip = eval("document.all['" + tooltipID + "']"); - link = eval("document.all['" + linkID + "']"); - } -*/ - if (tooltip) - { - var left = GetXPosition(link); - var top = GetYPosition(link); - top += link.offsetHeight; - - - // The fallback method is to use the mouse X and Y relative to the document. We use a separate if and test if its a number - // in case some browser snuck through the above if statement but didn't support everything. - - if (!isFinite(top) || top == 0) - { - left = docX; - top = docY; - } - - // Some spacing to get it out from under the cursor. - - top += 10; - - // Make sure the tooltip doesnt get smushed by being too close to the edge, or in some browsers, go off the edge of the - // page. We do it here because Konqueror does get offsetWidth right even if it doesnt get the positioning right. - - if (tooltip.offsetWidth != null) - { - var width = tooltip.offsetWidth; - var docWidth = document.body.clientWidth; - - if (left + width > docWidth) - { left = docWidth - width - 1; } - - // If there's a horizontal scroll bar we could go past zero because it's using the page width, not the window width. - if (left < 0) - { left = 0; }; - } - - MoveToPosition(tooltip, left, top); - tooltip.style.visibility = "visible"; - } - } - -function HideTip(tooltipID) - { - if (tooltipTimer) - { - clearTimeout(tooltipTimer); - tooltipTimer = 0; - } - - var tooltip; - - if (document.getElementById) - { tooltip = document.getElementById(tooltipID); } - else if (document.all) - { tooltip = eval("document.all['" + tooltipID + "']"); } - - if (tooltip) - { tooltip.style.visibility = "hidden"; } - } - - -// -// Blockquote fix for IE -// ____________________________________________________________________________ - - -function NDOnLoad() - { - if (browserVer == "IE6") - { - var scrollboxes = document.getElementsByTagName('blockquote'); - - if (scrollboxes.item(0)) - { - NDDoResize(); - window.onresize=NDOnResize; - }; - }; - }; - - -var resizeTimer = 0; - -function NDOnResize() - { - if (resizeTimer != 0) - { clearTimeout(resizeTimer); }; - - resizeTimer = setTimeout(NDDoResize, 250); - }; - - -function NDDoResize() - { - var scrollboxes = document.getElementsByTagName('blockquote'); - - var i; - var item; - - i = 0; - while (item = scrollboxes.item(i)) - { - item.style.width = 100; - i++; - }; - - i = 0; - while (item = scrollboxes.item(i)) - { - item.style.width = item.parentNode.offsetWidth; - i++; - }; - - clearTimeout(resizeTimer); - resizeTimer = 0; - } - - - -/* ________________________________________________________________________________________________________ - - Class: SearchPanel - ________________________________________________________________________________________________________ - - A class handling everything associated with the search panel. - - Parameters: - - name - The name of the global variable that will be storing this instance. Is needed to be able to set timeouts. - mode - The mode the search is going to work in. Pass CommandLineOption()>, so the - value will be something like "HTML" or "FramedHTML". - - ________________________________________________________________________________________________________ -*/ - - -function SearchPanel(name, mode, resultsPath) - { - if (!name || !mode || !resultsPath) - { alert("Incorrect parameters to SearchPanel."); }; - - - // Group: Variables - // ________________________________________________________________________ - - /* - var: name - The name of the global variable that will be storing this instance of the class. - */ - this.name = name; - - /* - var: mode - The mode the search is going to work in, such as "HTML" or "FramedHTML". - */ - this.mode = mode; - - /* - var: resultsPath - The relative path from the current HTML page to the results page directory. - */ - this.resultsPath = resultsPath; - - /* - var: keyTimeout - The timeout used between a keystroke and when a search is performed. - */ - this.keyTimeout = 0; - - /* - var: keyTimeoutLength - The length of in thousandths of a second. - */ - this.keyTimeoutLength = 500; - - /* - var: lastSearchValue - The last search string executed, or an empty string if none. - */ - this.lastSearchValue = ""; - - /* - var: lastResultsPage - The last results page. The value is only relevant if is set. - */ - this.lastResultsPage = ""; - - /* - var: deactivateTimeout - - The timeout used between when a control is deactivated and when the entire panel is deactivated. Is necessary - because a control may be deactivated in favor of another control in the same panel, in which case it should stay - active. - */ - this.deactivateTimout = 0; - - /* - var: deactivateTimeoutLength - The length of in thousandths of a second. - */ - this.deactivateTimeoutLength = 200; - - - - - // Group: DOM Elements - // ________________________________________________________________________ - - - // Function: DOMSearchField - this.DOMSearchField = function() - { return document.getElementById("MSearchField"); }; - - // Function: DOMSearchType - this.DOMSearchType = function() - { return document.getElementById("MSearchType"); }; - - // Function: DOMPopupSearchResults - this.DOMPopupSearchResults = function() - { return document.getElementById("MSearchResults"); }; - - // Function: DOMPopupSearchResultsWindow - this.DOMPopupSearchResultsWindow = function() - { return document.getElementById("MSearchResultsWindow"); }; - - // Function: DOMSearchPanel - this.DOMSearchPanel = function() - { return document.getElementById("MSearchPanel"); }; - - - - - // Group: Event Handlers - // ________________________________________________________________________ - - - /* - Function: OnSearchFieldFocus - Called when focus is added or removed from the search field. - */ - this.OnSearchFieldFocus = function(isActive) - { - this.Activate(isActive); - }; - - - /* - Function: OnSearchFieldChange - Called when the content of the search field is changed. - */ - this.OnSearchFieldChange = function() - { - if (this.keyTimeout) - { - clearTimeout(this.keyTimeout); - this.keyTimeout = 0; - }; - - var searchValue = this.DOMSearchField().value.replace(/ +/g, ""); - - if (searchValue != this.lastSearchValue) - { - if (searchValue != "") - { - this.keyTimeout = setTimeout(this.name + ".Search()", this.keyTimeoutLength); - } - else - { - if (this.mode == "HTML") - { this.DOMPopupSearchResultsWindow().style.display = "none"; }; - this.lastSearchValue = ""; - }; - }; - }; - - - /* - Function: OnSearchTypeFocus - Called when focus is added or removed from the search type. - */ - this.OnSearchTypeFocus = function(isActive) - { - this.Activate(isActive); - }; - - - /* - Function: OnSearchTypeChange - Called when the search type is changed. - */ - this.OnSearchTypeChange = function() - { - var searchValue = this.DOMSearchField().value.replace(/ +/g, ""); - - if (searchValue != "") - { - this.Search(); - }; - }; - - - - // Group: Action Functions - // ________________________________________________________________________ - - - /* - Function: CloseResultsWindow - Closes the results window. - */ - this.CloseResultsWindow = function() - { - this.DOMPopupSearchResultsWindow().style.display = "none"; - this.Activate(false, true); - }; - - - /* - Function: Search - Performs a search. - */ - this.Search = function() - { - this.keyTimeout = 0; - - var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); - var searchTopic = this.DOMSearchType().value; - - var pageExtension = searchValue.substr(0,1); - - if (pageExtension.match(/^[a-z]/i)) - { pageExtension = pageExtension.toUpperCase(); } - else if (pageExtension.match(/^[0-9]/)) - { pageExtension = 'Numbers'; } - else - { pageExtension = "Symbols"; }; - - var resultsPage; - var resultsPageWithSearch; - var hasResultsPage; - - // indexSectionsWithContent is defined in searchdata.js - if (indexSectionsWithContent[searchTopic][pageExtension] == true) - { - resultsPage = this.resultsPath + '/' + searchTopic + pageExtension + '.html'; - resultsPageWithSearch = resultsPage+'?'+escape(searchValue); - hasResultsPage = true; - } - else - { - resultsPage = this.resultsPath + '/NoResults.html'; - resultsPageWithSearch = resultsPage; - hasResultsPage = false; - }; - - var resultsFrame; - if (this.mode == "HTML") - { resultsFrame = window.frames.MSearchResults; } - else if (this.mode == "FramedHTML") - { resultsFrame = window.top.frames['Content']; }; - - - if (resultsPage != this.lastResultsPage || - - // Bug in IE. If everything becomes hidden in a run, none of them will be able to be reshown in the next for some - // reason. It counts the right number of results, and you can even read the display as "block" after setting it, but it - // just doesn't work in IE 6 or IE 7. So if we're on the right page but the previous search had no results, reload the - // page anyway to get around the bug. - (browserType == "IE" && hasResultsPage && - (!resultsFrame.searchResults || resultsFrame.searchResults.lastMatchCount == 0)) ) - - { - resultsFrame.location.href = resultsPageWithSearch; - } - - // So if the results page is right and there's no IE bug, reperform the search on the existing page. We have to check if there - // are results because NoResults.html doesn't have any JavaScript, and it would be useless to do anything on that page even - // if it did. - else if (hasResultsPage) - { - // We need to check if this exists in case the frame is present but didn't finish loading. - if (resultsFrame.searchResults) - { resultsFrame.searchResults.Search(searchValue); } - - // Otherwise just reload instead of waiting. - else - { resultsFrame.location.href = resultsPageWithSearch; }; - }; - - - var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); - - if (this.mode == "HTML" && domPopupSearchResultsWindow.style.display != "block") - { - var domSearchType = this.DOMSearchType(); - - var left = GetXPosition(domSearchType); - var top = GetYPosition(domSearchType) + domSearchType.offsetHeight; - - MoveToPosition(domPopupSearchResultsWindow, left, top); - domPopupSearchResultsWindow.style.display = 'block'; - }; - - - this.lastSearchValue = searchValue; - this.lastResultsPage = resultsPage; - }; - - - - // Group: Activation Functions - // Functions that handle whether the entire panel is active or not. - // ________________________________________________________________________ - - - /* - Function: Activate - - Activates or deactivates the search panel, resetting things to their default values if necessary. You can call this on every - control's OnBlur() and it will handle not deactivating the entire panel when focus is just switching between them transparently. - - Parameters: - - isActive - Whether you're activating or deactivating the panel. - ignoreDeactivateDelay - Set if you're positive the action will deactivate the panel and thus want to skip the delay. - */ - this.Activate = function(isActive, ignoreDeactivateDelay) - { - // We want to ignore isActive being false while the results window is open. - if (isActive || (this.mode == "HTML" && this.DOMPopupSearchResultsWindow().style.display == "block")) - { - if (this.inactivateTimeout) - { - clearTimeout(this.inactivateTimeout); - this.inactivateTimeout = 0; - }; - - this.DOMSearchPanel().className = 'MSearchPanelActive'; - - var searchField = this.DOMSearchField(); - - if (searchField.value == 'Search') - { searchField.value = ""; } - } - else if (!ignoreDeactivateDelay) - { - this.inactivateTimeout = setTimeout(this.name + ".InactivateAfterTimeout()", this.inactivateTimeoutLength); - } - else - { - this.InactivateAfterTimeout(); - }; - }; - - - /* - Function: InactivateAfterTimeout - - Called by , which is set by . Inactivation occurs on a timeout because a control may - receive OnBlur() when focus is really transferring to another control in the search panel. In this case we don't want to - actually deactivate the panel because not only would that cause a visible flicker but it could also reset the search value. - So by doing it on a timeout instead, there's a short period where the second control's OnFocus() can cancel the deactivation. - */ - this.InactivateAfterTimeout = function() - { - this.inactivateTimeout = 0; - - this.DOMSearchPanel().className = 'MSearchPanelInactive'; - this.DOMSearchField().value = "Search"; - - this.lastSearchValue = ""; - this.lastResultsPage = ""; - }; - }; - - - - -/* ________________________________________________________________________________________________________ - - Class: SearchResults - _________________________________________________________________________________________________________ - - The class that handles everything on the search results page. - _________________________________________________________________________________________________________ -*/ - - -function SearchResults(name, mode) - { - /* - var: mode - The mode the search is going to work in, such as "HTML" or "FramedHTML". - */ - this.mode = mode; - - /* - var: lastMatchCount - The number of matches from the last run of . - */ - this.lastMatchCount = 0; - - - /* - Function: Toggle - Toggles the visibility of the passed element ID. - */ - this.Toggle = function(id) - { - if (this.mode == "FramedHTML") - { return; }; - - var parentElement = document.getElementById(id); - - var element = parentElement.firstChild; - - while (element && element != parentElement) - { - if (element.nodeName == 'DIV' && element.className == 'ISubIndex') - { - if (element.style.display == 'block') - { element.style.display = "none"; } - else - { element.style.display = 'block'; } - }; - - if (element.nodeName == 'DIV' && element.hasChildNodes()) - { element = element.firstChild; } - else if (element.nextSibling) - { element = element.nextSibling; } - else - { - do - { - element = element.parentNode; - } - while (element && element != parentElement && !element.nextSibling); - - if (element && element != parentElement) - { element = element.nextSibling; }; - }; - }; - }; - - - /* - Function: Search - - Searches for the passed string. If there is no parameter, it takes it from the URL query. - - Always returns true, since other documents may try to call it and that may or may not be possible. - */ - this.Search = function(search) - { - if (!search) - { - search = window.location.search; - search = search.substring(1); // Remove the leading ? - search = unescape(search); - }; - - search = search.replace(/^ +/, ""); - search = search.replace(/ +$/, ""); - search = search.toLowerCase(); - - if (search.match(/[^a-z0-9]/)) // Just a little speedup so it doesn't have to go through the below unnecessarily. - { - search = search.replace(/\_/g, "_und"); - search = search.replace(/\ +/gi, "_spc"); - search = search.replace(/\~/g, "_til"); - search = search.replace(/\!/g, "_exc"); - search = search.replace(/\@/g, "_att"); - search = search.replace(/\#/g, "_num"); - search = search.replace(/\$/g, "_dol"); - search = search.replace(/\%/g, "_pct"); - search = search.replace(/\^/g, "_car"); - search = search.replace(/\&/g, "_amp"); - search = search.replace(/\*/g, "_ast"); - search = search.replace(/\(/g, "_lpa"); - search = search.replace(/\)/g, "_rpa"); - search = search.replace(/\-/g, "_min"); - search = search.replace(/\+/g, "_plu"); - search = search.replace(/\=/g, "_equ"); - search = search.replace(/\{/g, "_lbc"); - search = search.replace(/\}/g, "_rbc"); - search = search.replace(/\[/g, "_lbk"); - search = search.replace(/\]/g, "_rbk"); - search = search.replace(/\:/g, "_col"); - search = search.replace(/\;/g, "_sco"); - search = search.replace(/\"/g, "_quo"); - search = search.replace(/\'/g, "_apo"); - search = search.replace(/\/g, "_ran"); - search = search.replace(/\,/g, "_com"); - search = search.replace(/\./g, "_per"); - search = search.replace(/\?/g, "_que"); - search = search.replace(/\//g, "_sla"); - search = search.replace(/[^a-z0-9\_]i/gi, "_zzz"); - }; - - var resultRows = document.getElementsByTagName("div"); - var matches = 0; - - var i = 0; - while (i < resultRows.length) - { - var row = resultRows.item(i); - - if (row.className == "SRResult") - { - var rowMatchName = row.id.toLowerCase(); - rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); - - if (search.length <= rowMatchName.length && rowMatchName.substr(0, search.length) == search) - { - row.style.display = "block"; - matches++; - } - else - { row.style.display = "none"; }; - }; - - i++; - }; - - document.getElementById("Searching").style.display="none"; - - if (matches == 0) - { document.getElementById("NoMatches").style.display="block"; } - else - { document.getElementById("NoMatches").style.display="none"; } - - this.lastMatchCount = matches; - - return true; - }; - }; - diff --git a/docs/php-api/javascript/prettify.js b/docs/php-api/javascript/prettify.js deleted file mode 100644 index fda4bf1ed..000000000 --- a/docs/php-api/javascript/prettify.js +++ /dev/null @@ -1,1526 +0,0 @@ - -// This code comes from the December 2009 release of Google Prettify, which is Copyright © 2006 Google Inc. -// Minor modifications are marked with "ND Change" comments. -// As part of Natural Docs, this code is licensed under version 3 of the GNU Affero General Public License (AGPL.) -// However, it may also be obtained separately under version 2.0 of the Apache License. -// Refer to License.txt for the complete details - - -// Main code -// ____________________________________________________________________________ - -// Copyright (C) 2006 Google Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - - -/** - * @fileoverview - * some functions for browser-side pretty printing of code contained in html. - *

- * - * For a fairly comprehensive set of languages see the - * README - * file that came with this source. At a minimum, the lexer should work on a - * number of languages including C and friends, Java, Python, Bash, SQL, HTML, - * XML, CSS, Javascript, and Makefiles. It works passably on Ruby, PHP and Awk - * and a subset of Perl, but, because of commenting conventions, doesn't work on - * Smalltalk, Lisp-like, or CAML-like languages without an explicit lang class. - *

- * Usage:

    - *
  1. include this source file in an html page via - * {@code } - *
  2. define style rules. See the example page for examples. - *
  3. mark the {@code
    } and {@code } tags in your source with
    - *    {@code class=prettyprint.}
    - *    You can also use the (html deprecated) {@code } tag, but the pretty
    - *    printer needs to do more substantial DOM manipulations to support that, so
    - *    some css styles may not be preserved.
    - * </ol>
    - * That's it.  I wanted to keep the API as simple as possible, so there's no
    - * need to specify which language the code is in, but if you wish, you can add
    - * another class to the {@code <pre>} or {@code <code>} element to specify the
    - * language, as in {@code <pre class="prettyprint lang-java">}.  Any class that
    - * starts with "lang-" followed by a file extension, specifies the file type.
    - * See the "lang-*.js" files in this directory for code that implements
    - * per-language file handlers.
    - * <p>
    - * Change log:<br>
    - * cbeust, 2006/08/22
    - * <blockquote>
    - *   Java annotations (start with "@") are now captured as literals ("lit")
    - * </blockquote>
    - * @requires console
    - * @overrides window
    - */
    -
    -// JSLint declarations
    -/*global console, document, navigator, setTimeout, window */
    -
    -/**
    - * Split {@code prettyPrint} into multiple timeouts so as not to interfere with
    - * UI events.
    - * If set to {@code false}, {@code prettyPrint()} is synchronous.
    - */
    -window['PR_SHOULD_USE_CONTINUATION'] = true;
    -
    -/** the number of characters between tab columns */
    -window['PR_TAB_WIDTH'] = 8;
    -
    -/** Walks the DOM returning a properly escaped version of innerHTML.
    -  * @param {Node} node
    -  * @param {Array.<string>} out output buffer that receives chunks of HTML.
    -  */
    -window['PR_normalizedHtml']
    -
    -/** Contains functions for creating and registering new language handlers.
    -  * @type {Object}
    -  */
    -  = window['PR']
    -
    -/** Pretty print a chunk of code.
    -  *
    -  * @param {string} sourceCodeHtml code as html
    -  * @return {string} code as html, but prettier
    -  */
    -  = window['prettyPrintOne']
    -/** Find all the {@code <pre>} and {@code <code>} tags in the DOM with
    -  * {@code class=prettyprint} and prettify them.
    -  * @param {Function?} opt_whenDone if specified, called when the last entry
    -  *     has been finished.
    -  */
    -  = window['prettyPrint'] = void 0;
    -
    -/** browser detection. @extern @returns false if not IE, otherwise the major version. */
    -window['_pr_isIE6'] = function () {
    -  var ieVersion = navigator && navigator.userAgent &&
    -      navigator.userAgent.match(/\bMSIE ([678])\./);
    -  ieVersion = ieVersion ? +ieVersion[1] : false;
    -  window['_pr_isIE6'] = function () { return ieVersion; };
    -  return ieVersion;
    -};
    -
    -
    -(function () {
    -  // Keyword lists for various languages.
    -  var FLOW_CONTROL_KEYWORDS =
    -      "break continue do else for if return while ";
    -  var C_KEYWORDS = FLOW_CONTROL_KEYWORDS + "auto case char const default " +
    -      "double enum extern float goto int long register short signed sizeof " +
    -      "static struct switch typedef union unsigned void volatile ";
    -  var COMMON_KEYWORDS = C_KEYWORDS + "catch class delete false import " +
    -      "new operator private protected public this throw true try typeof ";
    -  var CPP_KEYWORDS = COMMON_KEYWORDS + "alignof align_union asm axiom bool " +
    -      "concept concept_map const_cast constexpr decltype " +
    -      "dynamic_cast explicit export friend inline late_check " +
    -      "mutable namespace nullptr reinterpret_cast static_assert static_cast " +
    -      "template typeid typename using virtual wchar_t where ";
    -  var JAVA_KEYWORDS = COMMON_KEYWORDS +
    -      "abstract boolean byte extends final finally implements import " +
    -      "instanceof null native package strictfp super synchronized throws " +
    -      "transient ";
    -  var CSHARP_KEYWORDS = JAVA_KEYWORDS +
    -      "as base by checked decimal delegate descending event " +
    -      "fixed foreach from group implicit in interface internal into is lock " +
    -      "object out override orderby params partial readonly ref sbyte sealed " +
    -      "stackalloc string select uint ulong unchecked unsafe ushort var ";
    -  var JSCRIPT_KEYWORDS = COMMON_KEYWORDS +
    -      "debugger eval export function get null set undefined var with " +
    -      "Infinity NaN ";
    -  var PERL_KEYWORDS = "caller delete die do dump elsif eval exit foreach for " +
    -      "goto if import last local my next no our print package redo require " +
    -      "sub undef unless until use wantarray while BEGIN END ";
    -  var PYTHON_KEYWORDS = FLOW_CONTROL_KEYWORDS + "and as assert class def del " +
    -      "elif except exec finally from global import in is lambda " +
    -      "nonlocal not or pass print raise try with yield " +
    -      "False True None ";
    -  var RUBY_KEYWORDS = FLOW_CONTROL_KEYWORDS + "alias and begin case class def" +
    -      " defined elsif end ensure false in module next nil not or redo rescue " +
    -      "retry self super then true undef unless until when yield BEGIN END ";
    -  var SH_KEYWORDS = FLOW_CONTROL_KEYWORDS + "case done elif esac eval fi " +
    -      "function in local set then until ";
    -  var ALL_KEYWORDS = (
    -      CPP_KEYWORDS + CSHARP_KEYWORDS + JSCRIPT_KEYWORDS + PERL_KEYWORDS +
    -      PYTHON_KEYWORDS + RUBY_KEYWORDS + SH_KEYWORDS);
    -
    -  // token style names.  correspond to css classes
    -  /** token style for a string literal */
    -  var PR_STRING = 'str';
    -  /** token style for a keyword */
    -  var PR_KEYWORD = 'kwd';
    -  /** token style for a comment */
    -  var PR_COMMENT = 'com';
    -  /** token style for a type */
    -  var PR_TYPE = 'typ';
    -  /** token style for a literal value.  e.g. 1, null, true. */
    -  var PR_LITERAL = 'lit';
    -  /** token style for a punctuation string. */
    -  var PR_PUNCTUATION = 'pun';
    -  /** token style for a punctuation string. */
    -  var PR_PLAIN = 'pln';
    -
    -  /** token style for an sgml tag. */
    -  var PR_TAG = 'tag';
    -  /** token style for a markup declaration such as a DOCTYPE. */
    -  var PR_DECLARATION = 'dec';
    -  /** token style for embedded source. */
    -  var PR_SOURCE = 'src';
    -  /** token style for an sgml attribute name. */
    -  var PR_ATTRIB_NAME = 'atn';
    -  /** token style for an sgml attribute value. */
    -  var PR_ATTRIB_VALUE = 'atv';
    -
    -  /**
    -   * A class that indicates a section of markup that is not code, e.g. to allow
    -   * embedding of line numbers within code listings.
    -   */
    -  var PR_NOCODE = 'nocode';
    -
    -  /** A set of tokens that can precede a regular expression literal in
    -    * javascript.
    -    * http://www.mozilla.org/js/language/js20/rationale/syntax.html has the full
    -    * list, but I've removed ones that might be problematic when seen in
    -    * languages that don't support regular expression literals.
    -    *
    -    * <p>Specifically, I've removed any keywords that can't precede a regexp
    -    * literal in a syntactically legal javascript program, and I've removed the
    -    * "in" keyword since it's not a keyword in many languages, and might be used
    -    * as a count of inches.
    -    *
    -    * <p>The link a above does not accurately describe EcmaScript rules since
    -    * it fails to distinguish between (a=++/b/i) and (a++/b/i) but it works
    -    * very well in practice.
    -    *
    -    * @private
    -    */
    -  var REGEXP_PRECEDER_PATTERN = function () {
    -      var preceders = [
    -          "!", "!=", "!==", "#", "%", "%=", "&", "&&", "&&=",
    -          "&=", "(", "*", "*=", /* "+", */ "+=", ",", /* "-", */ "-=",
    -          "->", /*".", "..", "...", handled below */ "/", "/=", ":", "::", ";",
    -          "<", "<<", "<<=", "<=", "=", "==", "===", ">",
    -          ">=", ">>", ">>=", ">>>", ">>>=", "?", "@", "[",
    -          "^", "^=", "^^", "^^=", "{", "|", "|=", "||",
    -          "||=", "~" /* handles =~ and !~ */,
    -          "break", "case", "continue", "delete",
    -          "do", "else", "finally", "instanceof",
    -          "return", "throw", "try", "typeof"
    -          ];
    -      var pattern = '(?:^^|[+-]';
    -      for (var i = 0; i < preceders.length; ++i) {
    -        pattern += '|' + preceders[i].replace(/([^=<>:&a-z])/g, '\\$1');
    -      }
    -      pattern += ')\\s*';  // matches at end, and matches empty string
    -      return pattern;
    -      // CAVEAT: this does not properly handle the case where a regular
    -      // expression immediately follows another since a regular expression may
    -      // have flags for case-sensitivity and the like.  Having regexp tokens
    -      // adjacent is not valid in any language I'm aware of, so I'm punting.
    -      // TODO: maybe style special characters inside a regexp as punctuation.
    -    }();
    -
    -  // Define regexps here so that the interpreter doesn't have to create an
    -  // object each time the function containing them is called.
    -  // The language spec requires a new object created even if you don't access
    -  // the $1 members.
    -  var pr_amp = /&/g;
    -  var pr_lt = /</g;
    -  var pr_gt = />/g;
    -  var pr_quot = /\"/g;
    -  /** like textToHtml but escapes double quotes to be attribute safe. */
    -  function attribToHtml(str) {
    -    return str.replace(pr_amp, '&amp;')
    -        .replace(pr_lt, '&lt;')
    -        .replace(pr_gt, '&gt;')
    -        .replace(pr_quot, '&quot;');
    -  }
    -
    -  /** escapest html special characters to html. */
    -  function textToHtml(str) {
    -    return str.replace(pr_amp, '&amp;')
    -        .replace(pr_lt, '&lt;')
    -        .replace(pr_gt, '&gt;');
    -  }
    -
    -
    -  var pr_ltEnt = /&lt;/g;
    -  var pr_gtEnt = /&gt;/g;
    -  var pr_aposEnt = /&apos;/g;
    -  var pr_quotEnt = /&quot;/g;
    -  var pr_ampEnt = /&amp;/g;
    -  var pr_nbspEnt = /&nbsp;/g;
    -  /** unescapes html to plain text. */
    -  function htmlToText(html) {
    -    var pos = html.indexOf('&');
    -    if (pos < 0) { return html; }
    -    // Handle numeric entities specially.  We can't use functional substitution
    -    // since that doesn't work in older versions of Safari.
    -    // These should be rare since most browsers convert them to normal chars.
    -    for (--pos; (pos = html.indexOf('&#', pos + 1)) >= 0;) {
    -      var end = html.indexOf(';', pos);
    -      if (end >= 0) {
    -        var num = html.substring(pos + 3, end);
    -        var radix = 10;
    -        if (num && num.charAt(0) === 'x') {
    -          num = num.substring(1);
    -          radix = 16;
    -        }
    -        var codePoint = parseInt(num, radix);
    -        if (!isNaN(codePoint)) {
    -          html = (html.substring(0, pos) + String.fromCharCode(codePoint) +
    -                  html.substring(end + 1));
    -        }
    -      }
    -    }
    -
    -    return html.replace(pr_ltEnt, '<')
    -        .replace(pr_gtEnt, '>')
    -        .replace(pr_aposEnt, "'")
    -        .replace(pr_quotEnt, '"')
    -        .replace(pr_nbspEnt, ' ')
    -        .replace(pr_ampEnt, '&');
    -  }
    -
    -  /** is the given node's innerHTML normally unescaped? */
    -  function isRawContent(node) {
    -    return 'XMP' === node.tagName;
    -  }
    -
    -  var newlineRe = /[\r\n]/g;
    -  /**
    -   * Are newlines and adjacent spaces significant in the given node's innerHTML?
    -   */
    -  function isPreformatted(node, content) {
    -    // PRE means preformatted, and is a very common case, so don't create
    -    // unnecessary computed style objects.
    -    if ('PRE' === node.tagName) { return true; }
    -    if (!newlineRe.test(content)) { return true; }  // Don't care
    -    var whitespace = '';
    -    // For disconnected nodes, IE has no currentStyle.
    -    if (node.currentStyle) {
    -      whitespace = node.currentStyle.whiteSpace;
    -    } else if (window.getComputedStyle) {
    -      // Firefox makes a best guess if node is disconnected whereas Safari
    -      // returns the empty string.
    -      whitespace = window.getComputedStyle(node, null).whiteSpace;
    -    }
    -    return !whitespace || whitespace === 'pre';
    -  }
    -
    -  function normalizedHtml(node, out) {
    -    switch (node.nodeType) {
    -      case 1:  // an element
    -        var name = node.tagName.toLowerCase();
    -        out.push('<', name);
    -        for (var i = 0; i < node.attributes.length; ++i) {
    -          var attr = node.attributes[i];
    -          if (!attr.specified) { continue; }
    -          out.push(' ');
    -          normalizedHtml(attr, out);
    -        }
    -        out.push('>');
    -        for (var child = node.firstChild; child; child = child.nextSibling) {
    -          normalizedHtml(child, out);
    -        }
    -        if (node.firstChild || !/^(?:br|link|img)$/.test(name)) {
    -          out.push('<\/', name, '>');
    -        }
    -        break;
    -      case 2: // an attribute
    -        out.push(node.name.toLowerCase(), '="', attribToHtml(node.value), '"');
    -        break;
    -      case 3: case 4: // text
    -        out.push(textToHtml(node.nodeValue));
    -        break;
    -    }
    -  }
    -
    -  /**
    -   * Given a group of {@link RegExp}s, returns a {@code RegExp} that globally
    -   * matches the union o the sets o strings matched d by the input RegExp.
    -   * Since it matches globally, if the input strings have a start-of-input
    -   * anchor (/^.../), it is ignored for the purposes of unioning.
    -   * @param {Array.<RegExp>} regexs non multiline, non-global regexs.
    -   * @return {RegExp} a global regex.
    -   */
    -  function combinePrefixPatterns(regexs) {
    -    var capturedGroupIndex = 0;
    -
    -    var needToFoldCase = false;
    -    var ignoreCase = false;
    -    for (var i = 0, n = regexs.length; i < n; ++i) {
    -      var regex = regexs[i];
    -      if (regex.ignoreCase) {
    -        ignoreCase = true;
    -      } else if (/[a-z]/i.test(regex.source.replace(
    -                     /\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi, ''))) {
    -        needToFoldCase = true;
    -        ignoreCase = false;
    -        break;
    -      }
    -    }
    -
    -    function decodeEscape(charsetPart) {
    -      if (charsetPart.charAt(0) !== '\\') { return charsetPart.charCodeAt(0); }
    -      switch (charsetPart.charAt(1)) {
    -        case 'b': return 8;
    -        case 't': return 9;
    -        case 'n': return 0xa;
    -        case 'v': return 0xb;
    -        case 'f': return 0xc;
    -        case 'r': return 0xd;
    -        case 'u': case 'x':
    -          return parseInt(charsetPart.substring(2), 16)
    -              || charsetPart.charCodeAt(1);
    -        case '0': case '1': case '2': case '3': case '4':
    -        case '5': case '6': case '7':
    -          return parseInt(charsetPart.substring(1), 8);
    -        default: return charsetPart.charCodeAt(1);
    -      }
    -    }
    -
    -    function encodeEscape(charCode) {
    -      if (charCode < 0x20) {
    -        return (charCode < 0x10 ? '\\x0' : '\\x') + charCode.toString(16);
    -      }
    -      var ch = String.fromCharCode(charCode);
    -      if (ch === '\\' || ch === '-' || ch === '[' || ch === ']') {
    -        ch = '\\' + ch;
    -      }
    -      return ch;
    -    }
    -
    -    function caseFoldCharset(charSet) {
    -      var charsetParts = charSet.substring(1, charSet.length - 1).match(
    -          new RegExp(
    -              '\\\\u[0-9A-Fa-f]{4}'
    -              + '|\\\\x[0-9A-Fa-f]{2}'
    -              + '|\\\\[0-3][0-7]{0,2}'
    -              + '|\\\\[0-7]{1,2}'
    -              + '|\\\\[\\s\\S]'
    -              + '|-'
    -              + '|[^-\\\\]',
    -              'g'));
    -      var groups = [];
    -      var ranges = [];
    -      var inverse = charsetParts[0] === '^';
    -      for (var i = inverse ? 1 : 0, n = charsetParts.length; i < n; ++i) {
    -        var p = charsetParts[i];
    -        switch (p) {
    -          case '\\B': case '\\b':
    -          case '\\D': case '\\d':
    -          case '\\S': case '\\s':
    -          case '\\W': case '\\w':
    -            groups.push(p);
    -            continue;
    -        }
    -        var start = decodeEscape(p);
    -        var end;
    -        if (i + 2 < n && '-' === charsetParts[i + 1]) {
    -          end = decodeEscape(charsetParts[i + 2]);
    -          i += 2;
    -        } else {
    -          end = start;
    -        }
    -        ranges.push([start, end]);
    -        // If the range might intersect letters, then expand it.
    -        if (!(end < 65 || start > 122)) {
    -          if (!(end < 65 || start > 90)) {
    -            ranges.push([Math.max(65, start) | 32, Math.min(end, 90) | 32]);
    -          }
    -          if (!(end < 97 || start > 122)) {
    -            ranges.push([Math.max(97, start) & ~32, Math.min(end, 122) & ~32]);
    -          }
    -        }
    -      }
    -
    -      // [[1, 10], [3, 4], [8, 12], [14, 14], [16, 16], [17, 17]]
    -      // -> [[1, 12], [14, 14], [16, 17]]
    -      ranges.sort(function (a, b) { return (a[0] - b[0]) || (b[1]  - a[1]); });
    -      var consolidatedRanges = [];
    -      var lastRange = [NaN, NaN];
    -      for (var i = 0; i < ranges.length; ++i) {
    -        var range = ranges[i];
    -        if (range[0] <= lastRange[1] + 1) {
    -          lastRange[1] = Math.max(lastRange[1], range[1]);
    -        } else {
    -          consolidatedRanges.push(lastRange = range);
    -        }
    -      }
    -
    -      var out = ['['];
    -      if (inverse) { out.push('^'); }
    -      out.push.apply(out, groups);
    -      for (var i = 0; i < consolidatedRanges.length; ++i) {
    -        var range = consolidatedRanges[i];
    -        out.push(encodeEscape(range[0]));
    -        if (range[1] > range[0]) {
    -          if (range[1] + 1 > range[0]) { out.push('-'); }
    -          out.push(encodeEscape(range[1]));
    -        }
    -      }
    -      out.push(']');
    -      return out.join('');
    -    }
    -
    -    function allowAnywhereFoldCaseAndRenumberGroups(regex) {
    -      // Split into character sets, escape sequences, punctuation strings
    -      // like ('(', '(?:', ')', '^'), and runs of characters that do not
    -      // include any of the above.
    -      var parts = regex.source.match(
    -          new RegExp(
    -              '(?:'
    -              + '\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]'  // a character set
    -              + '|\\\\u[A-Fa-f0-9]{4}'  // a unicode escape
    -              + '|\\\\x[A-Fa-f0-9]{2}'  // a hex escape
    -              + '|\\\\[0-9]+'  // a back-reference or octal escape
    -              + '|\\\\[^ux0-9]'  // other escape sequence
    -              + '|\\(\\?[:!=]'  // start of a non-capturing group
    -              + '|[\\(\\)\\^]'  // start/emd of a group, or line start
    -              + '|[^\\x5B\\x5C\\(\\)\\^]+'  // run of other characters
    -              + ')',
    -              'g'));
    -      var n = parts.length;
    -
    -      // Maps captured group numbers to the number they will occupy in
    -      // the output or to -1 if that has not been determined, or to
    -      // undefined if they need not be capturing in the output.
    -      var capturedGroups = [];
    -
    -      // Walk over and identify back references to build the capturedGroups
    -      // mapping.
    -      for (var i = 0, groupIndex = 0; i < n; ++i) {
    -        var p = parts[i];
    -        if (p === '(') {
    -          // groups are 1-indexed, so max group index is count of '('
    -          ++groupIndex;
    -        } else if ('\\' === p.charAt(0)) {
    -          var decimalValue = +p.substring(1);
    -          if (decimalValue && decimalValue <= groupIndex) {
    -            capturedGroups[decimalValue] = -1;
    -          }
    -        }
    -      }
    -
    -      // Renumber groups and reduce capturing groups to non-capturing groups
    -      // where possible.
    -      for (var i = 1; i < capturedGroups.length; ++i) {
    -        if (-1 === capturedGroups[i]) {
    -          capturedGroups[i] = ++capturedGroupIndex;
    -        }
    -      }
    -      for (var i = 0, groupIndex = 0; i < n; ++i) {
    -        var p = parts[i];
    -        if (p === '(') {
    -          ++groupIndex;
    -          if (capturedGroups[groupIndex] === undefined) {
    -            parts[i] = '(?:';
    -          }
    -        } else if ('\\' === p.charAt(0)) {
    -          var decimalValue = +p.substring(1);
    -          if (decimalValue && decimalValue <= groupIndex) {
    -            parts[i] = '\\' + capturedGroups[groupIndex];
    -          }
    -        }
    -      }
    -
    -      // Remove any prefix anchors so that the output will match anywhere.
    -      // ^^ really does mean an anchored match though.
    -      for (var i = 0, groupIndex = 0; i < n; ++i) {
    -        if ('^' === parts[i] && '^' !== parts[i + 1]) { parts[i] = ''; }
    -      }
    -
    -      // Expand letters to groupts to handle mixing of case-sensitive and
    -      // case-insensitive patterns if necessary.
    -      if (regex.ignoreCase && needToFoldCase) {
    -        for (var i = 0; i < n; ++i) {
    -          var p = parts[i];
    -          var ch0 = p.charAt(0);
    -          if (p.length >= 2 && ch0 === '[') {
    -            parts[i] = caseFoldCharset(p);
    -          } else if (ch0 !== '\\') {
    -            // TODO: handle letters in numeric escapes.
    -            parts[i] = p.replace(
    -                /[a-zA-Z]/g,
    -                function (ch) {
    -                  var cc = ch.charCodeAt(0);
    -                  return '[' + String.fromCharCode(cc & ~32, cc | 32) + ']';
    -                });
    -          }
    -        }
    -      }
    -
    -      return parts.join('');
    -    }
    -
    -    var rewritten = [];
    -    for (var i = 0, n = regexs.length; i < n; ++i) {
    -      var regex = regexs[i];
    -      if (regex.global || regex.multiline) { throw new Error('' + regex); }
    -      rewritten.push(
    -          '(?:' + allowAnywhereFoldCaseAndRenumberGroups(regex) + ')');
    -    }
    -
    -    return new RegExp(rewritten.join('|'), ignoreCase ? 'gi' : 'g');
    -  }
    -
    -  var PR_innerHtmlWorks = null;
    -  function getInnerHtml(node) {
    -    // inner html is hopelessly broken in Safari 2.0.4 when the content is
    -    // an html description of well formed XML and the containing tag is a PRE
    -    // tag, so we detect that case and emulate innerHTML.
    -    if (null === PR_innerHtmlWorks) {
    -      var testNode = document.createElement('PRE');
    -      testNode.appendChild(
    -          document.createTextNode('<!DOCTYPE foo PUBLIC "foo bar">\n<foo />'));
    -      PR_innerHtmlWorks = !/</.test(testNode.innerHTML);
    -    }
    -
    -    if (PR_innerHtmlWorks) {
    -      var content = node.innerHTML;
    -      // XMP tags contain unescaped entities so require special handling.
    -      if (isRawContent(node)) {
    -        content = textToHtml(content);
    -      } else if (!isPreformatted(node, content)) {
    -        content = content.replace(/(<br\s*\/?>)[\r\n]+/g, '$1')
    -            .replace(/(?:[\r\n]+[ \t]*)+/g, ' ');
    -      }
    -      return content;
    -    }
    -
    -    var out = [];
    -    for (var child = node.firstChild; child; child = child.nextSibling) {
    -      normalizedHtml(child, out);
    -    }
    -    return out.join('');
    -  }
    -
    -  /** returns a function that expand tabs to spaces.  This function can be fed
    -    * successive chunks of text, and will maintain its own internal state to
    -    * keep track of how tabs are expanded.
    -    * @return {function (string) : string} a function that takes
    -    *   plain text and return the text with tabs expanded.
    -    * @private
    -    */
    -  function makeTabExpander(tabWidth) {
    -    var SPACES = '                ';
    -    var charInLine = 0;
    -
    -    return function (plainText) {
    -      // walk over each character looking for tabs and newlines.
    -      // On tabs, expand them.  On newlines, reset charInLine.
    -      // Otherwise increment charInLine
    -      var out = null;
    -      var pos = 0;
    -      for (var i = 0, n = plainText.length; i < n; ++i) {
    -        var ch = plainText.charAt(i);
    -
    -        switch (ch) {
    -          case '\t':
    -            if (!out) { out = []; }
    -            out.push(plainText.substring(pos, i));
    -            // calculate how much space we need in front of this part
    -            // nSpaces is the amount of padding -- the number of spaces needed
    -            // to move us to the next column, where columns occur at factors of
    -            // tabWidth.
    -            var nSpaces = tabWidth - (charInLine % tabWidth);
    -            charInLine += nSpaces;
    -            for (; nSpaces >= 0; nSpaces -= SPACES.length) {
    -              out.push(SPACES.substring(0, nSpaces));
    -            }
    -            pos = i + 1;
    -            break;
    -          case '\n':
    -            charInLine = 0;
    -            break;
    -          default:
    -            ++charInLine;
    -        }
    -      }
    -      if (!out) { return plainText; }
    -      out.push(plainText.substring(pos));
    -      return out.join('');
    -    };
    -  }
    -
    -  var pr_chunkPattern = new RegExp(
    -      '[^<]+'  // A run of characters other than '<'
    -      + '|<\!--[\\s\\S]*?--\>'  // an HTML comment
    -      + '|<!\\[CDATA\\[[\\s\\S]*?\\]\\]>'  // a CDATA section
    -      // a probable tag that should not be highlighted
    -      + '|<\/?[a-zA-Z](?:[^>\"\']|\'[^\']*\'|\"[^\"]*\")*>'
    -      + '|<',  // A '<' that does not begin a larger chunk
    -      'g');
    -  var pr_commentPrefix = /^<\!--/;
    -  var pr_cdataPrefix = /^<!\[CDATA\[/;
    -  var pr_brPrefix = /^<br\b/i;
    -  var pr_tagNameRe = /^<(\/?)([a-zA-Z][a-zA-Z0-9]*)/;
    -
    -  /** split markup into chunks of html tags (style null) and
    -    * plain text (style {@link #PR_PLAIN}), converting tags which are
    -    * significant for tokenization (<br>) into their textual equivalent.
    -    *
    -    * @param {string} s html where whitespace is considered significant.
    -    * @return {Object} source code and extracted tags.
    -    * @private
    -    */
    -  function extractTags(s) {
    -    // since the pattern has the 'g' modifier and defines no capturing groups,
    -    // this will return a list of all chunks which we then classify and wrap as
    -    // PR_Tokens
    -    var matches = s.match(pr_chunkPattern);
    -    var sourceBuf = [];
    -    var sourceBufLen = 0;
    -    var extractedTags = [];
    -    if (matches) {
    -      for (var i = 0, n = matches.length; i < n; ++i) {
    -        var match = matches[i];
    -        if (match.length > 1 && match.charAt(0) === '<') {
    -          if (pr_commentPrefix.test(match)) { continue; }
    -          if (pr_cdataPrefix.test(match)) {
    -            // strip CDATA prefix and suffix.  Don't unescape since it's CDATA
    -            sourceBuf.push(match.substring(9, match.length - 3));
    -            sourceBufLen += match.length - 12;
    -          } else if (pr_brPrefix.test(match)) {
    -            // <br> tags are lexically significant so convert them to text.
    -            // This is undone later.
    -            sourceBuf.push('\n');
    -            ++sourceBufLen;
    -          } else {
    -            if (match.indexOf(PR_NOCODE) >= 0 && isNoCodeTag(match)) {
    -              // A <span class="nocode"> will start a section that should be
    -              // ignored.  Continue walking the list until we see a matching end
    -              // tag.
    -              var name = match.match(pr_tagNameRe)[2];
    -              var depth = 1;
    -              var j;
    -              end_tag_loop:
    -              for (j = i + 1; j < n; ++j) {
    -                var name2 = matches[j].match(pr_tagNameRe);
    -                if (name2 && name2[2] === name) {
    -                  if (name2[1] === '/') {
    -                    if (--depth === 0) { break end_tag_loop; }
    -                  } else {
    -                    ++depth;
    -                  }
    -                }
    -              }
    -              if (j < n) {
    -                extractedTags.push(
    -                    sourceBufLen, matches.slice(i, j + 1).join(''));
    -                i = j;
    -              } else {  // Ignore unclosed sections.
    -                extractedTags.push(sourceBufLen, match);
    -              }
    -            } else {
    -              extractedTags.push(sourceBufLen, match);
    -            }
    -          }
    -        } else {
    -          var literalText = htmlToText(match);
    -          sourceBuf.push(literalText);
    -          sourceBufLen += literalText.length;
    -        }
    -      }
    -    }
    -    return { source: sourceBuf.join(''), tags: extractedTags };
    -  }
    -
    -  /** True if the given tag contains a class attribute with the nocode class. */
    -  function isNoCodeTag(tag) {
    -    return !!tag
    -        // First canonicalize the representation of attributes
    -        .replace(/\s(\w+)\s*=\s*(?:\"([^\"]*)\"|'([^\']*)'|(\S+))/g,
    -                 ' $1="$2$3$4"')
    -        // Then look for the attribute we want.
    -        .match(/[cC][lL][aA][sS][sS]=\"[^\"]*\bnocode\b/);
    -  }
    -
    -  /**
    -   * Apply the given language handler to sourceCode and add the resulting
    -   * decorations to out.
    -   * @param {number} basePos the index of sourceCode within the chunk of source
    -   *    whose decorations are already present on out.
    -   */
    -  function appendDecorations(basePos, sourceCode, langHandler, out) {
    -    if (!sourceCode) { return; }
    -    var job = {
    -      source: sourceCode,
    -      basePos: basePos
    -    };
    -    langHandler(job);
    -    out.push.apply(out, job.decorations);
    -  }
    -
    -  /** Given triples of [style, pattern, context] returns a lexing function,
    -    * The lexing function interprets the patterns to find token boundaries and
    -    * returns a decoration list of the form
    -    * [index_0, style_0, index_1, style_1, ..., index_n, style_n]
    -    * where index_n is an index into the sourceCode, and style_n is a style
    -    * constant like PR_PLAIN.  index_n-1 <= index_n, and style_n-1 applies to
    -    * all characters in sourceCode[index_n-1:index_n].
    -    *
    -    * The stylePatterns is a list whose elements have the form
    -    * [style : string, pattern : RegExp, DEPRECATED, shortcut : string].
    -    *
    -    * Style is a style constant like PR_PLAIN, or can be a string of the
    -    * form 'lang-FOO', where FOO is a language extension describing the
    -    * language of the portion of the token in $1 after pattern executes.
    -    * E.g., if style is 'lang-lisp', and group 1 contains the text
    -    * '(hello (world))', then that portion of the token will be passed to the
    -    * registered lisp handler for formatting.
    -    * The text before and after group 1 will be restyled using this decorator
    -    * so decorators should take care that this doesn't result in infinite
    -    * recursion.  For example, the HTML lexer rule for SCRIPT elements looks
    -    * something like ['lang-js', /<[s]cript>(.+?)<\/script>/].  This may match
    -    * '<script>foo()<\/script>', which would cause the current decorator to
    -    * be called with '<script>' which would not match the same rule since
    -    * group 1 must not be empty, so it would be instead styled as PR_TAG by
    -    * the generic tag rule.  The handler registered for the 'js' extension would
    -    * then be called with 'foo()', and finally, the current decorator would
    -    * be called with '<\/script>' which would not match the original rule and
    -    * so the generic tag rule would identify it as a tag.
    -    *
    -    * Pattern must only match prefixes, and if it matches a prefix, then that
    -    * match is considered a token with the same style.
    -    *
    -    * Context is applied to the last non-whitespace, non-comment token
    -    * recognized.
    -    *
    -    * Shortcut is an optional string of characters, any of which, if the first
    -    * character, gurantee that this pattern and only this pattern matches.
    -    *
    -    * @param {Array} shortcutStylePatterns patterns that always start with
    -    *   a known character.  Must have a shortcut string.
    -    * @param {Array} fallthroughStylePatterns patterns that will be tried in
    -    *   order if the shortcut ones fail.  May have shortcuts.
    -    *
    -    * @return {function (Object)} a
    -    *   function that takes source code and returns a list of decorations.
    -    */
    -  function createSimpleLexer(shortcutStylePatterns, fallthroughStylePatterns) {
    -    var shortcuts = {};
    -    var tokenizer;
    -    (function () {
    -      var allPatterns = shortcutStylePatterns.concat(fallthroughStylePatterns);
    -      var allRegexs = [];
    -      var regexKeys = {};
    -      for (var i = 0, n = allPatterns.length; i < n; ++i) {
    -        var patternParts = allPatterns[i];
    -        var shortcutChars = patternParts[3];
    -        if (shortcutChars) {
    -          for (var c = shortcutChars.length; --c >= 0;) {
    -            shortcuts[shortcutChars.charAt(c)] = patternParts;
    -          }
    -        }
    -        var regex = patternParts[1];
    -        var k = '' + regex;
    -        if (!regexKeys.hasOwnProperty(k)) {
    -          allRegexs.push(regex);
    -          regexKeys[k] = null;
    -        }
    -      }
    -      allRegexs.push(/[\0-\uffff]/);
    -      tokenizer = combinePrefixPatterns(allRegexs);
    -    })();
    -
    -    var nPatterns = fallthroughStylePatterns.length;
    -    var notWs = /\S/;
    -
    -    /**
    -     * Lexes job.source and produces an output array job.decorations of style
    -     * classes preceded by the position at which they start in job.source in
    -     * order.
    -     *
    -     * @param {Object} job an object like {@code
    -     *    source: {string} sourceText plain text,
    -     *    basePos: {int} position of job.source in the larger chunk of
    -     *        sourceCode.
    -     * }
    -     */
    -    var decorate = function (job) {
    -      var sourceCode = job.source, basePos = job.basePos;
    -      /** Even entries are positions in source in ascending order.  Odd enties
    -        * are style markers (e.g., PR_COMMENT) that run from that position until
    -        * the end.
    -        * @type {Array.<number|string>}
    -        */
    -      var decorations = [basePos, PR_PLAIN];
    -      var pos = 0;  // index into sourceCode
    -      var tokens = sourceCode.match(tokenizer) || [];
    -      var styleCache = {};
    -
    -      for (var ti = 0, nTokens = tokens.length; ti < nTokens; ++ti) {
    -        var token = tokens[ti];
    -        var style = styleCache[token];
    -        var match = void 0;
    -
    -        var isEmbedded;
    -        if (typeof style === 'string') {
    -          isEmbedded = false;
    -        } else {
    -          var patternParts = shortcuts[token.charAt(0)];
    -          if (patternParts) {
    -            match = token.match(patternParts[1]);
    -            style = patternParts[0];
    -          } else {
    -            for (var i = 0; i < nPatterns; ++i) {
    -              patternParts = fallthroughStylePatterns[i];
    -              match = token.match(patternParts[1]);
    -              if (match) {
    -                style = patternParts[0];
    -                break;
    -              }
    -            }
    -
    -            if (!match) {  // make sure that we make progress
    -              style = PR_PLAIN;
    -            }
    -          }
    -
    -          isEmbedded = style.length >= 5 && 'lang-' === style.substring(0, 5);
    -          if (isEmbedded && !(match && typeof match[1] === 'string')) {
    -            isEmbedded = false;
    -            style = PR_SOURCE;
    -          }
    -
    -          if (!isEmbedded) { styleCache[token] = style; }
    -        }
    -
    -        var tokenStart = pos;
    -        pos += token.length;
    -
    -        if (!isEmbedded) {
    -          decorations.push(basePos + tokenStart, style);
    -        } else {  // Treat group 1 as an embedded block of source code.
    -          var embeddedSource = match[1];
    -          var embeddedSourceStart = token.indexOf(embeddedSource);
    -          var embeddedSourceEnd = embeddedSourceStart + embeddedSource.length;
    -          if (match[2]) {
    -            // If embeddedSource can be blank, then it would match at the
    -            // beginning which would cause us to infinitely recurse on the
    -            // entire token, so we catch the right context in match[2].
    -            embeddedSourceEnd = token.length - match[2].length;
    -            embeddedSourceStart = embeddedSourceEnd - embeddedSource.length;
    -          }
    -          var lang = style.substring(5);
    -          // Decorate the left of the embedded source
    -          appendDecorations(
    -              basePos + tokenStart,
    -              token.substring(0, embeddedSourceStart),
    -              decorate, decorations);
    -          // Decorate the embedded source
    -          appendDecorations(
    -              basePos + tokenStart + embeddedSourceStart,
    -              embeddedSource,
    -              langHandlerForExtension(lang, embeddedSource),
    -              decorations);
    -          // Decorate the right of the embedded section
    -          appendDecorations(
    -              basePos + tokenStart + embeddedSourceEnd,
    -              token.substring(embeddedSourceEnd),
    -              decorate, decorations);
    -        }
    -      }
    -      job.decorations = decorations;
    -    };
    -    return decorate;
    -  }
    -
    -  /** returns a function that produces a list of decorations from source text.
    -    *
    -    * This code treats ", ', and ` as string delimiters, and \ as a string
    -    * escape.  It does not recognize perl's qq() style strings.
    -    * It has no special handling for double delimiter escapes as in basic, or
    -    * the tripled delimiters used in python, but should work on those regardless
    -    * although in those cases a single string literal may be broken up into
    -    * multiple adjacent string literals.
    -    *
    -    * It recognizes C, C++, and shell style comments.
    -    *
    -    * @param {Object} options a set of optional parameters.
    -    * @return {function (Object)} a function that examines the source code
    -    *     in the input job and builds the decoration list.
    -    */
    -  function sourceDecorator(options) {
    -    var shortcutStylePatterns = [], fallthroughStylePatterns = [];
    -    if (options['tripleQuotedStrings']) {
    -      // '''multi-line-string''', 'single-line-string', and double-quoted
    -      shortcutStylePatterns.push(
    -          [PR_STRING,  /^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,
    -           null, '\'"']);
    -    } else if (options['multiLineStrings']) {
    -      // 'multi-line-string', "multi-line-string"
    -      shortcutStylePatterns.push(
    -          [PR_STRING,  /^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,
    -           null, '\'"`']);
    -    } else {
    -      // 'single-line-string', "single-line-string"
    -      shortcutStylePatterns.push(
    -          [PR_STRING,
    -           /^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,
    -           null, '"\'']);
    -    }
    -    if (options['verbatimStrings']) {
    -      // verbatim-string-literal production from the C# grammar.  See issue 93.
    -      fallthroughStylePatterns.push(
    -          [PR_STRING, /^@\"(?:[^\"]|\"\")*(?:\"|$)/, null]);
    -    }
    -    if (options['hashComments']) {
    -      if (options['cStyleComments']) {
    -        // Stop C preprocessor declarations at an unclosed open comment
    -        shortcutStylePatterns.push(
    -            [PR_COMMENT, /^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,
    -             null, '#']);
    -        fallthroughStylePatterns.push(
    -            [PR_STRING,
    -             /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,
    -             null]);
    -      } else {
    -        shortcutStylePatterns.push([PR_COMMENT, /^#[^\r\n]*/, null, '#']);
    -      }
    -    }
    -    if (options['cStyleComments']) {
    -      fallthroughStylePatterns.push([PR_COMMENT, /^\/\/[^\r\n]*/, null]);
    -      fallthroughStylePatterns.push(
    -          [PR_COMMENT, /^\/\*[\s\S]*?(?:\*\/|$)/, null]);
    -    }
    -    if (options['regexLiterals']) {
    -      var REGEX_LITERAL = (
    -          // A regular expression literal starts with a slash that is
    -          // not followed by * or / so that it is not confused with
    -          // comments.
    -          '/(?=[^/*])'
    -          // and then contains any number of raw characters,
    -          + '(?:[^/\\x5B\\x5C]'
    -          // escape sequences (\x5C),
    -          +    '|\\x5C[\\s\\S]'
    -          // or non-nesting character sets (\x5B\x5D);
    -          +    '|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+'
    -          // finally closed by a /.
    -          + '/');
    -      fallthroughStylePatterns.push(
    -          ['lang-regex',
    -           new RegExp('^' + REGEXP_PRECEDER_PATTERN + '(' + REGEX_LITERAL + ')')
    -           ]);
    -    }
    -
    -    var keywords = options['keywords'].replace(/^\s+|\s+$/g, '');
    -    if (keywords.length) {
    -      fallthroughStylePatterns.push(
    -          [PR_KEYWORD,
    -           new RegExp('^(?:' + keywords.replace(/\s+/g, '|') + ')\\b'), null]);
    -    }
    -
    -    shortcutStylePatterns.push([PR_PLAIN,       /^\s+/, null, ' \r\n\t\xA0']);
    -    fallthroughStylePatterns.push(
    -        // TODO(mikesamuel): recognize non-latin letters and numerals in idents
    -        [PR_LITERAL,     /^@[a-z_$][a-z_$@0-9]*/i, null],
    -        [PR_TYPE,        /^@?[A-Z]+[a-z][A-Za-z_$@0-9]*/, null],
    -        [PR_PLAIN,       /^[a-z_$][a-z_$@0-9]*/i, null],
    -        [PR_LITERAL,
    -         new RegExp(
    -             '^(?:'
    -             // A hex number
    -             + '0x[a-f0-9]+'
    -             // or an octal or decimal number,
    -             + '|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)'
    -             // possibly in scientific notation
    -             + '(?:e[+\\-]?\\d+)?'
    -             + ')'
    -             // with an optional modifier like UL for unsigned long
    -             + '[a-z]*', 'i'),
    -         null, '0123456789'],
    -        [PR_PUNCTUATION, /^.[^\s\w\.$@\'\"\`\/\#]*/, null]);
    -
    -    return createSimpleLexer(shortcutStylePatterns, fallthroughStylePatterns);
    -  }
    -
    -  var decorateSource = sourceDecorator({
    -        'keywords': ALL_KEYWORDS,
    -        'hashComments': true,
    -        'cStyleComments': true,
    -        'multiLineStrings': true,
    -        'regexLiterals': true
    -      });
    -
    -  /** Breaks {@code job.source} around style boundaries in
    -    * {@code job.decorations} while re-interleaving {@code job.extractedTags},
    -    * and leaves the result in {@code job.prettyPrintedHtml}.
    -    * @param {Object} job like {
    -    *    source: {string} source as plain text,
    -    *    extractedTags: {Array.<number|string>} extractedTags chunks of raw
    -    *                   html preceded by their position in {@code job.source}
    -    *                   in order
    -    *    decorations: {Array.<number|string} an array of style classes preceded
    -    *                 by the position at which they start in job.source in order
    -    * }
    -    * @private
    -    */
    -  function recombineTagsAndDecorations(job) {
    -    var sourceText = job.source;
    -    var extractedTags = job.extractedTags;
    -    var decorations = job.decorations;
    -
    -    var html = [];
    -    // index past the last char in sourceText written to html
    -    var outputIdx = 0;
    -
    -    var openDecoration = null;
    -    var currentDecoration = null;
    -    var tagPos = 0;  // index into extractedTags
    -    var decPos = 0;  // index into decorations
    -    var tabExpander = makeTabExpander(window['PR_TAB_WIDTH']);
    -
    -    var adjacentSpaceRe = /([\r\n ]) /g;
    -    var startOrSpaceRe = /(^| ) /gm;
    -    var newlineRe = /\r\n?|\n/g;
    -    var trailingSpaceRe = /[ \r\n]$/;
    -    var lastWasSpace = true;  // the last text chunk emitted ended with a space.
    -
    -    // A helper function that is responsible for opening sections of decoration
    -    // and outputing properly escaped chunks of source
    -    function emitTextUpTo(sourceIdx) {
    -      if (sourceIdx > outputIdx) {
    -        if (openDecoration && openDecoration !== currentDecoration) {
    -          // Close the current decoration
    -          html.push('</span>');
    -          openDecoration = null;
    -        }
    -        if (!openDecoration && currentDecoration) {
    -          openDecoration = currentDecoration;
    -          html.push('<span class="', openDecoration, '">');
    -        }
    -        // This interacts badly with some wikis which introduces paragraph tags
    -        // into pre blocks for some strange reason.
    -        // It's necessary for IE though which seems to lose the preformattedness
    -        // of <pre> tags when their innerHTML is assigned.
    -        // http://stud3.tuwien.ac.at/~e0226430/innerHtmlQuirk.html
    -        // and it serves to undo the conversion of <br>s to newlines done in
    -        // chunkify.
    -        var htmlChunk = textToHtml(
    -            tabExpander(sourceText.substring(outputIdx, sourceIdx)))
    -            .replace(lastWasSpace
    -                     ? startOrSpaceRe
    -                     : adjacentSpaceRe, '$1&nbsp;');
    -        // Keep track of whether we need to escape space at the beginning of the
    -        // next chunk.
    -        lastWasSpace = trailingSpaceRe.test(htmlChunk);
    -        // IE collapses multiple adjacient <br>s into 1 line break.
    -        // Prefix every <br> with '&nbsp;' can prevent such IE's behavior.
    -        var lineBreakHtml = window['_pr_isIE6']() ? '&nbsp;<br />' : '<br />';
    -        html.push(htmlChunk.replace(newlineRe, lineBreakHtml));
    -        outputIdx = sourceIdx;
    -      }
    -    }
    -
    -    while (true) {
    -      // Determine if we're going to consume a tag this time around.  Otherwise
    -      // we consume a decoration or exit.
    -      var outputTag;
    -      if (tagPos < extractedTags.length) {
    -        if (decPos < decorations.length) {
    -          // Pick one giving preference to extractedTags since we shouldn't open
    -          // a new style that we're going to have to immediately close in order
    -          // to output a tag.
    -          outputTag = extractedTags[tagPos] <= decorations[decPos];
    -        } else {
    -          outputTag = true;
    -        }
    -      } else {
    -        outputTag = false;
    -      }
    -      // Consume either a decoration or a tag or exit.
    -      if (outputTag) {
    -        emitTextUpTo(extractedTags[tagPos]);
    -        if (openDecoration) {
    -          // Close the current decoration
    -          html.push('</span>');
    -          openDecoration = null;
    -        }
    -        html.push(extractedTags[tagPos + 1]);
    -        tagPos += 2;
    -      } else if (decPos < decorations.length) {
    -        emitTextUpTo(decorations[decPos]);
    -        currentDecoration = decorations[decPos + 1];
    -        decPos += 2;
    -      } else {
    -        break;
    -      }
    -    }
    -    emitTextUpTo(sourceText.length);
    -    if (openDecoration) {
    -      html.push('</span>');
    -    }
    -    job.prettyPrintedHtml = html.join('');
    -  }
    -
    -  /** Maps language-specific file extensions to handlers. */
    -  var langHandlerRegistry = {};
    -  /** Register a language handler for the given file extensions.
    -    * @param {function (Object)} handler a function from source code to a list
    -    *      of decorations.  Takes a single argument job which describes the
    -    *      state of the computation.   The single parameter has the form
    -    *      {@code {
    -    *        source: {string} as plain text.
    -    *        decorations: {Array.<number|string>} an array of style classes
    -    *                     preceded by the position at which they start in
    -    *                     job.source in order.
    -    *                     The language handler should assigned this field.
    -    *        basePos: {int} the position of source in the larger source chunk.
    -    *                 All positions in the output decorations array are relative
    -    *                 to the larger source chunk.
    -    *      } }
    -    * @param {Array.<string>} fileExtensions
    -    */
    -  function registerLangHandler(handler, fileExtensions) {
    -    for (var i = fileExtensions.length; --i >= 0;) {
    -      var ext = fileExtensions[i];
    -      if (!langHandlerRegistry.hasOwnProperty(ext)) {
    -        langHandlerRegistry[ext] = handler;
    -      } else if ('console' in window) {
    -        console.warn('cannot override language handler %s', ext);
    -      }
    -    }
    -  }
    -  function langHandlerForExtension(extension, source) {
    -    if (!(extension && langHandlerRegistry.hasOwnProperty(extension))) {
    -      // Treat it as markup if the first non whitespace character is a < and
    -      // the last non-whitespace character is a >.
    -      extension = /^\s*</.test(source)
    -          ? 'default-markup'
    -          : 'default-code';
    -    }
    -    return langHandlerRegistry[extension];
    -  }
    -  registerLangHandler(decorateSource, ['default-code']);
    -  registerLangHandler(
    -      createSimpleLexer(
    -          [],
    -          [
    -           [PR_PLAIN,       /^[^<?]+/],
    -           [PR_DECLARATION, /^<!\w[^>]*(?:>|$)/],
    -           [PR_COMMENT,     /^<\!--[\s\S]*?(?:-\->|$)/],
    -           // Unescaped content in an unknown language
    -           ['lang-',        /^<\?([\s\S]+?)(?:\?>|$)/],
    -           ['lang-',        /^<%([\s\S]+?)(?:%>|$)/],
    -           [PR_PUNCTUATION, /^(?:<[%?]|[%?]>)/],
    -           ['lang-',        /^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],
    -           // Unescaped content in javascript.  (Or possibly vbscript).
    -           ['lang-js',      /^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],
    -           // Contains unescaped stylesheet content
    -           ['lang-css',     /^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],
    -           ['lang-in.tag',  /^(<\/?[a-z][^<>]*>)/i]
    -          ]),
    -      ['default-markup', 'htm', 'html', 'mxml', 'xhtml', 'xml', 'xsl']);
    -  registerLangHandler(
    -      createSimpleLexer(
    -          [
    -           [PR_PLAIN,        /^[\s]+/, null, ' \t\r\n'],
    -           [PR_ATTRIB_VALUE, /^(?:\"[^\"]*\"?|\'[^\']*\'?)/, null, '\"\'']
    -           ],
    -          [
    -           [PR_TAG,          /^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],
    -           [PR_ATTRIB_NAME,  /^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],
    -           ['lang-uq.val',   /^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],
    -           [PR_PUNCTUATION,  /^[=<>\/]+/],
    -           ['lang-js',       /^on\w+\s*=\s*\"([^\"]+)\"/i],
    -           ['lang-js',       /^on\w+\s*=\s*\'([^\']+)\'/i],
    -           ['lang-js',       /^on\w+\s*=\s*([^\"\'>\s]+)/i],
    -           ['lang-css',      /^style\s*=\s*\"([^\"]+)\"/i],
    -           ['lang-css',      /^style\s*=\s*\'([^\']+)\'/i],
    -           ['lang-css',      /^style\s*=\s*([^\"\'>\s]+)/i]
    -           ]),
    -      ['in.tag']);
    -  registerLangHandler(
    -      createSimpleLexer([], [[PR_ATTRIB_VALUE, /^[\s\S]+/]]), ['uq.val']);
    -  registerLangHandler(sourceDecorator({
    -          'keywords': CPP_KEYWORDS,
    -          'hashComments': true,
    -          'cStyleComments': true
    -        }), ['c', 'cc', 'cpp', 'cxx', 'cyc', 'm']);
    -  registerLangHandler(sourceDecorator({
    -          'keywords': 'null true false'
    -        }), ['json']);
    -  registerLangHandler(sourceDecorator({
    -          'keywords': CSHARP_KEYWORDS,
    -          'hashComments': true,
    -          'cStyleComments': true,
    -          'verbatimStrings': true
    -        }), ['cs']);
    -  registerLangHandler(sourceDecorator({
    -          'keywords': JAVA_KEYWORDS,
    -          'cStyleComments': true
    -        }), ['java']);
    -  registerLangHandler(sourceDecorator({
    -          'keywords': SH_KEYWORDS,
    -          'hashComments': true,
    -          'multiLineStrings': true
    -        }), ['bsh', 'csh', 'sh']);
    -  registerLangHandler(sourceDecorator({
    -          'keywords': PYTHON_KEYWORDS,
    -          'hashComments': true,
    -          'multiLineStrings': true,
    -          'tripleQuotedStrings': true
    -        }), ['cv', 'py']);
    -  registerLangHandler(sourceDecorator({
    -          'keywords': PERL_KEYWORDS,
    -          'hashComments': true,
    -          'multiLineStrings': true,
    -          'regexLiterals': true
    -        }), ['perl', 'pl', 'pm']);
    -  registerLangHandler(sourceDecorator({
    -          'keywords': RUBY_KEYWORDS,
    -          'hashComments': true,
    -          'multiLineStrings': true,
    -          'regexLiterals': true
    -        }), ['rb']);
    -  registerLangHandler(sourceDecorator({
    -          'keywords': JSCRIPT_KEYWORDS,
    -          'cStyleComments': true,
    -          'regexLiterals': true
    -        }), ['js']);
    -  registerLangHandler(
    -      createSimpleLexer([], [[PR_STRING, /^[\s\S]+/]]), ['regex']);
    -
    -  function applyDecorator(job) {
    -    var sourceCodeHtml = job.sourceCodeHtml;
    -    var opt_langExtension = job.langExtension;
    -
    -    // Prepopulate output in case processing fails with an exception.
    -    job.prettyPrintedHtml = sourceCodeHtml;
    -
    -    try {
    -      // Extract tags, and convert the source code to plain text.
    -      var sourceAndExtractedTags = extractTags(sourceCodeHtml);
    -      /** Plain text. @type {string} */
    -      var source = sourceAndExtractedTags.source;
    -      job.source = source;
    -      job.basePos = 0;
    -
    -      /** Even entries are positions in source in ascending order.  Odd entries
    -        * are tags that were extracted at that position.
    -        * @type {Array.<number|string>}
    -        */
    -      job.extractedTags = sourceAndExtractedTags.tags;
    -
    -      // Apply the appropriate language handler
    -      langHandlerForExtension(opt_langExtension, source)(job);
    -      // Integrate the decorations and tags back into the source code to produce
    -      // a decorated html string which is left in job.prettyPrintedHtml.
    -      recombineTagsAndDecorations(job);
    -    } catch (e) {
    -      if ('console' in window) {
    -        console.log(e);
    -        console.trace();
    -      }
    -    }
    -  }
    -
    -  function prettyPrintOne(sourceCodeHtml, opt_langExtension) {
    -    var job = {
    -      sourceCodeHtml: sourceCodeHtml,
    -      langExtension: opt_langExtension
    -    };
    -    applyDecorator(job);
    -    return job.prettyPrintedHtml;
    -  }
    -
    -  function prettyPrint(opt_whenDone) {
    -    var isIE678 = window['_pr_isIE6']();
    -    var ieNewline = isIE678 === 6 ? '\r\n' : '\r';
    -    // See bug 71 and http://stackoverflow.com/questions/136443/why-doesnt-ie7-
    -
    -    // fetch a list of nodes to rewrite
    -    var codeSegments = [
    -        document.getElementsByTagName('pre'),
    -        document.getElementsByTagName('code'),
    -        document.getElementsByTagName('td'),  /* ND Change: Add tables to support prototypes. */
    -        document.getElementsByTagName('xmp') ];
    -    var elements = [];
    -    for (var i = 0; i < codeSegments.length; ++i) {
    -      for (var j = 0, n = codeSegments[i].length; j < n; ++j) {
    -        elements.push(codeSegments[i][j]);
    -      }
    -    }
    -    codeSegments = null;
    -
    -    var clock = Date;
    -    if (!clock['now']) {
    -      clock = { 'now': function () { return (new Date).getTime(); } };
    -    }
    -
    -    // The loop is broken into a series of continuations to make sure that we
    -    // don't make the browser unresponsive when rewriting a large page.
    -    var k = 0;
    -    var prettyPrintingJob;
    -
    -    function doWork() {
    -      var endTime = (window['PR_SHOULD_USE_CONTINUATION'] ?
    -                     clock.now() + 250 /* ms */ :
    -                     Infinity);
    -      for (; k < elements.length && clock.now() < endTime; k++) {
    -        var cs = elements[k];
    -        if (cs.className && cs.className.indexOf('prettyprint') >= 0) {
    -          // If the classes includes a language extensions, use it.
    -          // Language extensions can be specified like
    -          //     <pre class="prettyprint lang-cpp">
    -          // the language extension "cpp" is used to find a language handler as
    -          // passed to PR_registerLangHandler.
    -          var langExtension = cs.className.match(/\blang-(\w+)\b/);
    -          if (langExtension) { langExtension = langExtension[1]; }
    -
    -          // make sure this is not nested in an already prettified element
    -          var nested = false;
    -          for (var p = cs.parentNode; p; p = p.parentNode) {
    -            if ((p.tagName === 'pre' || p.tagName === 'code' ||
    -                 p.tagName === 'xmp' || p.tagName === 'td') &&  /* ND Change: Add tables to support prototypes */
    -                p.className && p.className.indexOf('prettyprint') >= 0) {
    -              nested = true;
    -              break;
    -            }
    -          }
    -          if (!nested) {
    -            // fetch the content as a snippet of properly escaped HTML.
    -            // Firefox adds newlines at the end.
    -            var content = getInnerHtml(cs);
    -            content = content.replace(/(?:\r\n?|\n)$/, '');
    -
    -	  		/* ND Change: we need to preserve &nbsp;s so change them to a special character instead of a space. */
    -			content = content.replace(/&nbsp;/g, '\x11');
    -
    -            // do the pretty printing
    -            prettyPrintingJob = {
    -              sourceCodeHtml: content,
    -              langExtension: langExtension,
    -              sourceNode: cs
    -            };
    -            applyDecorator(prettyPrintingJob);
    -            replaceWithPrettyPrintedHtml();
    -          }
    -        }
    -      }
    -      if (k < elements.length) {
    -        // finish up in a continuation
    -        setTimeout(doWork, 250);
    -      } else if (opt_whenDone) {
    -        opt_whenDone();
    -      }
    -    }
    -
    -    function replaceWithPrettyPrintedHtml() {
    -      var newContent = prettyPrintingJob.prettyPrintedHtml;
    -      if (!newContent) { return; }
    -
    -      /* ND Change: Restore the preserved &nbsp;s.  */
    -	  newContent = newContent.replace(/\x11/g, '&nbsp;');
    -
    -      var cs = prettyPrintingJob.sourceNode;
    -
    -      // push the prettified html back into the tag.
    -      if (!isRawContent(cs)) {
    -        // just replace the old html with the new
    -        cs.innerHTML = newContent;
    -      } else {
    -        // we need to change the tag to a <pre> since <xmp>s do not allow
    -        // embedded tags such as the span tags used to attach styles to
    -        // sections of source code.
    -        var pre = document.createElement('PRE');
    -        for (var i = 0; i < cs.attributes.length; ++i) {
    -          var a = cs.attributes[i];
    -          if (a.specified) {
    -            var aname = a.name.toLowerCase();
    -            if (aname === 'class') {
    -              pre.className = a.value;  // For IE 6
    -            } else {
    -              pre.setAttribute(a.name, a.value);
    -            }
    -          }
    -        }
    -        pre.innerHTML = newContent;
    -
    -        // remove the old
    -        cs.parentNode.replaceChild(pre, cs);
    -        cs = pre;
    -      }
    -
    -      // Replace <br>s with line-feeds so that copying and pasting works
    -      // on IE 6.
    -      // Doing this on other browsers breaks lots of stuff since \r\n is
    -      // treated as two newlines on Firefox, and doing this also slows
    -      // down rendering.
    -      if (isIE678 && cs.tagName === 'PRE') {
    -        var lineBreaks = cs.getElementsByTagName('br');
    -        for (var j = lineBreaks.length; --j >= 0;) {
    -          var lineBreak = lineBreaks[j];
    -          lineBreak.parentNode.replaceChild(
    -              document.createTextNode(ieNewline), lineBreak);
    -        }
    -      }
    -    }
    -
    -    doWork();
    -  }
    -
    -  window['PR_normalizedHtml'] = normalizedHtml;
    -  window['prettyPrintOne'] = prettyPrintOne;
    -  window['prettyPrint'] = prettyPrint;
    -  window['PR'] = {
    -        'combinePrefixPatterns': combinePrefixPatterns,
    -        'createSimpleLexer': createSimpleLexer,
    -        'registerLangHandler': registerLangHandler,
    -        'sourceDecorator': sourceDecorator,
    -        'PR_ATTRIB_NAME': PR_ATTRIB_NAME,
    -        'PR_ATTRIB_VALUE': PR_ATTRIB_VALUE,
    -        'PR_COMMENT': PR_COMMENT,
    -        'PR_DECLARATION': PR_DECLARATION,
    -        'PR_KEYWORD': PR_KEYWORD,
    -        'PR_LITERAL': PR_LITERAL,
    -        'PR_NOCODE': PR_NOCODE,
    -        'PR_PLAIN': PR_PLAIN,
    -        'PR_PUNCTUATION': PR_PUNCTUATION,
    -        'PR_SOURCE': PR_SOURCE,
    -        'PR_STRING': PR_STRING,
    -        'PR_TAG': PR_TAG,
    -        'PR_TYPE': PR_TYPE
    -      };
    -})();
    -
    -
    -// ____________________________________________________________________________
    -
    -
    -
    -// Lua extension
    -
    -PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[\t\n\r \xA0]+/,null,'	\n\r \xa0'],[PR.PR_STRING,/^(?:\"(?:[^\"\\]|\\[\s\S])*(?:\"|$)|\'(?:[^\'\\]|\\[\s\S])*(?:\'|$))/,null,'\"\'']],[[PR.PR_COMMENT,/^--(?:\[(=*)\[[\s\S]*?(?:\]\1\]|$)|[^\r\n]*)/],[PR.PR_STRING,/^\[(=*)\[[\s\S]*?(?:\]\1\]|$)/],[PR.PR_KEYWORD,/^(?:and|break|do|else|elseif|end|false|for|function|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/,null],[PR.PR_LITERAL,/^[+-]?(?:0x[\da-f]+|(?:(?:\.\d+|\d+(?:\.\d*)?)(?:e[+\-]?\d+)?))/i],[PR.PR_PLAIN,/^[a-z_]\w*/i],[PR.PR_PUNCTUATION,/^[^\w\t\n\r \xA0][^\w\t\n\r \xA0\"\'\-\+=]*/]]),['lua'])
    -
    -
    -// Haskell extension
    -
    -PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[\t\n\x0B\x0C\r ]+/,null,'	\n\r '],[PR.PR_STRING,/^\"(?:[^\"\\\n\x0C\r]|\\[\s\S])*(?:\"|$)/,null,'\"'],[PR.PR_STRING,/^\'(?:[^\'\\\n\x0C\r]|\\[^&])\'?/,null,'\''],[PR.PR_LITERAL,/^(?:0o[0-7]+|0x[\da-f]+|\d+(?:\.\d+)?(?:e[+\-]?\d+)?)/i,null,'0123456789']],[[PR.PR_COMMENT,/^(?:(?:--+(?:[^\r\n\x0C]*)?)|(?:\{-(?:[^-]|-+[^-\}])*-\}))/],[PR.PR_KEYWORD,/^(?:case|class|data|default|deriving|do|else|if|import|in|infix|infixl|infixr|instance|let|module|newtype|of|then|type|where|_)(?=[^a-zA-Z0-9\']|$)/,null],[PR.PR_PLAIN,/^(?:[A-Z][\w\']*\.)*[a-zA-Z][\w\']*/],[PR.PR_PUNCTUATION,/^[^\t\n\x0B\x0C\r a-zA-Z0-9\'\"]+/]]),['hs'])
    -
    -
    -// ML extension
    -
    -PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[\t\n\r \xA0]+/,null,'	\n\r \xa0'],[PR.PR_COMMENT,/^#(?:if[\t\n\r \xA0]+(?:[a-z_$][\w\']*|``[^\r\n\t`]*(?:``|$))|else|endif|light)/i,null,'#'],[PR.PR_STRING,/^(?:\"(?:[^\"\\]|\\[\s\S])*(?:\"|$)|\'(?:[^\'\\]|\\[\s\S])*(?:\'|$))/,null,'\"\'']],[[PR.PR_COMMENT,/^(?:\/\/[^\r\n]*|\(\*[\s\S]*?\*\))/],[PR.PR_KEYWORD,/^(?:abstract|and|as|assert|begin|class|default|delegate|do|done|downcast|downto|elif|else|end|exception|extern|false|finally|for|fun|function|if|in|inherit|inline|interface|internal|lazy|let|match|member|module|mutable|namespace|new|null|of|open|or|override|private|public|rec|return|static|struct|then|to|true|try|type|upcast|use|val|void|when|while|with|yield|asr|land|lor|lsl|lsr|lxor|mod|sig|atomic|break|checked|component|const|constraint|constructor|continue|eager|event|external|fixed|functor|global|include|method|mixin|object|parallel|process|protected|pure|sealed|trait|virtual|volatile)\b/],[PR.PR_LITERAL,/^[+\-]?(?:0x[\da-f]+|(?:(?:\.\d+|\d+(?:\.\d*)?)(?:e[+\-]?\d+)?))/i],[PR.PR_PLAIN,/^(?:[a-z_]\w*[!?#]?|``[^\r\n\t`]*(?:``|$))/i],[PR.PR_PUNCTUATION,/^[^\t\n\r \xA0\"\'\w]+/]]),['fs','ml'])
    -
    -
    -// SQL extension
    -
    -PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[\t\n\r \xA0]+/,null,'	\n\r \xa0'],[PR.PR_STRING,/^(?:"(?:[^\"\\]|\\.)*"|'(?:[^\'\\]|\\.)*')/,null,'\"\'']],[[PR.PR_COMMENT,/^(?:--[^\r\n]*|\/\*[\s\S]*?(?:\*\/|$))/],[PR.PR_KEYWORD,/^(?:ADD|ALL|ALTER|AND|ANY|AS|ASC|AUTHORIZATION|BACKUP|BEGIN|BETWEEN|BREAK|BROWSE|BULK|BY|CASCADE|CASE|CHECK|CHECKPOINT|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMN|COMMIT|COMPUTE|CONSTRAINT|CONTAINS|CONTAINSTABLE|CONTINUE|CONVERT|CREATE|CROSS|CURRENT|CURRENT_DATE|CURRENT_TIME|CURRENT_TIMESTAMP|CURRENT_USER|CURSOR|DATABASE|DBCC|DEALLOCATE|DECLARE|DEFAULT|DELETE|DENY|DESC|DISK|DISTINCT|DISTRIBUTED|DOUBLE|DROP|DUMMY|DUMP|ELSE|END|ERRLVL|ESCAPE|EXCEPT|EXEC|EXECUTE|EXISTS|EXIT|FETCH|FILE|FILLFACTOR|FOR|FOREIGN|FREETEXT|FREETEXTTABLE|FROM|FULL|FUNCTION|GOTO|GRANT|GROUP|HAVING|HOLDLOCK|IDENTITY|IDENTITYCOL|IDENTITY_INSERT|IF|IN|INDEX|INNER|INSERT|INTERSECT|INTO|IS|JOIN|KEY|KILL|LEFT|LIKE|LINENO|LOAD|NATIONAL|NOCHECK|NONCLUSTERED|NOT|NULL|NULLIF|OF|OFF|OFFSETS|ON|OPEN|OPENDATASOURCE|OPENQUERY|OPENROWSET|OPENXML|OPTION|OR|ORDER|OUTER|OVER|PERCENT|PLAN|PRECISION|PRIMARY|PRINT|PROC|PROCEDURE|PUBLIC|RAISERROR|READ|READTEXT|RECONFIGURE|REFERENCES|REPLICATION|RESTORE|RESTRICT|RETURN|REVOKE|RIGHT|ROLLBACK|ROWCOUNT|ROWGUIDCOL|RULE|SAVE|SCHEMA|SELECT|SESSION_USER|SET|SETUSER|SHUTDOWN|SOME|STATISTICS|SYSTEM_USER|TABLE|TEXTSIZE|THEN|TO|TOP|TRAN|TRANSACTION|TRIGGER|TRUNCATE|TSEQUAL|UNION|UNIQUE|UPDATE|UPDATETEXT|USE|USER|VALUES|VARYING|VIEW|WAITFOR|WHEN|WHERE|WHILE|WITH|WRITETEXT)(?=[^\w-]|$)/i,null],[PR.PR_LITERAL,/^[+-]?(?:0x[\da-f]+|(?:(?:\.\d+|\d+(?:\.\d*)?)(?:e[+\-]?\d+)?))/i],[PR.PR_PLAIN,/^[a-z_][\w-]*/i],[PR.PR_PUNCTUATION,/^[^\w\t\n\r \xA0\"\'][^\w\t\n\r \xA0+\-\"\']*/]]),['sql'])
    -
    -
    -// VB extension
    -
    -PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[\t\n\r \xA0\u2028\u2029]+/,null,'	\n\r \xa0\u2028\u2029'],[PR.PR_STRING,/^(?:[\"\u201C\u201D](?:[^\"\u201C\u201D]|[\"\u201C\u201D]{2})(?:[\"\u201C\u201D]c|$)|[\"\u201C\u201D](?:[^\"\u201C\u201D]|[\"\u201C\u201D]{2})*(?:[\"\u201C\u201D]|$))/i,null,'\"\u201c\u201d'],[PR.PR_COMMENT,/^[\'\u2018\u2019][^\r\n\u2028\u2029]*/,null,'\'\u2018\u2019']],[[PR.PR_KEYWORD,/^(?:AddHandler|AddressOf|Alias|And|AndAlso|Ansi|As|Assembly|Auto|Boolean|ByRef|Byte|ByVal|Call|Case|Catch|CBool|CByte|CChar|CDate|CDbl|CDec|Char|CInt|Class|CLng|CObj|Const|CShort|CSng|CStr|CType|Date|Decimal|Declare|Default|Delegate|Dim|DirectCast|Do|Double|Each|Else|ElseIf|End|EndIf|Enum|Erase|Error|Event|Exit|Finally|For|Friend|Function|Get|GetType|GoSub|GoTo|Handles|If|Implements|Imports|In|Inherits|Integer|Interface|Is|Let|Lib|Like|Long|Loop|Me|Mod|Module|MustInherit|MustOverride|MyBase|MyClass|Namespace|New|Next|Not|NotInheritable|NotOverridable|Object|On|Option|Optional|Or|OrElse|Overloads|Overridable|Overrides|ParamArray|Preserve|Private|Property|Protected|Public|RaiseEvent|ReadOnly|ReDim|RemoveHandler|Resume|Return|Select|Set|Shadows|Shared|Short|Single|Static|Step|Stop|String|Structure|Sub|SyncLock|Then|Throw|To|Try|TypeOf|Unicode|Until|Variant|Wend|When|While|With|WithEvents|WriteOnly|Xor|EndIf|GoSub|Let|Variant|Wend)\b/i,null],[PR.PR_COMMENT,/^REM[^\r\n\u2028\u2029]*/i],[PR.PR_LITERAL,/^(?:True\b|False\b|Nothing\b|\d+(?:E[+\-]?\d+[FRD]?|[FRDSIL])?|(?:&H[0-9A-F]+|&O[0-7]+)[SIL]?|\d*\.\d+(?:E[+\-]?\d+)?[FRD]?|#\s+(?:\d+[\-\/]\d+[\-\/]\d+(?:\s+\d+:\d+(?::\d+)?(\s*(?:AM|PM))?)?|\d+:\d+(?::\d+)?(\s*(?:AM|PM))?)\s+#)/i],[PR.PR_PLAIN,/^(?:(?:[a-z]|_\w)\w*|\[(?:[a-z]|_\w)\w*\])/i],[PR.PR_PUNCTUATION,/^[^\w\t\n\r \"\'\[\]\xA0\u2018\u2019\u201C\u201D\u2028\u2029]+/],[PR.PR_PUNCTUATION,/^(?:\[|\])/]]),['vb','vbs'])
    diff --git a/docs/php-api/javascript/searchdata.js b/docs/php-api/javascript/searchdata.js
    deleted file mode 100644
    index c3c62f4b7..000000000
    --- a/docs/php-api/javascript/searchdata.js
    +++ /dev/null
    @@ -1,182 +0,0 @@
    -var indexSectionsWithContent = {
    -   "Variables": {
    -      "Symbols": false,
    -      "Numbers": false,
    -      "A": true,
    -      "B": true,
    -      "C": true,
    -      "D": true,
    -      "E": true,
    -      "F": true,
    -      "G": true,
    -      "H": true,
    -      "I": true,
    -      "J": false,
    -      "K": false,
    -      "L": true,
    -      "M": true,
    -      "N": true,
    -      "O": true,
    -      "P": true,
    -      "Q": false,
    -      "R": true,
    -      "S": true,
    -      "T": true,
    -      "U": true,
    -      "V": true,
    -      "W": true,
    -      "X": true,
    -      "Y": true,
    -      "Z": false
    -      },
    -   "Functions": {
    -      "Symbols": false,
    -      "Numbers": false,
    -      "A": true,
    -      "B": true,
    -      "C": true,
    -      "D": true,
    -      "E": true,
    -      "F": true,
    -      "G": true,
    -      "H": false,
    -      "I": true,
    -      "J": false,
    -      "K": false,
    -      "L": true,
    -      "M": true,
    -      "N": false,
    -      "O": true,
    -      "P": true,
    -      "Q": false,
    -      "R": true,
    -      "S": true,
    -      "T": true,
    -      "U": true,
    -      "V": true,
    -      "W": true,
    -      "X": false,
    -      "Y": false,
    -      "Z": false
    -      },
    -   "Interfaces": {
    -      "Symbols": false,
    -      "Numbers": false,
    -      "A": false,
    -      "B": false,
    -      "C": false,
    -      "D": false,
    -      "E": false,
    -      "F": false,
    -      "G": false,
    -      "H": false,
    -      "I": false,
    -      "J": false,
    -      "K": false,
    -      "L": false,
    -      "M": true,
    -      "N": false,
    -      "O": false,
    -      "P": false,
    -      "Q": false,
    -      "R": false,
    -      "S": false,
    -      "T": false,
    -      "U": false,
    -      "V": false,
    -      "W": false,
    -      "X": false,
    -      "Y": false,
    -      "Z": false
    -      },
    -   "General": {
    -      "Symbols": false,
    -      "Numbers": false,
    -      "A": true,
    -      "B": true,
    -      "C": true,
    -      "D": true,
    -      "E": true,
    -      "F": true,
    -      "G": true,
    -      "H": true,
    -      "I": true,
    -      "J": false,
    -      "K": false,
    -      "L": true,
    -      "M": true,
    -      "N": true,
    -      "O": true,
    -      "P": true,
    -      "Q": false,
    -      "R": true,
    -      "S": true,
    -      "T": true,
    -      "U": true,
    -      "V": true,
    -      "W": true,
    -      "X": true,
    -      "Y": true,
    -      "Z": false
    -      },
    -   "Classes": {
    -      "Symbols": false,
    -      "Numbers": false,
    -      "A": false,
    -      "B": false,
    -      "C": false,
    -      "D": false,
    -      "E": false,
    -      "F": false,
    -      "G": false,
    -      "H": false,
    -      "I": false,
    -      "J": false,
    -      "K": false,
    -      "L": false,
    -      "M": true,
    -      "N": false,
    -      "O": false,
    -      "P": false,
    -      "Q": false,
    -      "R": false,
    -      "S": false,
    -      "T": false,
    -      "U": false,
    -      "V": false,
    -      "W": false,
    -      "X": false,
    -      "Y": false,
    -      "Z": false
    -      },
    -   "Files": {
    -      "Symbols": false,
    -      "Numbers": false,
    -      "A": true,
    -      "B": false,
    -      "C": false,
    -      "D": false,
    -      "E": false,
    -      "F": false,
    -      "G": false,
    -      "H": false,
    -      "I": false,
    -      "J": false,
    -      "K": false,
    -      "L": false,
    -      "M": true,
    -      "N": false,
    -      "O": false,
    -      "P": false,
    -      "Q": false,
    -      "R": false,
    -      "S": false,
    -      "T": false,
    -      "U": false,
    -      "V": false,
    -      "W": false,
    -      "X": false,
    -      "Y": false,
    -      "Z": false
    -      }
    -   }
    \ No newline at end of file
    diff --git a/docs/php-api/search/ClassesM.html b/docs/php-api/search/ClassesM.html
    deleted file mode 100644
    index df92dc4d9..000000000
    --- a/docs/php-api/search/ClassesM.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_mxCell><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell" target=_parent class=ISymbol>mxCell</a></div></div><div class=SRResult id=SR_mxCellCodec><div class=IEntry><a href="../files/io/mxCellCodec-php.html#mxCellCodec" target=_parent class=ISymbol>mxCellCodec</a></div></div><div class=SRResult id=SR_mxCellPath><div class=IEntry><a href="../files/model/mxCellPath-php.html#mxCellPath" target=_parent class=ISymbol>mxCellPath</a></div></div><div class=SRResult id=SR_mxCellState><div class=IEntry><a href="../files/view/mxCellState-php.html#mxCellState" target=_parent class=ISymbol>mxCellState</a></div></div><div class=SRResult id=SR_mxCodec><div class=IEntry><a href="../files/io/mxCodec-php.html#mxCodec" target=_parent class=ISymbol>mxCodec</a></div></div><div class=SRResult id=SR_mxCodecRegistry><div class=IEntry><a href="../files/io/mxCodecRegistry-php.html#mxCodecRegistry" target=_parent class=ISymbol>mxCodecRegistry</a></div></div><div class=SRResult id=SR_mxConnectionConstraint><div class=IEntry><a href="../files/view/mxConnectionConstraint-php.html#mxConnectionConstraint" target=_parent class=ISymbol>mxConnectionConstraint</a></div></div><div class=SRResult id=SR_mxConstants><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants" target=_parent class=ISymbol>mxConstants</a></div></div><div class=SRResult id=SR_mxEdgeStyle><div class=IEntry><a href="../files/view/mxEdgeStyle-php.html#mxEdgeStyle" target=_parent class=ISymbol>mxEdgeStyle</a></div></div><div class=SRResult id=SR_mxElbowConnector><div class=IEntry><a href="../files/view/mxEdgeStyle-php.html#mxElbowConnector" target=_parent class=ISymbol>mxElbowConnector</a></div></div><div class=SRResult id=SR_mxEllipsePerimeter><div class=IEntry><a href="../files/view/mxPerimeter-php.html#mxEllipsePerimeter" target=_parent class=ISymbol>mxEllipsePerimeter</a></div></div><div class=SRResult id=SR_mxEntityRelation><div class=IEntry><a href="../files/view/mxEdgeStyle-php.html#mxEntityRelation" target=_parent class=ISymbol>mxEntityRelation</a></div></div><div class=SRResult id=SR_mxEvent><div class=IEntry><a href="../files/util/mxEvent-php.html#mxEvent" target=_parent class=ISymbol>mxEvent</a></div></div><div class=SRResult id=SR_mxEventObject><div class=IEntry><a href="../files/util/mxEventObject-php.html#mxEventObject" target=_parent class=ISymbol>mxEventObject</a></div></div><div class=SRResult id=SR_mxEventSource><div class=IEntry><a href="../files/util/mxEventSource-php.html#mxEventSource" target=_parent class=ISymbol>mxEventSource</a></div></div><div class=SRResult id=SR_mxGdCanvas><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas" target=_parent class=ISymbol>mxGdCanvas</a></div></div><div class=SRResult id=SR_mxGeometry><div class=IEntry><a href="../files/model/mxGeometry-php.html#mxGeometry" target=_parent class=ISymbol>mxGeometry</a></div></div><div class=SRResult id=SR_mxGraph><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph" target=_parent class=ISymbol>mxGraph</a></div></div><div class=SRResult id=SR_mxGraphModel><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel" target=_parent class=ISymbol>mxGraphModel</a></div></div><div class=SRResult id=SR_mxGraphView><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView" target=_parent class=ISymbol>mxGraphView</a></div></div><div class=SRResult id=SR_mxGraphViewHtmlReader><div class=IEntry><a href="../files/reader/mxGraphViewHtmlReader-php.html#mxGraphViewHtmlReader" target=_parent class=ISymbol>mxGraphViewHtmlReader</a></div></div><div class=SRResult id=SR_mxGraphViewImageReader><div class=IEntry><a href="../files/reader/mxGraphViewImageReader-php.html#mxGraphViewImageReader" target=_parent class=ISymbol>mxGraphViewImageReader</a></div></div><div class=SRResult id=SR_mxHtmlCanvas><div class=IEntry><a href="../files/canvas/mxHtmlCanvas-php.html#mxHtmlCanvas" target=_parent class=ISymbol>mxHtmlCanvas</a></div></div><div class=SRResult id=SR_mxImageBundle><div class=IEntry><a href="../files/util/mxImageBundle-php.html#mxImageBundle" target=_parent class=ISymbol>mxImageBundle</a></div></div><div class=SRResult id=SR_mxLog><div class=IEntry><a href="../files/util/mxLog-php.html#mxLog" target=_parent class=ISymbol>mxLog</a></div></div><div class=SRResult id=SR_mxLoop><div class=IEntry><a href="../files/view/mxEdgeStyle-php.html#mxLoop" target=_parent class=ISymbol>mxLoop</a></div></div><div class=SRResult id=SR_mxModelCodec><div class=IEntry><a href="../files/io/mxModelCodec-php.html#mxModelCodec" target=_parent class=ISymbol>mxModelCodec</a></div></div><div class=SRResult id=SR_mxObjectCodec><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec" target=_parent class=ISymbol>mxObjectCodec</a></div></div><div class=SRResult id=SR_mxPerimeter><div class=IEntry><a href="../files/view/mxPerimeter-php.html#mxPerimeter" target=_parent class=ISymbol>mxPerimeter</a></div></div><div class=SRResult id=SR_mxPoint><div class=IEntry><a href="../files/util/mxPoint-php.html#mxPoint" target=_parent class=ISymbol>mxPoint</a></div></div><div class=SRResult id=SR_mxRectangle><div class=IEntry><a href="../files/util/mxRectangle-php.html#mxRectangle" target=_parent class=ISymbol>mxRectangle</a></div></div><div class=SRResult id=SR_mxRectanglePerimeter><div class=IEntry><a href="../files/view/mxPerimeter-php.html#mxRectanglePerimeter" target=_parent class=ISymbol>mxRectanglePerimeter</a></div></div><div class=SRResult id=SR_mxRhombusPerimeter><div class=IEntry><a href="../files/view/mxPerimeter-php.html#mxRhombusPerimeter" target=_parent class=ISymbol>mxRhombusPerimeter</a></div></div><div class=SRResult id=SR_mxSideToSide><div class=IEntry><a href="../files/view/mxEdgeStyle-php.html#mxSideToSide" target=_parent class=ISymbol>mxSideToSide</a></div></div><div class=SRResult id=SR_mxStyleRegistry><div class=IEntry><a href="../files/view/mxStyleRegistry-php.html#mxStyleRegistry" target=_parent class=ISymbol>mxStyleRegistry</a></div></div><div class=SRResult id=SR_mxStylesheet><div class=IEntry><a href="../files/view/mxStylesheet-php.html#mxStylesheet" target=_parent class=ISymbol>mxStylesheet</a></div></div><div class=SRResult id=SR_mxStylesheetCodec><div class=IEntry><a href="../files/io/mxStylesheetCodec-php.html#mxStylesheetCodec" target=_parent class=ISymbol>mxStylesheetCodec</a></div></div><div class=SRResult id=SR_mxTopToBottom><div class=IEntry><a href="../files/view/mxEdgeStyle-php.html#mxTopToBottom" target=_parent class=ISymbol>mxTopToBottom</a></div></div><div class=SRResult id=SR_mxTrianglePerimeter><div class=IEntry><a href="../files/view/mxPerimeter-php.html#mxTrianglePerimeter" target=_parent class=ISymbol>mxTrianglePerimeter</a></div></div><div class=SRResult id=SR_mxUtils><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils" target=_parent class=ISymbol>mxUtils</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/FilesA.html b/docs/php-api/search/FilesA.html
    deleted file mode 100644
    index 3c0797828..000000000
    --- a/docs/php-api/search/FilesA.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_API_spcSpecification><div class=IEntry><a href="../files/index-txt.html#API_Specification" target=_parent class=ISymbol>API Specification</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/FilesM.html b/docs/php-api/search/FilesM.html
    deleted file mode 100644
    index 8c5fc49f2..000000000
    --- a/docs/php-api/search/FilesM.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_mxGdCanvas_perphp><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.php" target=_parent class=ISymbol>mxGdCanvas.php</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/FunctionsA.html b/docs/php-api/search/FunctionsA.html
    deleted file mode 100644
    index 5600818af..000000000
    --- a/docs/php-api/search/FunctionsA.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_add><div class=IEntry><a href="javascript:searchResults.Toggle('SR_add')" class=ISymbol>add</a><div class=ISubIndex><a href="../files/model/mxGraphModel-php.html#mxGraphModel.add" target=_parent class=IParent>mxGraphModel</a><a href="../files/util/mxRectangle-php.html#mxRectangle.add" target=_parent class=IParent>mxRectangle</a></div></div></div><div class=SRResult id=SR_addAlias><div class=IEntry><a href="../files/io/mxCodecRegistry-php.html#mxCodecRegistry.addAlias" target=_parent class=ISymbol>addAlias</a>, <span class=IParent>mxCodecRegistry</span></div></div><div class=SRResult id=SR_addBundle><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.addBundle" target=_parent class=ISymbol>addBundle</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_addElement><div class=IEntry><a href="../files/io/mxCodec-php.html#mxCodec.addElement" target=_parent class=ISymbol>addElement</a>, <span class=IParent>mxCodec</span></div></div><div class=SRResult id=SR_addListener><div class=IEntry><a href="../files/util/mxEventSource-php.html#mxEventSource.addListener" target=_parent class=ISymbol>addListener</a>, <span class=IParent>mxEventSource</span></div></div><div class=SRResult id=SR_addLogfile><div class=IEntry><a href="../files/util/mxLog-php.html#mxLog.addLogfile" target=_parent class=ISymbol>addLogfile</a>, <span class=IParent>mxLog</span></div></div><div class=SRResult id=SR_addObjectValue><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.addObjectValue" target=_parent class=ISymbol>addObjectValue</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_addStylename><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.addStylename" target=_parent class=ISymbol>addStylename</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_afterDecode><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.afterDecode" target=_parent class=ISymbol>afterDecode</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_afterEncode><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.afterEncode" target=_parent class=ISymbol>afterEncode</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_apply><div class=IEntry><a href="javascript:searchResults.Toggle('SR_apply')" class=ISymbol>apply</a><div class=ISubIndex><a href="../files/view/mxEdgeStyle-php.html#mxEdgeStyleFunction.apply" target=_parent class=IParent>mxEdgeStyleFunction</a><a href="../files/view/mxPerimeter-php.html#mxPerimeterFunction.apply" target=_parent class=IParent>mxPerimeterFunction</a></div></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/FunctionsB.html b/docs/php-api/search/FunctionsB.html
    deleted file mode 100644
    index f452276a1..000000000
    --- a/docs/php-api/search/FunctionsB.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_beforeDecode><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.beforeDecode" target=_parent class=ISymbol>beforeDecode</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_beforeEncode><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.beforeEncode" target=_parent class=ISymbol>beforeEncode</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_beginUpdate><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.beginUpdate" target=_parent class=ISymbol>beginUpdate</a>, <span class=IParent>mxGraphModel</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/FunctionsC.html b/docs/php-api/search/FunctionsC.html
    deleted file mode 100644
    index 413c85b0b..000000000
    --- a/docs/php-api/search/FunctionsC.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_cellAdded><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.cellAdded" target=_parent class=ISymbol>cellAdded</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_cellCloned><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.cellCloned" target=_parent class=ISymbol>cellCloned</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_cellRemoved><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.cellRemoved" target=_parent class=ISymbol>cellRemoved</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_clear><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.clear" target=_parent class=ISymbol>clear</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_cloneCell><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.cloneCell" target=_parent class=ISymbol>cloneCell</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_cloneCellImpl><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.cloneCellImpl" target=_parent class=ISymbol>cloneCellImpl</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_cloneCells><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.cloneCells" target=_parent class=ISymbol>cloneCells</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_cloneTemplate><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.cloneTemplate" target=_parent class=ISymbol>cloneTemplate</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_close><div class=IEntry><a href="../files/util/mxLog-php.html#mxLog.close" target=_parent class=ISymbol>close</a>, <span class=IParent>mxLog</span></div></div><div class=SRResult id=SR_consume><div class=IEntry><a href="../files/util/mxEventObject-php.html#mxEventObject.consume" target=_parent class=ISymbol>consume</a>, <span class=IParent>mxEventObject</span></div></div><div class=SRResult id=SR_contains><div class=IEntry><a href="javascript:searchResults.Toggle('SR_contains')" class=ISymbol>contains</a><div class=ISubIndex><a href="../files/model/mxGraphModel-php.html#mxGraphModel.contains" target=_parent class=IParent>mxGraphModel</a><a href="../files/util/mxUtils-php.html#mxUtils.contains" target=_parent class=IParent>mxUtils</a></div></div></div><div class=SRResult id=SR_convert><div class=IEntry><a href="javascript:searchResults.Toggle('SR_convert')" class=ISymbol>convert</a><div class=ISubIndex><a href="../files/reader/mxGraphViewHtmlReader-php.html#mxGraphViewHtmlReader.convert" target=_parent class=IParent>mxGraphViewHtmlReader</a><a href="../files/reader/mxGraphViewImageReader-php.html#mxGraphViewImageReader.convert" target=_parent class=IParent>mxGraphViewImageReader</a></div></div></div><div class=SRResult id=SR_convertFile><div class=IEntry><a href="javascript:searchResults.Toggle('SR_convertFile')" class=ISymbol>convertFile</a><div class=ISubIndex><a href="../files/reader/mxGraphViewHtmlReader-php.html#mxGraphViewHtmlReader.convertFile" target=_parent class=IParent>mxGraphViewHtmlReader</a><a href="../files/reader/mxGraphViewImageReader-php.html#mxGraphViewImageReader.convertFile" target=_parent class=IParent>mxGraphViewImageReader</a></div></div></div><div class=SRResult id=SR_convertValueFromXml><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.convertValueFromXml" target=_parent class=ISymbol>convertValueFromXml</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_convertValueToString><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.convertValueToString" target=_parent class=ISymbol>convertValueToString</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_convertValueToXml><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.convertValueToXml" target=_parent class=ISymbol>convertValueToXml</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_copy><div class=IEntry><a href="javascript:searchResults.Toggle('SR_copy')" class=ISymbol>copy</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.copy" target=_parent class=IParent>mxCell</a><a href="../files/view/mxCellState-php.html#mxCellState.copy" target=_parent class=IParent>mxCellState</a><a href="../files/model/mxGeometry-php.html#mxGeometry.copy" target=_parent class=IParent>mxGeometry</a><a href="../files/util/mxPoint-php.html#mxPoint.copy" target=_parent class=IParent>mxPoint</a><a href="../files/util/mxRectangle-php.html#mxRectangle.copy" target=_parent class=IParent>mxRectangle</a></div></div></div><div class=SRResult id=SR_copyValue><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.copyValue" target=_parent class=ISymbol>copyValue</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_create><div class=IEntry><a href="../files/model/mxCellPath-php.html#mxCellPath.create" target=_parent class=ISymbol>create</a>, <span class=IParent>mxCellPath</span></div></div><div class=SRResult id=SR_createCanvas><div class=IEntry><a href="javascript:searchResults.Toggle('SR_createCanvas')" class=ISymbol>createCanvas</a><div class=ISubIndex><a href="../files/reader/mxGraphViewHtmlReader-php.html#mxGraphViewHtmlReader.createCanvas" target=_parent class=IParent>mxGraphViewHtmlReader</a><a href="../files/reader/mxGraphViewImageReader-php.html#mxGraphViewImageReader.createCanvas" target=_parent class=IParent>mxGraphViewImageReader</a></div></div></div><div class=SRResult id=SR_createDefaultEdgeStyle><div class=IEntry><a href="../files/view/mxStylesheet-php.html#mxStylesheet.createDefaultEdgeStyle" target=_parent class=ISymbol>createDefaultEdgeStyle</a>, <span class=IParent>mxStylesheet</span></div></div><div class=SRResult id=SR_createDefaultVertexStyle><div class=IEntry><a href="../files/view/mxStylesheet-php.html#mxStylesheet.createDefaultVertexStyle" target=_parent class=ISymbol>createDefaultVertexStyle</a>, <span class=IParent>mxStylesheet</span></div></div><div class=SRResult id=SR_createEdge><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.createEdge" target=_parent class=ISymbol>createEdge</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_createGraphView><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.createGraphView" target=_parent class=ISymbol>createGraphView</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_createId><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.createId" target=_parent class=ISymbol>createId</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_createImage><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.createImage" target=_parent class=ISymbol>createImage</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_createRoot><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.createRoot" target=_parent class=ISymbol>createRoot</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_createState><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.createState" target=_parent class=ISymbol>createState</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_createStylesheet><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.createStylesheet" target=_parent class=ISymbol>createStylesheet</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_createVertex><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.createVertex" target=_parent class=ISymbol>createVertex</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_createXmlDocument><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.createXmlDocument" target=_parent class=ISymbol>createXmlDocument</a>, <span class=IParent>mxUtils</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/FunctionsD.html b/docs/php-api/search/FunctionsD.html
    deleted file mode 100644
    index eab094067..000000000
    --- a/docs/php-api/search/FunctionsD.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_debug><div class=IEntry><a href="../files/util/mxLog-php.html#mxLog.debug" target=_parent class=ISymbol>debug</a>, <span class=IParent>mxLog</span></div></div><div class=SRResult id=SR_decode><div class=IEntry><a href="javascript:searchResults.Toggle('SR_decode')" class=ISymbol>decode</a><div class=ISubIndex><a href="../files/io/mxCodec-php.html#mxCodec.decode" target=_parent class=IParent>mxCodec</a><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.decode" target=_parent class=IParent>mxObjectCodec</a></div></div></div><div class=SRResult id=SR_decodeAttribute><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.decodeAttribute" target=_parent class=ISymbol>decodeAttribute</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_decodeAttributes><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.decodeAttributes" target=_parent class=ISymbol>decodeAttributes</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_decodeCell><div class=IEntry><a href="../files/io/mxCodec-php.html#mxCodec.decodeCell" target=_parent class=ISymbol>decodeCell</a>, <span class=IParent>mxCodec</span></div></div><div class=SRResult id=SR_decodeChild><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.decodeChild" target=_parent class=ISymbol>decodeChild</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_decodeChildren><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.decodeChildren" target=_parent class=ISymbol>decodeChildren</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_decodeNode><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.decodeNode" target=_parent class=ISymbol>decodeNode</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_destroy><div class=IEntry><a href="javascript:searchResults.Toggle('SR_destroy')" class=ISymbol>destroy</a><div class=ISubIndex><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.destroy" target=_parent class=IParent>mxGdCanvas</a><a href="../files/reader/mxGraphViewImageReader-php.html#mxGraphViewImageReader.destroy" target=_parent class=IParent>mxGraphViewImageReader</a><a href="../files/canvas/mxHtmlCanvas-php.html#mxHtmlCanvas.destroy" target=_parent class=IParent>mxHtmlCanvas</a></div></div></div><div class=SRResult id=SR_drawActor><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.drawActor" target=_parent class=ISymbol>drawActor</a>, <span class=IParent>mxGdCanvas</span></div></div><div class=SRResult id=SR_drawCell><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.drawCell" target=_parent class=ISymbol>drawCell</a>, <span class=IParent>mxGdCanvas</span></div></div><div class=SRResult id=SR_drawCloud><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.drawCloud" target=_parent class=ISymbol>drawCloud</a>, <span class=IParent>mxGdCanvas</span></div></div><div class=SRResult id=SR_drawCylinder><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.drawCylinder" target=_parent class=ISymbol>drawCylinder</a>, <span class=IParent>mxGdCanvas</span></div></div><div class=SRResult id=SR_drawFixedTextLine><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.drawFixedTextLine" target=_parent class=ISymbol>drawFixedTextLine</a>, <span class=IParent>mxGdCanvas</span></div></div><div class=SRResult id=SR_drawGraph><div class=IEntry><a href="javascript:searchResults.Toggle('SR_drawGraph')" class=ISymbol>drawGraph</a><div class=ISubIndex><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.drawGraph" target=_parent class=IParent>mxGdCanvas</a><a href="../files/view/mxGraph-php.html#mxGraph.drawGraph" target=_parent class=IParent>mxGraph</a><a href="../files/canvas/mxHtmlCanvas-php.html#mxHtmlCanvas.drawGraph" target=_parent class=IParent>mxHtmlCanvas</a></div></div></div><div class=SRResult id=SR_drawHexagon><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.drawHexagon" target=_parent class=ISymbol>drawHexagon</a>, <span class=IParent>mxGdCanvas</span></div></div><div class=SRResult id=SR_drawImage><div class=IEntry><a href="javascript:searchResults.Toggle('SR_drawImage')" class=ISymbol>drawImage</a><div class=ISubIndex><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.drawImage" target=_parent class=IParent>mxGdCanvas</a><a href="../files/canvas/mxHtmlCanvas-php.html#mxHtmlCanvas.drawImage" target=_parent class=IParent>mxHtmlCanvas</a></div></div></div><div class=SRResult id=SR_drawLabel><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.drawLabel" target=_parent class=ISymbol>drawLabel</a>, <span class=IParent>mxGdCanvas</span></div></div><div class=SRResult id=SR_drawLine><div class=IEntry><a href="javascript:searchResults.Toggle('SR_drawLine')" class=ISymbol>drawLine</a><div class=ISubIndex><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.drawLine" target=_parent class=IParent>mxGdCanvas</a><a href="../files/canvas/mxHtmlCanvas-php.html#mxHtmlCanvas.drawLine" target=_parent class=IParent>mxHtmlCanvas</a></div></div></div><div class=SRResult id=SR_drawMarker><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.drawMarker" target=_parent class=ISymbol>drawMarker</a>, <span class=IParent>mxGdCanvas</span></div></div><div class=SRResult id=SR_drawOval><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.drawOval" target=_parent class=ISymbol>drawOval</a>, <span class=IParent>mxGdCanvas</span></div></div><div class=SRResult id=SR_drawPolygon><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.drawPolygon" target=_parent class=ISymbol>drawPolygon</a>, <span class=IParent>mxGdCanvas</span></div></div><div class=SRResult id=SR_drawRect><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.drawRect" target=_parent class=ISymbol>drawRect</a>, <span class=IParent>mxGdCanvas</span></div></div><div class=SRResult id=SR_drawRhombus><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.drawRhombus" target=_parent class=ISymbol>drawRhombus</a>, <span class=IParent>mxGdCanvas</span></div></div><div class=SRResult id=SR_drawShape><div class=IEntry><a href="javascript:searchResults.Toggle('SR_drawShape')" class=ISymbol>drawShape</a><div class=ISubIndex><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.drawShape" target=_parent class=IParent>mxGdCanvas</a><a href="../files/canvas/mxHtmlCanvas-php.html#mxHtmlCanvas.drawShape" target=_parent class=IParent>mxHtmlCanvas</a></div></div></div><div class=SRResult id=SR_drawString><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.drawString" target=_parent class=ISymbol>drawString</a>, <span class=IParent>mxGdCanvas</span></div></div><div class=SRResult id=SR_drawText><div class=IEntry><a href="javascript:searchResults.Toggle('SR_drawText')" class=ISymbol>drawText</a><div class=ISubIndex><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.drawText" target=_parent class=IParent>mxGdCanvas</a><a href="../files/canvas/mxHtmlCanvas-php.html#mxHtmlCanvas.drawText" target=_parent class=IParent>mxHtmlCanvas</a></div></div></div><div class=SRResult id=SR_drawTriangle><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.drawTriangle" target=_parent class=ISymbol>drawTriangle</a>, <span class=IParent>mxGdCanvas</span></div></div><div class=SRResult id=SR_drawTtfText><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.drawTtfText" target=_parent class=ISymbol>drawTtfText</a>, <span class=IParent>mxGdCanvas</span></div></div><div class=SRResult id=SR_drawTtxTextLine><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.drawTtxTextLine" target=_parent class=ISymbol>drawTtxTextLine</a>, <span class=IParent>mxGdCanvas</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/FunctionsE.html b/docs/php-api/search/FunctionsE.html
    deleted file mode 100644
    index 49b4e8dbb..000000000
    --- a/docs/php-api/search/FunctionsE.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_encode><div class=IEntry><a href="javascript:searchResults.Toggle('SR_encode')" class=ISymbol>encode</a><div class=ISubIndex><a href="../files/io/mxCodec-php.html#mxCodec.encode" target=_parent class=IParent>mxCodec</a><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.encode" target=_parent class=IParent>mxObjectCodec</a></div></div></div><div class=SRResult id=SR_encodeCell><div class=IEntry><a href="../files/io/mxCodec-php.html#mxCodec.encodeCell" target=_parent class=ISymbol>encodeCell</a>, <span class=IParent>mxCodec</span></div></div><div class=SRResult id=SR_encodeImage><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.encodeImage" target=_parent class=ISymbol>encodeImage</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_encodeObject><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.encodeObject" target=_parent class=ISymbol>encodeObject</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_encodeValue><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.encodeValue" target=_parent class=ISymbol>encodeValue</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_endElement><div class=IEntry><a href="../files/reader/mxGraphViewImageReader-php.html#mxGraphViewImageReader.endElement" target=_parent class=ISymbol>endElement</a>, <span class=IParent>mxGraphViewImageReader</span></div></div><div class=SRResult id=SR_endUpdate><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.endUpdate" target=_parent class=ISymbol>endUpdate</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_enter><div class=IEntry><a href="../files/util/mxLog-php.html#mxLog.enter" target=_parent class=ISymbol>enter</a>, <span class=IParent>mxLog</span></div></div><div class=SRResult id=SR_equals><div class=IEntry><a href="javascript:searchResults.Toggle('SR_equals')" class=ISymbol>equals</a><div class=ISubIndex><a href="../files/util/mxPoint-php.html#mxPoint.equals" target=_parent class=IParent>mxPoint</a><a href="../files/util/mxRectangle-php.html#mxRectangle.equals" target=_parent class=IParent>mxRectangle</a></div></div></div><div class=SRResult id=SR_error><div class=IEntry><a href="../files/util/mxLog-php.html#mxLog.error" target=_parent class=ISymbol>error</a>, <span class=IParent>mxLog</span></div></div><div class=SRResult id=SR_evaluate><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.evaluate" target=_parent class=ISymbol>evaluate</a>, <span class=IParent>mxUtils</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/FunctionsF.html b/docs/php-api/search/FunctionsF.html
    deleted file mode 100644
    index fec71c077..000000000
    --- a/docs/php-api/search/FunctionsF.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_findNode><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.findNode" target=_parent class=ISymbol>findNode</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_findTreeRoots><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.findTreeRoots" target=_parent class=ISymbol>findTreeRoots</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_fine><div class=IEntry><a href="../files/util/mxLog-php.html#mxLog.fine" target=_parent class=ISymbol>fine</a>, <span class=IParent>mxLog</span></div></div><div class=SRResult id=SR_fireEvent><div class=IEntry><a href="../files/util/mxEventSource-php.html#mxEventSource.fireEvent" target=_parent class=ISymbol>fireEvent</a>, <span class=IParent>mxEventSource</span></div></div><div class=SRResult id=SR_flipImage><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.flipImage" target=_parent class=ISymbol>flipImage</a>, <span class=IParent>mxUtils</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/FunctionsG.html b/docs/php-api/search/FunctionsG.html
    deleted file mode 100644
    index f2b87b1b2..000000000
    --- a/docs/php-api/search/FunctionsG.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_getAttribute><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.getAttribute" target=_parent class=ISymbol>getAttribute</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_getAttributeName><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.getAttributeName" target=_parent class=ISymbol>getAttributeName</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_getBoundingBox><div class=IEntry><a href="javascript:searchResults.Toggle('SR_getBoundingBox')" class=ISymbol>getBoundingBox</a><div class=ISubIndex><a href="../files/view/mxGraph-php.html#mxGraph.getBoundingBox" target=_parent class=IParent>mxGraph</a><a href="../files/view/mxGraphView-php.html#mxGraphView.getBoundingBox" target=_parent class=IParent>mxGraphView</a><a href="../files/util/mxUtils-php.html#mxUtils.getBoundingBox" target=_parent class=IParent>mxUtils</a></div></div></div><div class=SRResult id=SR_getBounds><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.getBounds" target=_parent class=ISymbol>getBounds</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_getBoundsForCells><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.getBoundsForCells" target=_parent class=ISymbol>getBoundsForCells</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_getCellBounds><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.getCellBounds" target=_parent class=ISymbol>getCellBounds</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_getCellGeometry><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.getCellGeometry" target=_parent class=ISymbol>getCellGeometry</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_getCells><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.getCells" target=_parent class=ISymbol>getCells</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_getCellStyle><div class=IEntry><a href="javascript:searchResults.Toggle('SR_getCellStyle')" class=ISymbol>getCellStyle</a><div class=ISubIndex><a href="../files/view/mxGraph-php.html#mxGraph.getCellStyle" target=_parent class=IParent>mxGraph</a><a href="../files/view/mxStylesheet-php.html#mxStylesheet.getCellStyle" target=_parent class=IParent>mxStylesheet</a></div></div></div><div class=SRResult id=SR_getCenterX><div class=IEntry><a href="../files/util/mxRectangle-php.html#mxRectangle.getCenterX" target=_parent class=ISymbol>getCenterX</a>, <span class=IParent>mxRectangle</span></div></div><div class=SRResult id=SR_getCenterY><div class=IEntry><a href="../files/util/mxRectangle-php.html#mxRectangle.getCenterY" target=_parent class=ISymbol>getCenterY</a>, <span class=IParent>mxRectangle</span></div></div><div class=SRResult id=SR_getChildAt><div class=IEntry><a href="javascript:searchResults.Toggle('SR_getChildAt')" class=ISymbol>getChildAt</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.getChildAt" target=_parent class=IParent>mxCell</a><a href="../files/model/mxGraphModel-php.html#mxGraphModel.getChildAt" target=_parent class=IParent>mxGraphModel</a></div></div></div><div class=SRResult id=SR_getChildCount><div class=IEntry><a href="javascript:searchResults.Toggle('SR_getChildCount')" class=ISymbol>getChildCount</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.getChildCount" target=_parent class=IParent>mxCell</a><a href="../files/model/mxGraphModel-php.html#mxGraphModel.getChildCount" target=_parent class=IParent>mxGraphModel</a></div></div></div><div class=SRResult id=SR_getChildOffsetForCell><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.getChildOffsetForCell" target=_parent class=ISymbol>getChildOffsetForCell</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_getCodec><div class=IEntry><a href="../files/io/mxCodecRegistry-php.html#mxCodecRegistry.getCodec" target=_parent class=ISymbol>getCodec</a>, <span class=IParent>mxCodecRegistry</span></div></div><div class=SRResult id=SR_getColor><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.getColor" target=_parent class=ISymbol>getColor</a>, <span class=IParent>mxGdCanvas</span></div></div><div class=SRResult id=SR_getConnectionConstraint><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.getConnectionConstraint" target=_parent class=ISymbol>getConnectionConstraint</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_getConnectionPoint><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.getConnectionPoint" target=_parent class=ISymbol>getConnectionPoint</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_getDefaultEdgeStyle><div class=IEntry><a href="../files/view/mxStylesheet-php.html#mxStylesheet.getDefaultEdgeStyle" target=_parent class=ISymbol>getDefaultEdgeStyle</a>, <span class=IParent>mxStylesheet</span></div></div><div class=SRResult id=SR_getDefaultParent><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.getDefaultParent" target=_parent class=ISymbol>getDefaultParent</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_getDefaultVertexStyle><div class=IEntry><a href="../files/view/mxStylesheet-php.html#mxStylesheet.getDefaultVertexStyle" target=_parent class=ISymbol>getDefaultVertexStyle</a>, <span class=IParent>mxStylesheet</span></div></div><div class=SRResult id=SR_getDirectedEdgeCount><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.getDirectedEdgeCount" target=_parent class=ISymbol>getDirectedEdgeCount</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_getEdgeAt><div class=IEntry><a href="javascript:searchResults.Toggle('SR_getEdgeAt')" class=ISymbol>getEdgeAt</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.getEdgeAt" target=_parent class=IParent>mxCell</a><a href="../files/model/mxGraphModel-php.html#mxGraphModel.getEdgeAt" target=_parent class=IParent>mxGraphModel</a></div></div></div><div class=SRResult id=SR_getEdgeCount><div class=IEntry><a href="javascript:searchResults.Toggle('SR_getEdgeCount')" class=ISymbol>getEdgeCount</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.getEdgeCount" target=_parent class=IParent>mxCell</a><a href="../files/model/mxGraphModel-php.html#mxGraphModel.getEdgeCount" target=_parent class=IParent>mxGraphModel</a></div></div></div><div class=SRResult id=SR_getEdgeIndex><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.getEdgeIndex" target=_parent class=ISymbol>getEdgeIndex</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_getEdges><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.getEdges" target=_parent class=ISymbol>getEdges</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_getEdgeStyle><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.getEdgeStyle" target=_parent class=ISymbol>getEdgeStyle</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_getElementById><div class=IEntry><a href="../files/io/mxCodec-php.html#mxCodec.getElementById" target=_parent class=ISymbol>getElementById</a>, <span class=IParent>mxCodec</span></div></div><div class=SRResult id=SR_getFieldName><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.getFieldName" target=_parent class=ISymbol>getFieldName</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_getFieldTemplate><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.getFieldTemplate" target=_parent class=ISymbol>getFieldTemplate</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_getFixedFontSize><div class=IEntry><a href="javascript:searchResults.Toggle('SR_getFixedFontSize')" class=ISymbol>getFixedFontSize</a><div class=ISubIndex><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.getFixedFontSize" target=_parent class=IParent>mxGdCanvas</a><a href="../files/util/mxUtils-php.html#mxUtils.getFixedFontSize" target=_parent class=IParent>mxUtils</a></div></div></div><div class=SRResult id=SR_getGeometry><div class=IEntry><a href="javascript:searchResults.Toggle('SR_getGeometry')" class=ISymbol>getGeometry</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.getGeometry" target=_parent class=IParent>mxCell</a><a href="../files/model/mxGraphModel-php.html#mxGraphModel.getGeometry" target=_parent class=IParent>mxGraphModel</a></div></div></div><div class=SRResult id=SR_getGraphBounds><div class=IEntry><a href="javascript:searchResults.Toggle('SR_getGraphBounds')" class=ISymbol>getGraphBounds</a><div class=ISubIndex><a href="../files/view/mxGraph-php.html#mxGraph.getGraphBounds" target=_parent class=IParent>mxGraph</a><a href="../files/view/mxGraphView-php.html#mxGraphView.getGraphBounds" target=_parent class=IParent>mxGraphView</a></div></div></div><div class=SRResult id=SR_getHashCode><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.getHashCode" target=_parent class=ISymbol>getHashCode</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_getHtml><div class=IEntry><a href="../files/canvas/mxHtmlCanvas-php.html#mxHtmlCanvas.getHtml" target=_parent class=ISymbol>getHtml</a>, <span class=IParent>mxHtmlCanvas</span></div></div><div class=SRResult id=SR_getId><div class=IEntry><a href="javascript:searchResults.Toggle('SR_getId')" class=ISymbol>getId</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.getId" target=_parent class=IParent>mxCell</a><a href="../files/io/mxCodec-php.html#mxCodec.getId" target=_parent class=IParent>mxCodec</a></div></div></div><div class=SRResult id=SR_getImage><div class=IEntry><a href="javascript:searchResults.Toggle('SR_getImage')" class=ISymbol>getImage</a><div class=ISubIndex><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.getImage" target=_parent class=IParent>mxGdCanvas</a><a href="../files/util/mxImageBundle-php.html#mxImageBundle.getImage" target=_parent class=IParent>mxImageBundle</a></div></div></div><div class=SRResult id=SR_getImageBundles><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.getImageBundles" target=_parent class=ISymbol>getImageBundles</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_getImageForStyle><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.getImageForStyle" target=_parent class=ISymbol>getImageForStyle</a>, <span class=IParent>mxGdCanvas</span></div></div><div class=SRResult id=SR_getImageFromBundles><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.getImageFromBundles" target=_parent class=ISymbol>getImageFromBundles</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_getImages><div class=IEntry><a href="../files/util/mxImageBundle-php.html#mxImageBundle.getImages" target=_parent class=ISymbol>getImages</a>, <span class=IParent>mxImageBundle</span></div></div><div class=SRResult id=SR_getIndex><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.getIndex" target=_parent class=ISymbol>getIndex</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_getInstanceForName><div class=IEntry><a href="../files/io/mxCodecRegistry-php.html#mxCodecRegistry.getInstanceForName" target=_parent class=ISymbol>getInstanceForName</a>, <span class=IParent>mxCodecRegistry</span></div></div><div class=SRResult id=SR_getLabel><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.getLabel" target=_parent class=ISymbol>getLabel</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_getLabelPaintBounds><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.getLabelPaintBounds" target=_parent class=ISymbol>getLabelPaintBounds</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_getLabelSize><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.getLabelSize" target=_parent class=ISymbol>getLabelSize</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_getModel><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.getModel" target=_parent class=ISymbol>getModel</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_getName><div class=IEntry><a href="javascript:searchResults.Toggle('SR_getName')" class=ISymbol>getName</a><div class=ISubIndex><a href="../files/io/mxCodecRegistry-php.html#mxCodecRegistry.getName" target=_parent class=IParent>mxCodecRegistry</a><a href="../files/util/mxEventObject-php.html#mxEventObject.getName" target=_parent class=IParent>mxEventObject</a><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.getName" target=_parent class=IParent>mxObjectCodec</a><a href="../files/view/mxStyleRegistry-php.html#mxStyleRegistry.getName" target=_parent class=IParent>mxStyleRegistry</a></div></div></div><div class=SRResult id=SR_getNearestCommonAncestor><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.getNearestCommonAncestor" target=_parent class=ISymbol>getNearestCommonAncestor</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_getNextPoint><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.getNextPoint" target=_parent class=ISymbol>getNextPoint</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_getNumber><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.getNumber" target=_parent class=ISymbol>getNumber</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_getObject><div class=IEntry><a href="../files/io/mxCodec-php.html#mxCodec.getObject" target=_parent class=ISymbol>getObject</a>, <span class=IParent>mxCodec</span></div></div><div class=SRResult id=SR_getOrigin><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.getOrigin" target=_parent class=ISymbol>getOrigin</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_getPaintBounds><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.getPaintBounds" target=_parent class=ISymbol>getPaintBounds</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_getParent><div class=IEntry><a href="javascript:searchResults.Toggle('SR_getParent')" class=ISymbol>getParent</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.getParent" target=_parent class=IParent>mxCell</a><a href="../files/model/mxGraphModel-php.html#mxGraphModel.getParent" target=_parent class=IParent>mxGraphModel</a></div></div></div><div class=SRResult id=SR_getParentPath><div class=IEntry><a href="../files/model/mxCellPath-php.html#mxCellPath.getParentPath" target=_parent class=ISymbol>getParentPath</a>, <span class=IParent>mxCellPath</span></div></div><div class=SRResult id=SR_getPerimeterBounds><div class=IEntry><a href="javascript:searchResults.Toggle('SR_getPerimeterBounds')" class=ISymbol>getPerimeterBounds</a><div class=ISubIndex><a href="../files/view/mxCellState-php.html#mxCellState.getPerimeterBounds" target=_parent class=IParent>mxCellState</a><a href="../files/view/mxGraphView-php.html#mxGraphView.getPerimeterBounds" target=_parent class=IParent>mxGraphView</a></div></div></div><div class=SRResult id=SR_getPerimeterFunction><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.getPerimeterFunction" target=_parent class=ISymbol>getPerimeterFunction</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_getPerimeterPoint><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.getPerimeterPoint" target=_parent class=ISymbol>getPerimeterPoint</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_getPoint><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.getPoint" target=_parent class=ISymbol>getPoint</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_getProperties><div class=IEntry><a href="../files/util/mxEventObject-php.html#mxEventObject.getProperties" target=_parent class=ISymbol>getProperties</a>, <span class=IParent>mxEventObject</span></div></div><div class=SRResult id=SR_getProperty><div class=IEntry><a href="../files/util/mxEventObject-php.html#mxEventObject.getProperty" target=_parent class=ISymbol>getProperty</a>, <span class=IParent>mxEventObject</span></div></div><div class=SRResult id=SR_getRoot><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.getRoot" target=_parent class=ISymbol>getRoot</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_getRotatedPoint><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.getRotatedPoint" target=_parent class=ISymbol>getRotatedPoint</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_getRoutingCenterX><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.getRoutingCenterX" target=_parent class=ISymbol>getRoutingCenterX</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_getRoutingCenterY><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.getRoutingCenterY" target=_parent class=ISymbol>getRoutingCenterY</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_getScaledLabelBounds><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.getScaledLabelBounds" target=_parent class=ISymbol>getScaledLabelBounds</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_getSizeForString><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.getSizeForString" target=_parent class=ISymbol>getSizeForString</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_getState><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.getState" target=_parent class=ISymbol>getState</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_getStates><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.getStates" target=_parent class=ISymbol>getStates</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_getStyle><div class=IEntry><a href="javascript:searchResults.Toggle('SR_getStyle')" class=ISymbol>getStyle</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.getStyle" target=_parent class=IParent>mxCell</a><a href="../files/model/mxGraphModel-php.html#mxGraphModel.getStyle" target=_parent class=IParent>mxGraphModel</a></div></div></div><div class=SRResult id=SR_getStylename><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.getStylename" target=_parent class=ISymbol>getStylename</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_getStylenames><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.getStylenames" target=_parent class=ISymbol>getStylenames</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_getStylesheet><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.getStylesheet" target=_parent class=ISymbol>getStylesheet</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_getTerminal><div class=IEntry><a href="javascript:searchResults.Toggle('SR_getTerminal')" class=ISymbol>getTerminal</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.getTerminal" target=_parent class=IParent>mxCell</a><a href="../files/model/mxGraphModel-php.html#mxGraphModel.getTerminal" target=_parent class=IParent>mxGraphModel</a></div></div></div><div class=SRResult id=SR_getTerminalPoint><div class=IEntry><a href="../files/model/mxGeometry-php.html#mxGeometry.getTerminalPoint" target=_parent class=ISymbol>getTerminalPoint</a>, <span class=IParent>mxGeometry</span></div></div><div class=SRResult id=SR_getTerminalPort><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.getTerminalPort" target=_parent class=ISymbol>getTerminalPort</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_getTrueTypeFont><div class=IEntry><a href="javascript:searchResults.Toggle('SR_getTrueTypeFont')" class=ISymbol>getTrueTypeFont</a><div class=ISubIndex><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.getTrueTypeFont" target=_parent class=IParent>mxGdCanvas</a><a href="../files/util/mxUtils-php.html#mxUtils.getTrueTypeFont" target=_parent class=IParent>mxUtils</a></div></div></div><div class=SRResult id=SR_getTrueTypeFontSize><div class=IEntry><a href="javascript:searchResults.Toggle('SR_getTrueTypeFontSize')" class=ISymbol>getTrueTypeFontSize</a><div class=ISubIndex><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.getTrueTypeFontSize" target=_parent class=IParent>mxGdCanvas</a><a href="../files/util/mxUtils-php.html#mxUtils.getTrueTypeFontSize" target=_parent class=IParent>mxUtils</a></div></div></div><div class=SRResult id=SR_getValue><div class=IEntry><a href="javascript:searchResults.Toggle('SR_getValue')" class=ISymbol>getValue</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.getValue" target=_parent class=IParent>mxCell</a><a href="../files/model/mxGraphModel-php.html#mxGraphModel.getValue" target=_parent class=IParent>mxGraphModel</a><a href="../files/view/mxStyleRegistry-php.html#mxStyleRegistry.getValue" target=_parent class=IParent>mxStyleRegistry</a><a href="../files/util/mxUtils-php.html#mxUtils.getValue" target=_parent class=IParent>mxUtils</a></div></div></div><div class=SRResult id=SR_getView><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.getView" target=_parent class=ISymbol>getView</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_getVisibleTerminal><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.getVisibleTerminal" target=_parent class=ISymbol>getVisibleTerminal</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_graphModelChanged><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.graphModelChanged" target=_parent class=ISymbol>graphModelChanged</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_grow><div class=IEntry><a href="../files/util/mxRectangle-php.html#mxRectangle.grow" target=_parent class=ISymbol>grow</a>, <span class=IParent>mxRectangle</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/FunctionsI.html b/docs/php-api/search/FunctionsI.html
    deleted file mode 100644
    index f2a8a29d3..000000000
    --- a/docs/php-api/search/FunctionsI.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_indexOf><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.indexOf" target=_parent class=ISymbol>indexOf</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_indexOfStylename><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.indexOfStylename" target=_parent class=ISymbol>indexOfStylename</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_info><div class=IEntry><a href="../files/util/mxLog-php.html#mxLog.info" target=_parent class=ISymbol>info</a>, <span class=IParent>mxLog</span></div></div><div class=SRResult id=SR_insert><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.insert" target=_parent class=ISymbol>insert</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_insertEdge><div class=IEntry><a href="javascript:searchResults.Toggle('SR_insertEdge')" class=ISymbol>insertEdge</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.insertEdge" target=_parent class=IParent>mxCell</a><a href="../files/view/mxGraph-php.html#mxGraph.insertEdge" target=_parent class=IParent>mxGraph</a></div></div></div><div class=SRResult id=SR_insertIntoGraph><div class=IEntry><a href="../files/io/mxCodec-php.html#mxCodec.insertIntoGraph" target=_parent class=ISymbol>insertIntoGraph</a>, <span class=IParent>mxCodec</span></div></div><div class=SRResult id=SR_insertVertex><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.insertVertex" target=_parent class=ISymbol>insertVertex</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_intersection><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.intersection" target=_parent class=ISymbol>intersection</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_invalidate><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.invalidate" target=_parent class=ISymbol>invalidate</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_isAncestor><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.isAncestor" target=_parent class=ISymbol>isAncestor</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_isCellCollapsed><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.isCellCollapsed" target=_parent class=ISymbol>isCellCollapsed</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_isCellVisible><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.isCellVisible" target=_parent class=ISymbol>isCellVisible</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_isCollapsed><div class=IEntry><a href="javascript:searchResults.Toggle('SR_isCollapsed')" class=ISymbol>isCollapsed</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.isCollapsed" target=_parent class=IParent>mxCell</a><a href="../files/model/mxGraphModel-php.html#mxGraphModel.isCollapsed" target=_parent class=IParent>mxGraphModel</a></div></div></div><div class=SRResult id=SR_isConnectable><div class=IEntry><a href="javascript:searchResults.Toggle('SR_isConnectable')" class=ISymbol>isConnectable</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.isConnectable" target=_parent class=IParent>mxCell</a><a href="../files/model/mxGraphModel-php.html#mxGraphModel.isConnectable" target=_parent class=IParent>mxGraphModel</a></div></div></div><div class=SRResult id=SR_isConsumed><div class=IEntry><a href="../files/util/mxEventObject-php.html#mxEventObject.isConsumed" target=_parent class=ISymbol>isConsumed</a>, <span class=IParent>mxEventObject</span></div></div><div class=SRResult id=SR_isEdge><div class=IEntry><a href="javascript:searchResults.Toggle('SR_isEdge')" class=ISymbol>isEdge</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.isEdge" target=_parent class=IParent>mxCell</a><a href="../files/model/mxGraphModel-php.html#mxGraphModel.isEdge" target=_parent class=IParent>mxGraphModel</a></div></div></div><div class=SRResult id=SR_isExcluded><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.isExcluded" target=_parent class=ISymbol>isExcluded</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_isNode><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.isNode" target=_parent class=ISymbol>isNode</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_isOrthogonal><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.isOrthogonal" target=_parent class=ISymbol>isOrthogonal</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_isReference><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.isReference" target=_parent class=ISymbol>isReference</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_isVertex><div class=IEntry><a href="javascript:searchResults.Toggle('SR_isVertex')" class=ISymbol>isVertex</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.isVertex" target=_parent class=IParent>mxCell</a><a href="../files/model/mxGraphModel-php.html#mxGraphModel.isVertex" target=_parent class=IParent>mxGraphModel</a></div></div></div><div class=SRResult id=SR_isVisible><div class=IEntry><a href="javascript:searchResults.Toggle('SR_isVisible')" class=ISymbol>isVisible</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.isVisible" target=_parent class=IParent>mxCell</a><a href="../files/model/mxGraphModel-php.html#mxGraphModel.isVisible" target=_parent class=IParent>mxGraphModel</a></div></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/FunctionsL.html b/docs/php-api/search/FunctionsL.html
    deleted file mode 100644
    index 725fd4b39..000000000
    --- a/docs/php-api/search/FunctionsL.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_leave><div class=IEntry><a href="../files/util/mxLog-php.html#mxLog.leave" target=_parent class=ISymbol>leave</a>, <span class=IParent>mxLog</span></div></div><div class=SRResult id=SR_loadImage><div class=IEntry><a href="javascript:searchResults.Toggle('SR_loadImage')" class=ISymbol>loadImage</a><div class=ISubIndex><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.loadImage" target=_parent class=IParent>mxGdCanvas</a><a href="../files/util/mxUtils-php.html#mxUtils.loadImage" target=_parent class=IParent>mxUtils</a></div></div></div><div class=SRResult id=SR_loadXmlDocument><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.loadXmlDocument" target=_parent class=ISymbol>loadXmlDocument</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_lookup><div class=IEntry><a href="../files/io/mxCodec-php.html#mxCodec.lookup" target=_parent class=ISymbol>lookup</a>, <span class=IParent>mxCodec</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/FunctionsM.html b/docs/php-api/search/FunctionsM.html
    deleted file mode 100644
    index 2bc963629..000000000
    --- a/docs/php-api/search/FunctionsM.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_mergeChildren><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.mergeChildren" target=_parent class=ISymbol>mergeChildren</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_mergeChildrenImpl><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.mergeChildrenImpl" target=_parent class=ISymbol>mergeChildrenImpl</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_mxCell><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.mxCell" target=_parent class=ISymbol>mxCell</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_mxCellState><div class=IEntry><a href="../files/view/mxCellState-php.html#mxCellState.mxCellState" target=_parent class=ISymbol>mxCellState</a>, <span class=IParent>mxCellState</span></div></div><div class=SRResult id=SR_mxConnectionConstraint><div class=IEntry><a href="../files/view/mxConnectionConstraint-php.html#mxConnectionConstraint.mxConnectionConstraint" target=_parent class=ISymbol>mxConnectionConstraint</a>, <span class=IParent>mxConnectionConstraint</span></div></div><div class=SRResult id=SR_mxEventObject><div class=IEntry><a href="../files/util/mxEventObject-php.html#mxEventObject.mxEventObject" target=_parent class=ISymbol>mxEventObject</a>, <span class=IParent>mxEventObject</span></div></div><div class=SRResult id=SR_mxGdCanvas><div class=IEntry><a href="javascript:searchResults.Toggle('SR_mxGdCanvas')" class=ISymbol>mxGdCanvas</a><div class=ISubIndex><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.mxGdCanvas" target=_parent class=IParent>mxGdCanvas</a><a href="../files/canvas/mxHtmlCanvas-php.html#mxHtmlCanvas.mxGdCanvas" target=_parent class=IParent>mxHtmlCanvas</a></div></div></div><div class=SRResult id=SR_mxGeometry><div class=IEntry><a href="../files/model/mxGeometry-php.html#mxGeometry.mxGeometry" target=_parent class=ISymbol>mxGeometry</a>, <span class=IParent>mxGeometry</span></div></div><div class=SRResult id=SR_mxGraphModel><div class=IEntry><a href="javascript:searchResults.Toggle('SR_mxGraphModel')" class=ISymbol>mxGraphModel</a><div class=ISubIndex><a href="../files/view/mxGraph-php.html#mxGraph.mxGraphModel" target=_parent class=IParent>mxGraph</a><a href="../files/model/mxGraphModel-php.html#mxGraphModel.mxGraphModel" target=_parent class=IParent>mxGraphModel</a></div></div></div><div class=SRResult id=SR_mxGraphView><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.mxGraphView" target=_parent class=ISymbol>mxGraphView</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_mxGraphViewHtmlReader><div class=IEntry><a href="javascript:searchResults.Toggle('SR_mxGraphViewHtmlReader')" class=ISymbol>mxGraphViewHtmlReader</a><div class=ISubIndex><a href="../files/io/mxCodec-php.html#mxCodec.mxGraphViewHtmlReader" target=_parent class=IParent>mxCodec</a><a href="../files/reader/mxGraphViewHtmlReader-php.html#mxGraphViewHtmlReader.mxGraphViewHtmlReader" target=_parent class=IParent>mxGraphViewHtmlReader</a></div></div></div><div class=SRResult id=SR_mxGraphViewImageReader><div class=IEntry><a href="../files/reader/mxGraphViewImageReader-php.html#mxGraphViewImageReader.mxGraphViewImageReader" target=_parent class=ISymbol>mxGraphViewImageReader</a>, <span class=IParent>mxGraphViewImageReader</span></div></div><div class=SRResult id=SR_mxImageBundle><div class=IEntry><a href="../files/util/mxImageBundle-php.html#mxImageBundle.mxImageBundle" target=_parent class=ISymbol>mxImageBundle</a>, <span class=IParent>mxImageBundle</span></div></div><div class=SRResult id=SR_mxObjectCodec><div class=IEntry><a href="javascript:searchResults.Toggle('SR_mxObjectCodec')" class=ISymbol>mxObjectCodec</a><div class=ISubIndex><a href="../files/io/mxCellCodec-php.html#mxCellCodec.mxObjectCodec" target=_parent class=IParent>mxCellCodec</a><a href="../files/io/mxModelCodec-php.html#mxModelCodec.mxObjectCodec" target=_parent class=IParent>mxModelCodec</a><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.mxObjectCodec" target=_parent class=IParent>mxObjectCodec</a><a href="../files/io/mxStylesheetCodec-php.html#mxStylesheetCodec.mxObjectCodec" target=_parent class=IParent>mxStylesheetCodec</a></div></div></div><div class=SRResult id=SR_mxPoint><div class=IEntry><a href="../files/util/mxPoint-php.html#mxPoint.mxPoint" target=_parent class=ISymbol>mxPoint</a>, <span class=IParent>mxPoint</span></div></div><div class=SRResult id=SR_mxRectangle><div class=IEntry><a href="../files/util/mxRectangle-php.html#mxRectangle.mxRectangle" target=_parent class=ISymbol>mxRectangle</a>, <span class=IParent>mxRectangle</span></div></div><div class=SRResult id=SR_mxStylesheet><div class=IEntry><a href="../files/view/mxStylesheet-php.html#mxStylesheet.mxStylesheet" target=_parent class=ISymbol>mxStylesheet</a>, <span class=IParent>mxStylesheet</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/FunctionsO.html b/docs/php-api/search/FunctionsO.html
    deleted file mode 100644
    index c750b844b..000000000
    --- a/docs/php-api/search/FunctionsO.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_offset><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.offset" target=_parent class=ISymbol>offset</a>, <span class=IParent>mxGdCanvas</span></div></div><div class=SRResult id=SR_out><div class=IEntry><a href="../files/canvas/mxHtmlCanvas-php.html#mxHtmlCanvas.out" target=_parent class=ISymbol>out</a>, <span class=IParent>mxHtmlCanvas</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/FunctionsP.html b/docs/php-api/search/FunctionsP.html
    deleted file mode 100644
    index 8566f7ac8..000000000
    --- a/docs/php-api/search/FunctionsP.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_paintCell><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.paintCell" target=_parent class=ISymbol>paintCell</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_paintState><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.paintState" target=_parent class=ISymbol>paintState</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_parsePoints><div class=IEntry><a href="../files/reader/mxGraphViewImageReader-php.html#mxGraphViewImageReader.parsePoints" target=_parent class=ISymbol>parsePoints</a>, <span class=IParent>mxGraphViewImageReader</span></div></div><div class=SRResult id=SR_parseState><div class=IEntry><a href="../files/reader/mxGraphViewImageReader-php.html#mxGraphViewImageReader.parseState" target=_parent class=ISymbol>parseState</a>, <span class=IParent>mxGraphViewImageReader</span></div></div><div class=SRResult id=SR_parseXml><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.parseXml" target=_parent class=ISymbol>parseXml</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_postProcessCellStyle><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.postProcessCellStyle" target=_parent class=ISymbol>postProcessCellStyle</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_processInclude><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.processInclude" target=_parent class=ISymbol>processInclude</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_putCellStyle><div class=IEntry><a href="../files/view/mxStylesheet-php.html#mxStylesheet.putCellStyle" target=_parent class=ISymbol>putCellStyle</a>, <span class=IParent>mxStylesheet</span></div></div><div class=SRResult id=SR_putDefaultEdgeStyle><div class=IEntry><a href="../files/view/mxStylesheet-php.html#mxStylesheet.putDefaultEdgeStyle" target=_parent class=ISymbol>putDefaultEdgeStyle</a>, <span class=IParent>mxStylesheet</span></div></div><div class=SRResult id=SR_putDefaultVertexStyle><div class=IEntry><a href="../files/view/mxStylesheet-php.html#mxStylesheet.putDefaultVertexStyle" target=_parent class=ISymbol>putDefaultVertexStyle</a>, <span class=IParent>mxStylesheet</span></div></div><div class=SRResult id=SR_putImage><div class=IEntry><a href="../files/util/mxImageBundle-php.html#mxImageBundle.putImage" target=_parent class=ISymbol>putImage</a>, <span class=IParent>mxImageBundle</span></div></div><div class=SRResult id=SR_putObject><div class=IEntry><a href="../files/io/mxCodec-php.html#mxCodec.putObject" target=_parent class=ISymbol>putObject</a>, <span class=IParent>mxCodec</span></div></div><div class=SRResult id=SR_putValue><div class=IEntry><a href="../files/view/mxStyleRegistry-php.html#mxStyleRegistry.putValue" target=_parent class=ISymbol>putValue</a>, <span class=IParent>mxStyleRegistry</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/FunctionsR.html b/docs/php-api/search/FunctionsR.html
    deleted file mode 100644
    index f67cacb6a..000000000
    --- a/docs/php-api/search/FunctionsR.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_read><div class=IEntry><a href="../files/reader/mxGraphViewImageReader-php.html#mxGraphViewImageReader.read" target=_parent class=ISymbol>read</a>, <span class=IParent>mxGraphViewImageReader</span></div></div><div class=SRResult id=SR_readFile><div class=IEntry><a href="javascript:searchResults.Toggle('SR_readFile')" class=ISymbol>readFile</a><div class=ISubIndex><a href="../files/reader/mxGraphViewImageReader-php.html#mxGraphViewImageReader.readFile" target=_parent class=IParent>mxGraphViewImageReader</a><a href="../files/util/mxUtils-php.html#mxUtils.readFile" target=_parent class=IParent>mxUtils</a></div></div></div><div class=SRResult id=SR_reference><div class=IEntry><a href="../files/io/mxCodec-php.html#mxCodec.reference" target=_parent class=ISymbol>reference</a>, <span class=IParent>mxCodec</span></div></div><div class=SRResult id=SR_register><div class=IEntry><a href="../files/io/mxCodecRegistry-php.html#mxCodecRegistry.register" target=_parent class=ISymbol>register</a>, <span class=IParent>mxCodecRegistry</span></div></div><div class=SRResult id=SR_remove><div class=IEntry><a href="javascript:searchResults.Toggle('SR_remove')" class=ISymbol>remove</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.remove" target=_parent class=IParent>mxCell</a><a href="../files/model/mxGraphModel-php.html#mxGraphModel.remove" target=_parent class=IParent>mxGraphModel</a></div></div></div><div class=SRResult id=SR_removeAllStylenames><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.removeAllStylenames" target=_parent class=ISymbol>removeAllStylenames</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_removeEdge><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.removeEdge" target=_parent class=ISymbol>removeEdge</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_removeFromParent><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.removeFromParent" target=_parent class=ISymbol>removeFromParent</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_removeFromTerminal><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.removeFromTerminal" target=_parent class=ISymbol>removeFromTerminal</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_removeImageBundle><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.removeImageBundle" target=_parent class=ISymbol>removeImageBundle</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_removeState><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.removeState" target=_parent class=ISymbol>removeState</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_removeStylename><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.removeStylename" target=_parent class=ISymbol>removeStylename</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_resolve><div class=IEntry><a href="../files/model/mxCellPath-php.html#mxCellPath.resolve" target=_parent class=ISymbol>resolve</a>, <span class=IParent>mxCellPath</span></div></div><div class=SRResult id=SR_restoreClone><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.restoreClone" target=_parent class=ISymbol>restoreClone</a>, <span class=IParent>mxGraphModel</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/FunctionsS.html b/docs/php-api/search/FunctionsS.html
    deleted file mode 100644
    index 4ef65985e..000000000
    --- a/docs/php-api/search/FunctionsS.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_setAttribute><div class=IEntry><a href="javascript:searchResults.Toggle('SR_setAttribute')" class=ISymbol>setAttribute</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.setAttribute" target=_parent class=IParent>mxCell</a><a href="../files/io/mxCodec-php.html#mxCodec.setAttribute" target=_parent class=IParent>mxCodec</a></div></div></div><div class=SRResult id=SR_setCellStyleFlags><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.setCellStyleFlags" target=_parent class=ISymbol>setCellStyleFlags</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_setCellStyles><div class=IEntry><a href="javascript:searchResults.Toggle('SR_setCellStyles')" class=ISymbol>setCellStyles</a><div class=ISubIndex><a href="../files/view/mxGraph-php.html#mxGraph.setCellStyles" target=_parent class=IParent>mxGraph</a><a href="../files/util/mxUtils-php.html#mxUtils.setCellStyles" target=_parent class=IParent>mxUtils</a></div></div></div><div class=SRResult id=SR_setCollapsed><div class=IEntry><a href="javascript:searchResults.Toggle('SR_setCollapsed')" class=ISymbol>setCollapsed</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.setCollapsed" target=_parent class=IParent>mxCell</a><a href="../files/model/mxGraphModel-php.html#mxGraphModel.setCollapsed" target=_parent class=IParent>mxGraphModel</a></div></div></div><div class=SRResult id=SR_setConnectable><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.setConnectable" target=_parent class=ISymbol>setConnectable</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_setEdge><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.setEdge" target=_parent class=ISymbol>setEdge</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_setGeometry><div class=IEntry><a href="javascript:searchResults.Toggle('SR_setGeometry')" class=ISymbol>setGeometry</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.setGeometry" target=_parent class=IParent>mxCell</a><a href="../files/model/mxGraphModel-php.html#mxGraphModel.setGeometry" target=_parent class=IParent>mxGraphModel</a></div></div></div><div class=SRResult id=SR_setGraphBounds><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.setGraphBounds" target=_parent class=ISymbol>setGraphBounds</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_setId><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.setId" target=_parent class=ISymbol>setId</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_setImage><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.setImage" target=_parent class=ISymbol>setImage</a>, <span class=IParent>mxGdCanvas</span></div></div><div class=SRResult id=SR_setImageBundles><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.setImageBundles" target=_parent class=ISymbol>setImageBundles</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_setParent><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.setParent" target=_parent class=ISymbol>setParent</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_setRect><div class=IEntry><a href="../files/util/mxRectangle-php.html#mxRectangle.setRect" target=_parent class=ISymbol>setRect</a>, <span class=IParent>mxRectangle</span></div></div><div class=SRResult id=SR_setRoot><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.setRoot" target=_parent class=ISymbol>setRoot</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_setScale><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.setScale" target=_parent class=ISymbol>setScale</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_setStyle><div class=IEntry><a href="javascript:searchResults.Toggle('SR_setStyle')" class=ISymbol>setStyle</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.setStyle" target=_parent class=IParent>mxCell</a><a href="../files/model/mxGraphModel-php.html#mxGraphModel.setStyle" target=_parent class=IParent>mxGraphModel</a><a href="../files/util/mxUtils-php.html#mxUtils.setStyle" target=_parent class=IParent>mxUtils</a></div></div></div><div class=SRResult id=SR_setStyleFlag><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.setStyleFlag" target=_parent class=ISymbol>setStyleFlag</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_setTerminal><div class=IEntry><a href="javascript:searchResults.Toggle('SR_setTerminal')" class=ISymbol>setTerminal</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.setTerminal" target=_parent class=IParent>mxCell</a><a href="../files/model/mxGraphModel-php.html#mxGraphModel.setTerminal" target=_parent class=IParent>mxGraphModel</a></div></div></div><div class=SRResult id=SR_setTerminalPoint><div class=IEntry><a href="../files/model/mxGeometry-php.html#mxGeometry.setTerminalPoint" target=_parent class=ISymbol>setTerminalPoint</a>, <span class=IParent>mxGeometry</span></div></div><div class=SRResult id=SR_setTerminals><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.setTerminals" target=_parent class=ISymbol>setTerminals</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_setTranslate><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.setTranslate" target=_parent class=ISymbol>setTranslate</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_setValue><div class=IEntry><a href="javascript:searchResults.Toggle('SR_setValue')" class=ISymbol>setValue</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.setValue" target=_parent class=IParent>mxCell</a><a href="../files/model/mxGraphModel-php.html#mxGraphModel.setValue" target=_parent class=IParent>mxGraphModel</a></div></div></div><div class=SRResult id=SR_setVertex><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.setVertex" target=_parent class=ISymbol>setVertex</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_setVisible><div class=IEntry><a href="javascript:searchResults.Toggle('SR_setVisible')" class=ISymbol>setVisible</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.setVisible" target=_parent class=IParent>mxCell</a><a href="../files/model/mxGraphModel-php.html#mxGraphModel.setVisible" target=_parent class=IParent>mxGraphModel</a></div></div></div><div class=SRResult id=SR_stackTrace><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.stackTrace" target=_parent class=ISymbol>stackTrace</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_startElement><div class=IEntry><a href="../files/reader/mxGraphViewImageReader-php.html#mxGraphViewImageReader.startElement" target=_parent class=ISymbol>startElement</a>, <span class=IParent>mxGraphViewImageReader</span></div></div><div class=SRResult id=SR_styles><div class=IEntry><a href="../files/view/mxStylesheet-php.html#mxStylesheet.styles" target=_parent class=ISymbol>styles</a>, <span class=IParent>mxStylesheet</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/FunctionsT.html b/docs/php-api/search/FunctionsT.html
    deleted file mode 100644
    index 4bc9824dc..000000000
    --- a/docs/php-api/search/FunctionsT.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_toRadians><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.toRadians" target=_parent class=ISymbol>toRadians</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_transformControlPoint><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.transformControlPoint" target=_parent class=ISymbol>transformControlPoint</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_translate><div class=IEntry><a href="../files/model/mxGeometry-php.html#mxGeometry.translate" target=_parent class=ISymbol>translate</a>, <span class=IParent>mxGeometry</span></div></div><div class=SRResult id=SR_translatePoints><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.translatePoints" target=_parent class=ISymbol>translatePoints</a>, <span class=IParent>mxUtils</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/FunctionsU.html b/docs/php-api/search/FunctionsU.html
    deleted file mode 100644
    index 8f91683b0..000000000
    --- a/docs/php-api/search/FunctionsU.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_updateBoundingBox><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.updateBoundingBox" target=_parent class=ISymbol>updateBoundingBox</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_updateCellState><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.updateCellState" target=_parent class=ISymbol>updateCellState</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_updateEdgeBounds><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.updateEdgeBounds" target=_parent class=ISymbol>updateEdgeBounds</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_updateEdgeParent><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.updateEdgeParent" target=_parent class=ISymbol>updateEdgeParent</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_updateEdgeParents><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.updateEdgeParents" target=_parent class=ISymbol>updateEdgeParents</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_updateEdgeState><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.updateEdgeState" target=_parent class=ISymbol>updateEdgeState</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_updateFixedTerminalPoint><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.updateFixedTerminalPoint" target=_parent class=ISymbol>updateFixedTerminalPoint</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_updateFixedTerminalPoints><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.updateFixedTerminalPoints" target=_parent class=ISymbol>updateFixedTerminalPoints</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_updateFloatingTerminalPoint><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.updateFloatingTerminalPoint" target=_parent class=ISymbol>updateFloatingTerminalPoint</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_updateFloatingTerminalPoints><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.updateFloatingTerminalPoints" target=_parent class=ISymbol>updateFloatingTerminalPoints</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_updateLabelBounds><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.updateLabelBounds" target=_parent class=ISymbol>updateLabelBounds</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_updatePoints><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.updatePoints" target=_parent class=ISymbol>updatePoints</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_updateVertexLabelOffset><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.updateVertexLabelOffset" target=_parent class=ISymbol>updateVertexLabelOffset</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_updateVertexState><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.updateVertexState" target=_parent class=ISymbol>updateVertexState</a>, <span class=IParent>mxGraphView</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/FunctionsV.html b/docs/php-api/search/FunctionsV.html
    deleted file mode 100644
    index 468125cf3..000000000
    --- a/docs/php-api/search/FunctionsV.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_validate><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.validate" target=_parent class=ISymbol>validate</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_validateCell><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.validateCell" target=_parent class=ISymbol>validateCell</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_validateCellStates><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.validateCellStates" target=_parent class=ISymbol>validateCellStates</a>, <span class=IParent>mxGraphView</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/FunctionsW.html b/docs/php-api/search/FunctionsW.html
    deleted file mode 100644
    index f3db05eee..000000000
    --- a/docs/php-api/search/FunctionsW.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_warn><div class=IEntry><a href="../files/util/mxLog-php.html#mxLog.warn" target=_parent class=ISymbol>warn</a>, <span class=IParent>mxLog</span></div></div><div class=SRResult id=SR_write><div class=IEntry><a href="../files/util/mxLog-php.html#mxLog.write" target=_parent class=ISymbol>write</a>, <span class=IParent>mxLog</span></div></div><div class=SRResult id=SR_writeAttribute><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.writeAttribute" target=_parent class=ISymbol>writeAttribute</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_writeComplexAttribute><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.writeComplexAttribute" target=_parent class=ISymbol>writeComplexAttribute</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_writeln><div class=IEntry><a href="../files/util/mxLog-php.html#mxLog.writeln" target=_parent class=ISymbol>writeln</a>, <span class=IParent>mxLog</span></div></div><div class=SRResult id=SR_writePrimitiveAttribute><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.writePrimitiveAttribute" target=_parent class=ISymbol>writePrimitiveAttribute</a>, <span class=IParent>mxObjectCodec</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/GeneralA.html b/docs/php-api/search/GeneralA.html
    deleted file mode 100644
    index a02502ec1..000000000
    --- a/docs/php-api/search/GeneralA.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_absoluteOffset><div class=IEntry><a href="../files/view/mxCellState-php.html#mxCellState.absoluteOffset" target=_parent class=ISymbol>absoluteOffset</a>, <span class=IParent>mxCellState</span></div></div><div class=SRResult id=SR_absolutePoints><div class=IEntry><a href="../files/view/mxCellState-php.html#mxCellState.absolutePoints" target=_parent class=ISymbol>absolutePoints</a>, <span class=IParent>mxCellState</span></div></div><div class=SRResult id=SR_ACTIVE_undREGION><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.ACTIVE_REGION" target=_parent class=ISymbol>ACTIVE_REGION</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_add><div class=IEntry><a href="javascript:searchResults.Toggle('SR_add')" class=ISymbol>add</a><div class=ISubIndex><a href="../files/model/mxGraphModel-php.html#mxGraphModel.add" target=_parent class=IParent>mxGraphModel</a><a href="../files/util/mxRectangle-php.html#mxRectangle.add" target=_parent class=IParent>mxRectangle</a></div></div></div><div class=SRResult id=SR_addAlias><div class=IEntry><a href="../files/io/mxCodecRegistry-php.html#mxCodecRegistry.addAlias" target=_parent class=ISymbol>addAlias</a>, <span class=IParent>mxCodecRegistry</span></div></div><div class=SRResult id=SR_addBundle><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.addBundle" target=_parent class=ISymbol>addBundle</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_addElement><div class=IEntry><a href="../files/io/mxCodec-php.html#mxCodec.addElement" target=_parent class=ISymbol>addElement</a>, <span class=IParent>mxCodec</span></div></div><div class=SRResult id=SR_addListener><div class=IEntry><a href="../files/util/mxEventSource-php.html#mxEventSource.addListener" target=_parent class=ISymbol>addListener</a>, <span class=IParent>mxEventSource</span></div></div><div class=SRResult id=SR_addLogfile><div class=IEntry><a href="../files/util/mxLog-php.html#mxLog.addLogfile" target=_parent class=ISymbol>addLogfile</a>, <span class=IParent>mxLog</span></div></div><div class=SRResult id=SR_addObjectValue><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.addObjectValue" target=_parent class=ISymbol>addObjectValue</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_addStylename><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.addStylename" target=_parent class=ISymbol>addStylename</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_afterDecode><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.afterDecode" target=_parent class=ISymbol>afterDecode</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_afterEncode><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.afterEncode" target=_parent class=ISymbol>afterEncode</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_aliases><div class=IEntry><a href="../files/io/mxCodecRegistry-php.html#mxCodecRegistry.aliases" target=_parent class=ISymbol>aliases</a>, <span class=IParent>mxCodecRegistry</span></div></div><div class=SRResult id=SR_ALIGN_undBOTTOM><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.ALIGN_BOTTOM" target=_parent class=ISymbol>ALIGN_BOTTOM</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_ALIGN_undCENTER><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.ALIGN_CENTER" target=_parent class=ISymbol>ALIGN_CENTER</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_ALIGN_undLEFT><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.ALIGN_LEFT" target=_parent class=ISymbol>ALIGN_LEFT</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_ALIGN_undMIDDLE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.ALIGN_MIDDLE" target=_parent class=ISymbol>ALIGN_MIDDLE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_ALIGN_undRIGHT><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.ALIGN_RIGHT" target=_parent class=ISymbol>ALIGN_RIGHT</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_ALIGN_undTOP><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.ALIGN_TOP" target=_parent class=ISymbol>ALIGN_TOP</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_alternateBounds><div class=IEntry><a href="../files/model/mxGeometry-php.html#mxGeometry.alternateBounds" target=_parent class=ISymbol>alternateBounds</a>, <span class=IParent>mxGeometry</span></div></div><div class=SRResult id=SR_antialias><div class=IEntry><a href="javascript:searchResults.Toggle('SR_antialias')" class=ISymbol>antialias</a><div class=ISubIndex><a href="../files/canvas/mxGdCanvas-php.html#antialias" target=_parent class=IParent>Global</a><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.antialias" target=_parent class=IParent>mxGdCanvas</a></div></div></div><div class=SRResult id=SR_API_spcSpecification><div class=IEntry><a href="../files/index-txt.html#API_Specification" target=_parent class=ISymbol>API Specification</a></div></div><div class=SRResult id=SR_apply><div class=IEntry><a href="javascript:searchResults.Toggle('SR_apply')" class=ISymbol>apply</a><div class=ISubIndex><a href="../files/view/mxEdgeStyle-php.html#mxEdgeStyleFunction.apply" target=_parent class=IParent>mxEdgeStyleFunction</a><a href="../files/view/mxPerimeter-php.html#mxPerimeterFunction.apply" target=_parent class=IParent>mxPerimeterFunction</a></div></div></div><div class=SRResult id=SR_ARROW_undBLOCK><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.ARROW_BLOCK" target=_parent class=ISymbol>ARROW_BLOCK</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_ARROW_undCLASSIC><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.ARROW_CLASSIC" target=_parent class=ISymbol>ARROW_CLASSIC</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_ARROW_undDIAMOND><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.ARROW_DIAMOND" target=_parent class=ISymbol>ARROW_DIAMOND</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_ARROW_undOPEN><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.ARROW_OPEN" target=_parent class=ISymbol>ARROW_OPEN</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_ARROW_undOVAL><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.ARROW_OVAL" target=_parent class=ISymbol>ARROW_OVAL</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_ARROW_undSIZE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.ARROW_SIZE" target=_parent class=ISymbol>ARROW_SIZE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_ARROW_undSPACING><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.ARROW_SPACING" target=_parent class=ISymbol>ARROW_SPACING</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_ARROW_undWIDTH><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.ARROW_WIDTH" target=_parent class=ISymbol>ARROW_WIDTH</a>, <span class=IParent>mxConstants</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/GeneralB.html b/docs/php-api/search/GeneralB.html
    deleted file mode 100644
    index fe5262eb9..000000000
    --- a/docs/php-api/search/GeneralB.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_background><div class=IEntry><a href="../files/reader/mxGraphViewImageReader-php.html#mxGraphViewImageReader.background" target=_parent class=ISymbol>background</a>, <span class=IParent>mxGraphViewImageReader</span></div></div><div class=SRResult id=SR_beforeDecode><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.beforeDecode" target=_parent class=ISymbol>beforeDecode</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_beforeEncode><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.beforeEncode" target=_parent class=ISymbol>beforeEncode</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_beginUpdate><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.beginUpdate" target=_parent class=ISymbol>beginUpdate</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_border><div class=IEntry><a href="../files/reader/mxGraphViewImageReader-php.html#mxGraphViewImageReader.border" target=_parent class=ISymbol>border</a>, <span class=IParent>mxGraphViewImageReader</span></div></div><div class=SRResult id=SR_boundingBox><div class=IEntry><a href="../files/view/mxCellState-php.html#mxCellState.boundingBox" target=_parent class=ISymbol>boundingBox</a>, <span class=IParent>mxCellState</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/GeneralC.html b/docs/php-api/search/GeneralC.html
    deleted file mode 100644
    index a0a1ae49a..000000000
    --- a/docs/php-api/search/GeneralC.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_canvas><div class=IEntry><a href="../files/reader/mxGraphViewImageReader-php.html#mxGraphViewImageReader.canvas" target=_parent class=ISymbol>canvas</a>, <span class=IParent>mxGraphViewImageReader</span></div></div><div class=SRResult id=SR_cell><div class=IEntry><a href="../files/view/mxCellState-php.html#mxCellState.cell" target=_parent class=ISymbol>cell</a>, <span class=IParent>mxCellState</span></div></div><div class=SRResult id=SR_cellAdded><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.cellAdded" target=_parent class=ISymbol>cellAdded</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_cellCloned><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.cellCloned" target=_parent class=ISymbol>cellCloned</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_cellRemoved><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.cellRemoved" target=_parent class=ISymbol>cellRemoved</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_cells><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.cells" target=_parent class=ISymbol>cells</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_children><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.children" target=_parent class=ISymbol>children</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_clear><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.clear" target=_parent class=ISymbol>clear</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_cloneCell><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.cloneCell" target=_parent class=ISymbol>cloneCell</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_cloneCellImpl><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.cloneCellImpl" target=_parent class=ISymbol>cloneCellImpl</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_cloneCells><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.cloneCells" target=_parent class=ISymbol>cloneCells</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_cloneTemplate><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.cloneTemplate" target=_parent class=ISymbol>cloneTemplate</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_close><div class=IEntry><a href="../files/util/mxLog-php.html#mxLog.close" target=_parent class=ISymbol>close</a>, <span class=IParent>mxLog</span></div></div><div class=SRResult id=SR_codecs><div class=IEntry><a href="javascript:searchResults.Toggle('SR_codecs')" class=ISymbol>codecs</a><div class=ISubIndex><a href="../files/model/mxCellPath-php.html#mxCellPath.codecs" target=_parent class=IParent>mxCellPath</a><a href="../files/io/mxCodecRegistry-php.html#mxCodecRegistry.codecs" target=_parent class=IParent>mxCodecRegistry</a></div></div></div><div class=SRResult id=SR_collapsed><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.collapsed" target=_parent class=ISymbol>collapsed</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_connectable><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.connectable" target=_parent class=ISymbol>connectable</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_consume><div class=IEntry><a href="../files/util/mxEventObject-php.html#mxEventObject.consume" target=_parent class=ISymbol>consume</a>, <span class=IParent>mxEventObject</span></div></div><div class=SRResult id=SR_consumed><div class=IEntry><a href="../files/util/mxEventObject-php.html#mxEventObject.consumed" target=_parent class=ISymbol>consumed</a>, <span class=IParent>mxEventObject</span></div></div><div class=SRResult id=SR_contains><div class=IEntry><a href="javascript:searchResults.Toggle('SR_contains')" class=ISymbol>contains</a><div class=ISubIndex><a href="../files/model/mxGraphModel-php.html#mxGraphModel.contains" target=_parent class=IParent>mxGraphModel</a><a href="../files/util/mxUtils-php.html#mxUtils.contains" target=_parent class=IParent>mxUtils</a></div></div></div><div class=SRResult id=SR_convert><div class=IEntry><a href="javascript:searchResults.Toggle('SR_convert')" class=ISymbol>convert</a><div class=ISubIndex><a href="../files/reader/mxGraphViewHtmlReader-php.html#mxGraphViewHtmlReader.convert" target=_parent class=IParent>mxGraphViewHtmlReader</a><a href="../files/reader/mxGraphViewImageReader-php.html#mxGraphViewImageReader.convert" target=_parent class=IParent>mxGraphViewImageReader</a></div></div></div><div class=SRResult id=SR_convertFile><div class=IEntry><a href="javascript:searchResults.Toggle('SR_convertFile')" class=ISymbol>convertFile</a><div class=ISubIndex><a href="../files/reader/mxGraphViewHtmlReader-php.html#mxGraphViewHtmlReader.convertFile" target=_parent class=IParent>mxGraphViewHtmlReader</a><a href="../files/reader/mxGraphViewImageReader-php.html#mxGraphViewImageReader.convertFile" target=_parent class=IParent>mxGraphViewImageReader</a></div></div></div><div class=SRResult id=SR_convertValueFromXml><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.convertValueFromXml" target=_parent class=ISymbol>convertValueFromXml</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_convertValueToString><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.convertValueToString" target=_parent class=ISymbol>convertValueToString</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_convertValueToXml><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.convertValueToXml" target=_parent class=ISymbol>convertValueToXml</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_copy><div class=IEntry><a href="javascript:searchResults.Toggle('SR_copy')" class=ISymbol>copy</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.copy" target=_parent class=IParent>mxCell</a><a href="../files/view/mxCellState-php.html#mxCellState.copy" target=_parent class=IParent>mxCellState</a><a href="../files/model/mxGeometry-php.html#mxGeometry.copy" target=_parent class=IParent>mxGeometry</a><a href="../files/util/mxPoint-php.html#mxPoint.copy" target=_parent class=IParent>mxPoint</a><a href="../files/util/mxRectangle-php.html#mxRectangle.copy" target=_parent class=IParent>mxRectangle</a></div></div></div><div class=SRResult id=SR_copyValue><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.copyValue" target=_parent class=ISymbol>copyValue</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_create><div class=IEntry><a href="../files/model/mxCellPath-php.html#mxCellPath.create" target=_parent class=ISymbol>create</a>, <span class=IParent>mxCellPath</span></div></div><div class=SRResult id=SR_createCanvas><div class=IEntry><a href="javascript:searchResults.Toggle('SR_createCanvas')" class=ISymbol>createCanvas</a><div class=ISubIndex><a href="../files/reader/mxGraphViewHtmlReader-php.html#mxGraphViewHtmlReader.createCanvas" target=_parent class=IParent>mxGraphViewHtmlReader</a><a href="../files/reader/mxGraphViewImageReader-php.html#mxGraphViewImageReader.createCanvas" target=_parent class=IParent>mxGraphViewImageReader</a></div></div></div><div class=SRResult id=SR_createDefaultEdgeStyle><div class=IEntry><a href="../files/view/mxStylesheet-php.html#mxStylesheet.createDefaultEdgeStyle" target=_parent class=ISymbol>createDefaultEdgeStyle</a>, <span class=IParent>mxStylesheet</span></div></div><div class=SRResult id=SR_createDefaultVertexStyle><div class=IEntry><a href="../files/view/mxStylesheet-php.html#mxStylesheet.createDefaultVertexStyle" target=_parent class=ISymbol>createDefaultVertexStyle</a>, <span class=IParent>mxStylesheet</span></div></div><div class=SRResult id=SR_createEdge><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.createEdge" target=_parent class=ISymbol>createEdge</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_createGraphView><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.createGraphView" target=_parent class=ISymbol>createGraphView</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_createId><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.createId" target=_parent class=ISymbol>createId</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_createIds><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.createIds" target=_parent class=ISymbol>createIds</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_createImage><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.createImage" target=_parent class=ISymbol>createImage</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_createRoot><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.createRoot" target=_parent class=ISymbol>createRoot</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_createState><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.createState" target=_parent class=ISymbol>createState</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_createStylesheet><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.createStylesheet" target=_parent class=ISymbol>createStylesheet</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_createVertex><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.createVertex" target=_parent class=ISymbol>createVertex</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_createXmlDocument><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.createXmlDocument" target=_parent class=ISymbol>createXmlDocument</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_current><div class=IEntry><a href="../files/util/mxLog-php.html#mxLog.current" target=_parent class=ISymbol>current</a>, <span class=IParent>mxLog</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/GeneralD.html b/docs/php-api/search/GeneralD.html
    deleted file mode 100644
    index c5a4992a2..000000000
    --- a/docs/php-api/search/GeneralD.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_debug><div class=IEntry><a href="../files/util/mxLog-php.html#mxLog.debug" target=_parent class=ISymbol>debug</a>, <span class=IParent>mxLog</span></div></div><div class=SRResult id=SR_decode><div class=IEntry><a href="javascript:searchResults.Toggle('SR_decode')" class=ISymbol>decode</a><div class=ISubIndex><a href="../files/io/mxCodec-php.html#mxCodec.decode" target=_parent class=IParent>mxCodec</a><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.decode" target=_parent class=IParent>mxObjectCodec</a></div></div></div><div class=SRResult id=SR_decodeAttribute><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.decodeAttribute" target=_parent class=ISymbol>decodeAttribute</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_decodeAttributes><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.decodeAttributes" target=_parent class=ISymbol>decodeAttributes</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_decodeCell><div class=IEntry><a href="../files/io/mxCodec-php.html#mxCodec.decodeCell" target=_parent class=ISymbol>decodeCell</a>, <span class=IParent>mxCodec</span></div></div><div class=SRResult id=SR_decodeChild><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.decodeChild" target=_parent class=ISymbol>decodeChild</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_decodeChildren><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.decodeChildren" target=_parent class=ISymbol>decodeChildren</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_decodeNode><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.decodeNode" target=_parent class=ISymbol>decodeNode</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_DEFAULT_undFONTFAMILY><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.DEFAULT_FONTFAMILY" target=_parent class=ISymbol>DEFAULT_FONTFAMILY</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_DEFAULT_undFONTSIZE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.DEFAULT_FONTSIZE" target=_parent class=ISymbol>DEFAULT_FONTSIZE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_DEFAULT_undIMAGESIZE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.DEFAULT_IMAGESIZE" target=_parent class=ISymbol>DEFAULT_IMAGESIZE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_DEFAULT_undLINESPACING><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.DEFAULT_LINESPACING" target=_parent class=ISymbol>DEFAULT_LINESPACING</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_DEFAULT_undMARKERSIZE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.DEFAULT_MARKERSIZE" target=_parent class=ISymbol>DEFAULT_MARKERSIZE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_DEFAULT_undSTARTSIZE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.DEFAULT_STARTSIZE" target=_parent class=ISymbol>DEFAULT_STARTSIZE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_defaultLoopStyle><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.defaultLoopStyle" target=_parent class=ISymbol>defaultLoopStyle</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_DEG_undPER_undRAD><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.DEG_PER_RAD" target=_parent class=ISymbol>DEG_PER_RAD</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_destroy><div class=IEntry><a href="javascript:searchResults.Toggle('SR_destroy')" class=ISymbol>destroy</a><div class=ISubIndex><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.destroy" target=_parent class=IParent>mxGdCanvas</a><a href="../files/reader/mxGraphViewImageReader-php.html#mxGraphViewImageReader.destroy" target=_parent class=IParent>mxGraphViewImageReader</a><a href="../files/canvas/mxHtmlCanvas-php.html#mxHtmlCanvas.destroy" target=_parent class=IParent>mxHtmlCanvas</a></div></div></div><div class=SRResult id=SR_DIRECTION_undEAST><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.DIRECTION_EAST" target=_parent class=ISymbol>DIRECTION_EAST</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_DIRECTION_undNORTH><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.DIRECTION_NORTH" target=_parent class=ISymbol>DIRECTION_NORTH</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_DIRECTION_undSOUTH><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.DIRECTION_SOUTH" target=_parent class=ISymbol>DIRECTION_SOUTH</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_DIRECTION_undWEST><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.DIRECTION_WEST" target=_parent class=ISymbol>DIRECTION_WEST</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_document><div class=IEntry><a href="../files/io/mxCodec-php.html#mxCodec.document" target=_parent class=ISymbol>document</a>, <span class=IParent>mxCodec</span></div></div><div class=SRResult id=SR_drawActor><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.drawActor" target=_parent class=ISymbol>drawActor</a>, <span class=IParent>mxGdCanvas</span></div></div><div class=SRResult id=SR_drawCell><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.drawCell" target=_parent class=ISymbol>drawCell</a>, <span class=IParent>mxGdCanvas</span></div></div><div class=SRResult id=SR_drawCloud><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.drawCloud" target=_parent class=ISymbol>drawCloud</a>, <span class=IParent>mxGdCanvas</span></div></div><div class=SRResult id=SR_drawCylinder><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.drawCylinder" target=_parent class=ISymbol>drawCylinder</a>, <span class=IParent>mxGdCanvas</span></div></div><div class=SRResult id=SR_drawFixedTextLine><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.drawFixedTextLine" target=_parent class=ISymbol>drawFixedTextLine</a>, <span class=IParent>mxGdCanvas</span></div></div><div class=SRResult id=SR_drawGraph><div class=IEntry><a href="javascript:searchResults.Toggle('SR_drawGraph')" class=ISymbol>drawGraph</a><div class=ISubIndex><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.drawGraph" target=_parent class=IParent>mxGdCanvas</a><a href="../files/view/mxGraph-php.html#mxGraph.drawGraph" target=_parent class=IParent>mxGraph</a><a href="../files/canvas/mxHtmlCanvas-php.html#mxHtmlCanvas.drawGraph" target=_parent class=IParent>mxHtmlCanvas</a></div></div></div><div class=SRResult id=SR_drawHexagon><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.drawHexagon" target=_parent class=ISymbol>drawHexagon</a>, <span class=IParent>mxGdCanvas</span></div></div><div class=SRResult id=SR_drawImage><div class=IEntry><a href="javascript:searchResults.Toggle('SR_drawImage')" class=ISymbol>drawImage</a><div class=ISubIndex><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.drawImage" target=_parent class=IParent>mxGdCanvas</a><a href="../files/canvas/mxHtmlCanvas-php.html#mxHtmlCanvas.drawImage" target=_parent class=IParent>mxHtmlCanvas</a></div></div></div><div class=SRResult id=SR_drawLabel><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.drawLabel" target=_parent class=ISymbol>drawLabel</a>, <span class=IParent>mxGdCanvas</span></div></div><div class=SRResult id=SR_drawLine><div class=IEntry><a href="javascript:searchResults.Toggle('SR_drawLine')" class=ISymbol>drawLine</a><div class=ISubIndex><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.drawLine" target=_parent class=IParent>mxGdCanvas</a><a href="../files/canvas/mxHtmlCanvas-php.html#mxHtmlCanvas.drawLine" target=_parent class=IParent>mxHtmlCanvas</a></div></div></div><div class=SRResult id=SR_drawMarker><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.drawMarker" target=_parent class=ISymbol>drawMarker</a>, <span class=IParent>mxGdCanvas</span></div></div><div class=SRResult id=SR_drawOval><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.drawOval" target=_parent class=ISymbol>drawOval</a>, <span class=IParent>mxGdCanvas</span></div></div><div class=SRResult id=SR_drawPolygon><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.drawPolygon" target=_parent class=ISymbol>drawPolygon</a>, <span class=IParent>mxGdCanvas</span></div></div><div class=SRResult id=SR_drawRect><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.drawRect" target=_parent class=ISymbol>drawRect</a>, <span class=IParent>mxGdCanvas</span></div></div><div class=SRResult id=SR_drawRhombus><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.drawRhombus" target=_parent class=ISymbol>drawRhombus</a>, <span class=IParent>mxGdCanvas</span></div></div><div class=SRResult id=SR_drawShape><div class=IEntry><a href="javascript:searchResults.Toggle('SR_drawShape')" class=ISymbol>drawShape</a><div class=ISubIndex><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.drawShape" target=_parent class=IParent>mxGdCanvas</a><a href="../files/canvas/mxHtmlCanvas-php.html#mxHtmlCanvas.drawShape" target=_parent class=IParent>mxHtmlCanvas</a></div></div></div><div class=SRResult id=SR_drawString><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.drawString" target=_parent class=ISymbol>drawString</a>, <span class=IParent>mxGdCanvas</span></div></div><div class=SRResult id=SR_drawText><div class=IEntry><a href="javascript:searchResults.Toggle('SR_drawText')" class=ISymbol>drawText</a><div class=ISubIndex><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.drawText" target=_parent class=IParent>mxGdCanvas</a><a href="../files/canvas/mxHtmlCanvas-php.html#mxHtmlCanvas.drawText" target=_parent class=IParent>mxHtmlCanvas</a></div></div></div><div class=SRResult id=SR_drawTriangle><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.drawTriangle" target=_parent class=ISymbol>drawTriangle</a>, <span class=IParent>mxGdCanvas</span></div></div><div class=SRResult id=SR_drawTtfText><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.drawTtfText" target=_parent class=ISymbol>drawTtfText</a>, <span class=IParent>mxGdCanvas</span></div></div><div class=SRResult id=SR_drawTtxTextLine><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.drawTtxTextLine" target=_parent class=ISymbol>drawTtxTextLine</a>, <span class=IParent>mxGdCanvas</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/GeneralE.html b/docs/php-api/search/GeneralE.html
    deleted file mode 100644
    index b42e90744..000000000
    --- a/docs/php-api/search/GeneralE.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_edge><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.edge" target=_parent class=ISymbol>edge</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_edges><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.edges" target=_parent class=ISymbol>edges</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_EDGESTYLE_undENTITY_undRELATION><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.EDGESTYLE_ENTITY_RELATION" target=_parent class=ISymbol>EDGESTYLE_ENTITY_RELATION</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_EDGESTYLE_undLOOP><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.EDGESTYLE_LOOP" target=_parent class=ISymbol>EDGESTYLE_LOOP</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_EDGESTYLE_undSIDETOSIDE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.EDGESTYLE_SIDETOSIDE" target=_parent class=ISymbol>EDGESTYLE_SIDETOSIDE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_EDGESTYLE_undTOPTOBOTTOM><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.EDGESTYLE_TOPTOBOTTOM" target=_parent class=ISymbol>EDGESTYLE_TOPTOBOTTOM</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_ELBOW_undHORIZONTAL><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.ELBOW_HORIZONTAL" target=_parent class=ISymbol>ELBOW_HORIZONTAL</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_ELBOW_undVERTICAL><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.ELBOW_VERTICAL" target=_parent class=ISymbol>ELBOW_VERTICAL</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_ElbowConnector><div class=IEntry><a href="../files/view/mxEdgeStyle-php.html#mxEdgeStyle.ElbowConnector" target=_parent class=ISymbol>ElbowConnector</a>, <span class=IParent>mxEdgeStyle</span></div></div><div class=SRResult id=SR_elements><div class=IEntry><a href="../files/io/mxCodec-php.html#mxCodec.elements" target=_parent class=ISymbol>elements</a>, <span class=IParent>mxCodec</span></div></div><div class=SRResult id=SR_EllipsePerimeter><div class=IEntry><a href="../files/view/mxPerimeter-php.html#mxPerimeter.EllipsePerimeter" target=_parent class=ISymbol>EllipsePerimeter</a>, <span class=IParent>mxPerimeter</span></div></div><div class=SRResult id=SR_EMPTY_undPOINT><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.EMPTY_POINT" target=_parent class=ISymbol>EMPTY_POINT</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_enableTtf><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.enableTtf" target=_parent class=ISymbol>enableTtf</a>, <span class=IParent>mxGdCanvas</span></div></div><div class=SRResult id=SR_encode><div class=IEntry><a href="javascript:searchResults.Toggle('SR_encode')" class=ISymbol>encode</a><div class=ISubIndex><a href="../files/io/mxCodec-php.html#mxCodec.encode" target=_parent class=IParent>mxCodec</a><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.encode" target=_parent class=IParent>mxObjectCodec</a></div></div></div><div class=SRResult id=SR_encodeCell><div class=IEntry><a href="../files/io/mxCodec-php.html#mxCodec.encodeCell" target=_parent class=ISymbol>encodeCell</a>, <span class=IParent>mxCodec</span></div></div><div class=SRResult id=SR_encodeDefaults><div class=IEntry><a href="../files/io/mxCodec-php.html#mxCodec.encodeDefaults" target=_parent class=ISymbol>encodeDefaults</a>, <span class=IParent>mxCodec</span></div></div><div class=SRResult id=SR_encodeImage><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.encodeImage" target=_parent class=ISymbol>encodeImage</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_encodeObject><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.encodeObject" target=_parent class=ISymbol>encodeObject</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_encodeValue><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.encodeValue" target=_parent class=ISymbol>encodeValue</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_endElement><div class=IEntry><a href="../files/reader/mxGraphViewImageReader-php.html#mxGraphViewImageReader.endElement" target=_parent class=ISymbol>endElement</a>, <span class=IParent>mxGraphViewImageReader</span></div></div><div class=SRResult id=SR_endUpdate><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.endUpdate" target=_parent class=ISymbol>endUpdate</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_enter><div class=IEntry><a href="../files/util/mxLog-php.html#mxLog.enter" target=_parent class=ISymbol>enter</a>, <span class=IParent>mxLog</span></div></div><div class=SRResult id=SR_ENTITY_undSEGMENT><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.ENTITY_SEGMENT" target=_parent class=ISymbol>ENTITY_SEGMENT</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_EntityRelation><div class=IEntry><a href="../files/view/mxEdgeStyle-php.html#mxEdgeStyle.EntityRelation" target=_parent class=ISymbol>EntityRelation</a>, <span class=IParent>mxEdgeStyle</span></div></div><div class=SRResult id=SR_equals><div class=IEntry><a href="javascript:searchResults.Toggle('SR_equals')" class=ISymbol>equals</a><div class=ISubIndex><a href="../files/util/mxPoint-php.html#mxPoint.equals" target=_parent class=IParent>mxPoint</a><a href="../files/util/mxRectangle-php.html#mxRectangle.equals" target=_parent class=IParent>mxRectangle</a></div></div></div><div class=SRResult id=SR_error><div class=IEntry><a href="../files/util/mxLog-php.html#mxLog.error" target=_parent class=ISymbol>error</a>, <span class=IParent>mxLog</span></div></div><div class=SRResult id=SR_evaluate><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.evaluate" target=_parent class=ISymbol>evaluate</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_eventListeners><div class=IEntry><a href="../files/util/mxEventSource-php.html#mxEventSource.eventListeners" target=_parent class=ISymbol>eventListeners</a>, <span class=IParent>mxEventSource</span></div></div><div class=SRResult id=SR_exclude><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.exclude" target=_parent class=ISymbol>exclude</a>, <span class=IParent>mxObjectCodec</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/GeneralF.html b/docs/php-api/search/GeneralF.html
    deleted file mode 100644
    index 1a12fbd45..000000000
    --- a/docs/php-api/search/GeneralF.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_findNode><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.findNode" target=_parent class=ISymbol>findNode</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_findTreeRoots><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.findTreeRoots" target=_parent class=ISymbol>findTreeRoots</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_fine><div class=IEntry><a href="../files/util/mxLog-php.html#mxLog.fine" target=_parent class=ISymbol>fine</a>, <span class=IParent>mxLog</span></div></div><div class=SRResult id=SR_fireEvent><div class=IEntry><a href="../files/util/mxEventSource-php.html#mxEventSource.fireEvent" target=_parent class=ISymbol>fireEvent</a>, <span class=IParent>mxEventSource</span></div></div><div class=SRResult id=SR_flipImage><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.flipImage" target=_parent class=ISymbol>flipImage</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_FONT_undBOLD><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.FONT_BOLD" target=_parent class=ISymbol>FONT_BOLD</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_FONT_undITALIC><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.FONT_ITALIC" target=_parent class=ISymbol>FONT_ITALIC</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_FONT_undUNDERLINE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.FONT_UNDERLINE" target=_parent class=ISymbol>FONT_UNDERLINE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_Functions><div class=IEntry><a href="javascript:searchResults.Toggle('SR_Functions')" class=ISymbol>Functions</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.Functions" target=_parent class=IParent>mxCell</a><a href="../files/io/mxCellCodec-php.html#mxCellCodec.Functions" target=_parent class=IParent>mxCellCodec</a><a href="../files/model/mxCellPath-php.html#mxCellPath.Functions" target=_parent class=IParent>mxCellPath</a><a href="../files/view/mxCellState-php.html#mxCellState.Functions" target=_parent class=IParent>mxCellState</a><a href="../files/io/mxCodec-php.html#mxCodec.Functions" target=_parent class=IParent>mxCodec</a><a href="../files/io/mxCodecRegistry-php.html#mxCodecRegistry.Functions" target=_parent class=IParent>mxCodecRegistry</a><a href="../files/view/mxConnectionConstraint-php.html#mxConnectionConstraint.Functions" target=_parent class=IParent>mxConnectionConstraint</a><a href="../files/view/mxEdgeStyle-php.html#mxEdgeStyleFunction.Functions" target=_parent class=IParent>mxEdgeStyleFunction</a><a href="../files/util/mxEventObject-php.html#mxEventObject.Functions" target=_parent class=IParent>mxEventObject</a><a href="../files/util/mxEventSource-php.html#mxEventSource.Functions" target=_parent class=IParent>mxEventSource</a><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.Functions" target=_parent class=IParent>mxGdCanvas</a><a href="../files/model/mxGeometry-php.html#mxGeometry.Functions" target=_parent class=IParent>mxGeometry</a><a href="../files/view/mxGraph-php.html#mxGraph.Functions" target=_parent class=IParent>mxGraph</a><a href="../files/model/mxGraphModel-php.html#mxGraphModel.Functions" target=_parent class=IParent>mxGraphModel</a><a href="../files/view/mxGraphView-php.html#mxGraphView.Functions" target=_parent class=IParent>mxGraphView</a><a href="../files/reader/mxGraphViewHtmlReader-php.html#mxGraphViewHtmlReader.Functions" target=_parent class=IParent>mxGraphViewHtmlReader</a><a href="../files/reader/mxGraphViewImageReader-php.html#mxGraphViewImageReader.Functions" target=_parent class=IParent>mxGraphViewImageReader</a><a href="../files/canvas/mxHtmlCanvas-php.html#mxHtmlCanvas.Functions" target=_parent class=IParent>mxHtmlCanvas</a><a href="../files/util/mxImageBundle-php.html#mxImageBundle.Functions" target=_parent class=IParent>mxImageBundle</a><a href="../files/util/mxLog-php.html#mxLog.Functions" target=_parent class=IParent>mxLog</a><a href="../files/io/mxModelCodec-php.html#mxModelCodec.Functions" target=_parent class=IParent>mxModelCodec</a><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.Functions" target=_parent class=IParent>mxObjectCodec</a><a href="../files/view/mxPerimeter-php.html#mxPerimeterFunction.Functions" target=_parent class=IParent>mxPerimeterFunction</a><a href="../files/util/mxPoint-php.html#mxPoint.Functions" target=_parent class=IParent>mxPoint</a><a href="../files/util/mxRectangle-php.html#mxRectangle.Functions" target=_parent class=IParent>mxRectangle</a><a href="../files/view/mxStyleRegistry-php.html#mxStyleRegistry.Functions" target=_parent class=IParent>mxStyleRegistry</a><a href="../files/view/mxStylesheet-php.html#mxStylesheet.Functions" target=_parent class=IParent>mxStylesheet</a><a href="../files/io/mxStylesheetCodec-php.html#mxStylesheetCodec.Functions" target=_parent class=IParent>mxStylesheetCodec</a><a href="../files/util/mxUtils-php.html#mxUtils.Functions" target=_parent class=IParent>mxUtils</a></div></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/GeneralG.html b/docs/php-api/search/GeneralG.html
    deleted file mode 100644
    index d9b8e87ae..000000000
    --- a/docs/php-api/search/GeneralG.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_geometry><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.geometry" target=_parent class=ISymbol>geometry</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_getAttribute><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.getAttribute" target=_parent class=ISymbol>getAttribute</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_getAttributeName><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.getAttributeName" target=_parent class=ISymbol>getAttributeName</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_getBoundingBox><div class=IEntry><a href="javascript:searchResults.Toggle('SR_getBoundingBox')" class=ISymbol>getBoundingBox</a><div class=ISubIndex><a href="../files/view/mxGraph-php.html#mxGraph.getBoundingBox" target=_parent class=IParent>mxGraph</a><a href="../files/view/mxGraphView-php.html#mxGraphView.getBoundingBox" target=_parent class=IParent>mxGraphView</a><a href="../files/util/mxUtils-php.html#mxUtils.getBoundingBox" target=_parent class=IParent>mxUtils</a></div></div></div><div class=SRResult id=SR_getBounds><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.getBounds" target=_parent class=ISymbol>getBounds</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_getBoundsForCells><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.getBoundsForCells" target=_parent class=ISymbol>getBoundsForCells</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_getCellBounds><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.getCellBounds" target=_parent class=ISymbol>getCellBounds</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_getCellGeometry><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.getCellGeometry" target=_parent class=ISymbol>getCellGeometry</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_getCells><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.getCells" target=_parent class=ISymbol>getCells</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_getCellStyle><div class=IEntry><a href="javascript:searchResults.Toggle('SR_getCellStyle')" class=ISymbol>getCellStyle</a><div class=ISubIndex><a href="../files/view/mxGraph-php.html#mxGraph.getCellStyle" target=_parent class=IParent>mxGraph</a><a href="../files/view/mxStylesheet-php.html#mxStylesheet.getCellStyle" target=_parent class=IParent>mxStylesheet</a></div></div></div><div class=SRResult id=SR_getCenterX><div class=IEntry><a href="../files/util/mxRectangle-php.html#mxRectangle.getCenterX" target=_parent class=ISymbol>getCenterX</a>, <span class=IParent>mxRectangle</span></div></div><div class=SRResult id=SR_getCenterY><div class=IEntry><a href="../files/util/mxRectangle-php.html#mxRectangle.getCenterY" target=_parent class=ISymbol>getCenterY</a>, <span class=IParent>mxRectangle</span></div></div><div class=SRResult id=SR_getChildAt><div class=IEntry><a href="javascript:searchResults.Toggle('SR_getChildAt')" class=ISymbol>getChildAt</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.getChildAt" target=_parent class=IParent>mxCell</a><a href="../files/model/mxGraphModel-php.html#mxGraphModel.getChildAt" target=_parent class=IParent>mxGraphModel</a></div></div></div><div class=SRResult id=SR_getChildCount><div class=IEntry><a href="javascript:searchResults.Toggle('SR_getChildCount')" class=ISymbol>getChildCount</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.getChildCount" target=_parent class=IParent>mxCell</a><a href="../files/model/mxGraphModel-php.html#mxGraphModel.getChildCount" target=_parent class=IParent>mxGraphModel</a></div></div></div><div class=SRResult id=SR_getChildOffsetForCell><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.getChildOffsetForCell" target=_parent class=ISymbol>getChildOffsetForCell</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_getCodec><div class=IEntry><a href="../files/io/mxCodecRegistry-php.html#mxCodecRegistry.getCodec" target=_parent class=ISymbol>getCodec</a>, <span class=IParent>mxCodecRegistry</span></div></div><div class=SRResult id=SR_getColor><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.getColor" target=_parent class=ISymbol>getColor</a>, <span class=IParent>mxGdCanvas</span></div></div><div class=SRResult id=SR_getConnectionConstraint><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.getConnectionConstraint" target=_parent class=ISymbol>getConnectionConstraint</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_getConnectionPoint><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.getConnectionPoint" target=_parent class=ISymbol>getConnectionPoint</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_getDefaultEdgeStyle><div class=IEntry><a href="../files/view/mxStylesheet-php.html#mxStylesheet.getDefaultEdgeStyle" target=_parent class=ISymbol>getDefaultEdgeStyle</a>, <span class=IParent>mxStylesheet</span></div></div><div class=SRResult id=SR_getDefaultParent><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.getDefaultParent" target=_parent class=ISymbol>getDefaultParent</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_getDefaultVertexStyle><div class=IEntry><a href="../files/view/mxStylesheet-php.html#mxStylesheet.getDefaultVertexStyle" target=_parent class=ISymbol>getDefaultVertexStyle</a>, <span class=IParent>mxStylesheet</span></div></div><div class=SRResult id=SR_getDirectedEdgeCount><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.getDirectedEdgeCount" target=_parent class=ISymbol>getDirectedEdgeCount</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_getEdgeAt><div class=IEntry><a href="javascript:searchResults.Toggle('SR_getEdgeAt')" class=ISymbol>getEdgeAt</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.getEdgeAt" target=_parent class=IParent>mxCell</a><a href="../files/model/mxGraphModel-php.html#mxGraphModel.getEdgeAt" target=_parent class=IParent>mxGraphModel</a></div></div></div><div class=SRResult id=SR_getEdgeCount><div class=IEntry><a href="javascript:searchResults.Toggle('SR_getEdgeCount')" class=ISymbol>getEdgeCount</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.getEdgeCount" target=_parent class=IParent>mxCell</a><a href="../files/model/mxGraphModel-php.html#mxGraphModel.getEdgeCount" target=_parent class=IParent>mxGraphModel</a></div></div></div><div class=SRResult id=SR_getEdgeIndex><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.getEdgeIndex" target=_parent class=ISymbol>getEdgeIndex</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_getEdges><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.getEdges" target=_parent class=ISymbol>getEdges</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_getEdgeStyle><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.getEdgeStyle" target=_parent class=ISymbol>getEdgeStyle</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_getElementById><div class=IEntry><a href="../files/io/mxCodec-php.html#mxCodec.getElementById" target=_parent class=ISymbol>getElementById</a>, <span class=IParent>mxCodec</span></div></div><div class=SRResult id=SR_getFieldName><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.getFieldName" target=_parent class=ISymbol>getFieldName</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_getFieldTemplate><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.getFieldTemplate" target=_parent class=ISymbol>getFieldTemplate</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_getFixedFontSize><div class=IEntry><a href="javascript:searchResults.Toggle('SR_getFixedFontSize')" class=ISymbol>getFixedFontSize</a><div class=ISubIndex><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.getFixedFontSize" target=_parent class=IParent>mxGdCanvas</a><a href="../files/util/mxUtils-php.html#mxUtils.getFixedFontSize" target=_parent class=IParent>mxUtils</a></div></div></div><div class=SRResult id=SR_getGeometry><div class=IEntry><a href="javascript:searchResults.Toggle('SR_getGeometry')" class=ISymbol>getGeometry</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.getGeometry" target=_parent class=IParent>mxCell</a><a href="../files/model/mxGraphModel-php.html#mxGraphModel.getGeometry" target=_parent class=IParent>mxGraphModel</a></div></div></div><div class=SRResult id=SR_getGraphBounds><div class=IEntry><a href="javascript:searchResults.Toggle('SR_getGraphBounds')" class=ISymbol>getGraphBounds</a><div class=ISubIndex><a href="../files/view/mxGraph-php.html#mxGraph.getGraphBounds" target=_parent class=IParent>mxGraph</a><a href="../files/view/mxGraphView-php.html#mxGraphView.getGraphBounds" target=_parent class=IParent>mxGraphView</a></div></div></div><div class=SRResult id=SR_getHashCode><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.getHashCode" target=_parent class=ISymbol>getHashCode</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_getHtml><div class=IEntry><a href="../files/canvas/mxHtmlCanvas-php.html#mxHtmlCanvas.getHtml" target=_parent class=ISymbol>getHtml</a>, <span class=IParent>mxHtmlCanvas</span></div></div><div class=SRResult id=SR_getId><div class=IEntry><a href="javascript:searchResults.Toggle('SR_getId')" class=ISymbol>getId</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.getId" target=_parent class=IParent>mxCell</a><a href="../files/io/mxCodec-php.html#mxCodec.getId" target=_parent class=IParent>mxCodec</a></div></div></div><div class=SRResult id=SR_getImage><div class=IEntry><a href="javascript:searchResults.Toggle('SR_getImage')" class=ISymbol>getImage</a><div class=ISubIndex><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.getImage" target=_parent class=IParent>mxGdCanvas</a><a href="../files/util/mxImageBundle-php.html#mxImageBundle.getImage" target=_parent class=IParent>mxImageBundle</a></div></div></div><div class=SRResult id=SR_getImageBundles><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.getImageBundles" target=_parent class=ISymbol>getImageBundles</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_getImageForStyle><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.getImageForStyle" target=_parent class=ISymbol>getImageForStyle</a>, <span class=IParent>mxGdCanvas</span></div></div><div class=SRResult id=SR_getImageFromBundles><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.getImageFromBundles" target=_parent class=ISymbol>getImageFromBundles</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_getImages><div class=IEntry><a href="../files/util/mxImageBundle-php.html#mxImageBundle.getImages" target=_parent class=ISymbol>getImages</a>, <span class=IParent>mxImageBundle</span></div></div><div class=SRResult id=SR_getIndex><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.getIndex" target=_parent class=ISymbol>getIndex</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_getInstanceForName><div class=IEntry><a href="../files/io/mxCodecRegistry-php.html#mxCodecRegistry.getInstanceForName" target=_parent class=ISymbol>getInstanceForName</a>, <span class=IParent>mxCodecRegistry</span></div></div><div class=SRResult id=SR_getLabel><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.getLabel" target=_parent class=ISymbol>getLabel</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_getLabelPaintBounds><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.getLabelPaintBounds" target=_parent class=ISymbol>getLabelPaintBounds</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_getLabelSize><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.getLabelSize" target=_parent class=ISymbol>getLabelSize</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_getModel><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.getModel" target=_parent class=ISymbol>getModel</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_getName><div class=IEntry><a href="javascript:searchResults.Toggle('SR_getName')" class=ISymbol>getName</a><div class=ISubIndex><a href="../files/io/mxCodecRegistry-php.html#mxCodecRegistry.getName" target=_parent class=IParent>mxCodecRegistry</a><a href="../files/util/mxEventObject-php.html#mxEventObject.getName" target=_parent class=IParent>mxEventObject</a><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.getName" target=_parent class=IParent>mxObjectCodec</a><a href="../files/view/mxStyleRegistry-php.html#mxStyleRegistry.getName" target=_parent class=IParent>mxStyleRegistry</a></div></div></div><div class=SRResult id=SR_getNearestCommonAncestor><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.getNearestCommonAncestor" target=_parent class=ISymbol>getNearestCommonAncestor</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_getNextPoint><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.getNextPoint" target=_parent class=ISymbol>getNextPoint</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_getNumber><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.getNumber" target=_parent class=ISymbol>getNumber</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_getObject><div class=IEntry><a href="../files/io/mxCodec-php.html#mxCodec.getObject" target=_parent class=ISymbol>getObject</a>, <span class=IParent>mxCodec</span></div></div><div class=SRResult id=SR_getOrigin><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.getOrigin" target=_parent class=ISymbol>getOrigin</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_getPaintBounds><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.getPaintBounds" target=_parent class=ISymbol>getPaintBounds</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_getParent><div class=IEntry><a href="javascript:searchResults.Toggle('SR_getParent')" class=ISymbol>getParent</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.getParent" target=_parent class=IParent>mxCell</a><a href="../files/model/mxGraphModel-php.html#mxGraphModel.getParent" target=_parent class=IParent>mxGraphModel</a></div></div></div><div class=SRResult id=SR_getParentPath><div class=IEntry><a href="../files/model/mxCellPath-php.html#mxCellPath.getParentPath" target=_parent class=ISymbol>getParentPath</a>, <span class=IParent>mxCellPath</span></div></div><div class=SRResult id=SR_getPerimeterBounds><div class=IEntry><a href="javascript:searchResults.Toggle('SR_getPerimeterBounds')" class=ISymbol>getPerimeterBounds</a><div class=ISubIndex><a href="../files/view/mxCellState-php.html#mxCellState.getPerimeterBounds" target=_parent class=IParent>mxCellState</a><a href="../files/view/mxGraphView-php.html#mxGraphView.getPerimeterBounds" target=_parent class=IParent>mxGraphView</a></div></div></div><div class=SRResult id=SR_getPerimeterFunction><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.getPerimeterFunction" target=_parent class=ISymbol>getPerimeterFunction</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_getPerimeterPoint><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.getPerimeterPoint" target=_parent class=ISymbol>getPerimeterPoint</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_getPoint><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.getPoint" target=_parent class=ISymbol>getPoint</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_getProperties><div class=IEntry><a href="../files/util/mxEventObject-php.html#mxEventObject.getProperties" target=_parent class=ISymbol>getProperties</a>, <span class=IParent>mxEventObject</span></div></div><div class=SRResult id=SR_getProperty><div class=IEntry><a href="../files/util/mxEventObject-php.html#mxEventObject.getProperty" target=_parent class=ISymbol>getProperty</a>, <span class=IParent>mxEventObject</span></div></div><div class=SRResult id=SR_getRoot><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.getRoot" target=_parent class=ISymbol>getRoot</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_getRotatedPoint><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.getRotatedPoint" target=_parent class=ISymbol>getRotatedPoint</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_getRoutingCenterX><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.getRoutingCenterX" target=_parent class=ISymbol>getRoutingCenterX</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_getRoutingCenterY><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.getRoutingCenterY" target=_parent class=ISymbol>getRoutingCenterY</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_getScaledLabelBounds><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.getScaledLabelBounds" target=_parent class=ISymbol>getScaledLabelBounds</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_getSizeForString><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.getSizeForString" target=_parent class=ISymbol>getSizeForString</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_getState><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.getState" target=_parent class=ISymbol>getState</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_getStates><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.getStates" target=_parent class=ISymbol>getStates</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_getStyle><div class=IEntry><a href="javascript:searchResults.Toggle('SR_getStyle')" class=ISymbol>getStyle</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.getStyle" target=_parent class=IParent>mxCell</a><a href="../files/model/mxGraphModel-php.html#mxGraphModel.getStyle" target=_parent class=IParent>mxGraphModel</a></div></div></div><div class=SRResult id=SR_getStylename><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.getStylename" target=_parent class=ISymbol>getStylename</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_getStylenames><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.getStylenames" target=_parent class=ISymbol>getStylenames</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_getStylesheet><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.getStylesheet" target=_parent class=ISymbol>getStylesheet</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_getTerminal><div class=IEntry><a href="javascript:searchResults.Toggle('SR_getTerminal')" class=ISymbol>getTerminal</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.getTerminal" target=_parent class=IParent>mxCell</a><a href="../files/model/mxGraphModel-php.html#mxGraphModel.getTerminal" target=_parent class=IParent>mxGraphModel</a></div></div></div><div class=SRResult id=SR_getTerminalPoint><div class=IEntry><a href="../files/model/mxGeometry-php.html#mxGeometry.getTerminalPoint" target=_parent class=ISymbol>getTerminalPoint</a>, <span class=IParent>mxGeometry</span></div></div><div class=SRResult id=SR_getTerminalPort><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.getTerminalPort" target=_parent class=ISymbol>getTerminalPort</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_getTrueTypeFont><div class=IEntry><a href="javascript:searchResults.Toggle('SR_getTrueTypeFont')" class=ISymbol>getTrueTypeFont</a><div class=ISubIndex><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.getTrueTypeFont" target=_parent class=IParent>mxGdCanvas</a><a href="../files/util/mxUtils-php.html#mxUtils.getTrueTypeFont" target=_parent class=IParent>mxUtils</a></div></div></div><div class=SRResult id=SR_getTrueTypeFontSize><div class=IEntry><a href="javascript:searchResults.Toggle('SR_getTrueTypeFontSize')" class=ISymbol>getTrueTypeFontSize</a><div class=ISubIndex><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.getTrueTypeFontSize" target=_parent class=IParent>mxGdCanvas</a><a href="../files/util/mxUtils-php.html#mxUtils.getTrueTypeFontSize" target=_parent class=IParent>mxUtils</a></div></div></div><div class=SRResult id=SR_getValue><div class=IEntry><a href="javascript:searchResults.Toggle('SR_getValue')" class=ISymbol>getValue</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.getValue" target=_parent class=IParent>mxCell</a><a href="../files/model/mxGraphModel-php.html#mxGraphModel.getValue" target=_parent class=IParent>mxGraphModel</a><a href="../files/view/mxStyleRegistry-php.html#mxStyleRegistry.getValue" target=_parent class=IParent>mxStyleRegistry</a><a href="../files/util/mxUtils-php.html#mxUtils.getValue" target=_parent class=IParent>mxUtils</a></div></div></div><div class=SRResult id=SR_getView><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.getView" target=_parent class=ISymbol>getView</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_getVisibleTerminal><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.getVisibleTerminal" target=_parent class=ISymbol>getVisibleTerminal</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_graph><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.graph" target=_parent class=ISymbol>graph</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_GRAPH_undMODEL_undCHANGED><div class=IEntry><a href="../files/util/mxEvent-php.html#mxEvent.GRAPH_MODEL_CHANGED" target=_parent class=ISymbol>GRAPH_MODEL_CHANGED</a>, <span class=IParent>mxEvent</span></div></div><div class=SRResult id=SR_graphBounds><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.graphBounds" target=_parent class=ISymbol>graphBounds</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_graphModelChanged><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.graphModelChanged" target=_parent class=ISymbol>graphModelChanged</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_gridSize><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.gridSize" target=_parent class=ISymbol>gridSize</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_grow><div class=IEntry><a href="../files/util/mxRectangle-php.html#mxRectangle.grow" target=_parent class=ISymbol>grow</a>, <span class=IParent>mxRectangle</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/GeneralH.html b/docs/php-api/search/GeneralH.html
    deleted file mode 100644
    index bd4898ce9..000000000
    --- a/docs/php-api/search/GeneralH.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_height><div class=IEntry><a href="javascript:searchResults.Toggle('SR_height')" class=ISymbol>height</a><div class=ISubIndex><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.height" target=_parent class=IParent>mxGdCanvas</a><a href="../files/util/mxRectangle-php.html#mxRectangle.height" target=_parent class=IParent>mxRectangle</a></div></div></div><div class=SRResult id=SR_html><div class=IEntry><a href="../files/canvas/mxHtmlCanvas-php.html#mxHtmlCanvas.html" target=_parent class=ISymbol>html</a>, <span class=IParent>mxHtmlCanvas</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/GeneralI.html b/docs/php-api/search/GeneralI.html
    deleted file mode 100644
    index fa2068aad..000000000
    --- a/docs/php-api/search/GeneralI.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_id><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.id" target=_parent class=ISymbol>id</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_idrefs><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.idrefs" target=_parent class=ISymbol>idrefs</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_image><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.image" target=_parent class=ISymbol>image</a>, <span class=IParent>mxGdCanvas</span></div></div><div class=SRResult id=SR_imageBundles><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.imageBundles" target=_parent class=ISymbol>imageBundles</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_imageCache><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.imageCache" target=_parent class=ISymbol>imageCache</a>, <span class=IParent>mxGdCanvas</span></div></div><div class=SRResult id=SR_images><div class=IEntry><a href="../files/util/mxImageBundle-php.html#mxImageBundle.images" target=_parent class=ISymbol>images</a>, <span class=IParent>mxImageBundle</span></div></div><div class=SRResult id=SR_indexOf><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.indexOf" target=_parent class=ISymbol>indexOf</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_indexOfStylename><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.indexOfStylename" target=_parent class=ISymbol>indexOfStylename</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_info><div class=IEntry><a href="../files/util/mxLog-php.html#mxLog.info" target=_parent class=ISymbol>info</a>, <span class=IParent>mxLog</span></div></div><div class=SRResult id=SR_insert><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.insert" target=_parent class=ISymbol>insert</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_insertEdge><div class=IEntry><a href="javascript:searchResults.Toggle('SR_insertEdge')" class=ISymbol>insertEdge</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.insertEdge" target=_parent class=IParent>mxCell</a><a href="../files/view/mxGraph-php.html#mxGraph.insertEdge" target=_parent class=IParent>mxGraph</a></div></div></div><div class=SRResult id=SR_insertIntoGraph><div class=IEntry><a href="../files/io/mxCodec-php.html#mxCodec.insertIntoGraph" target=_parent class=ISymbol>insertIntoGraph</a>, <span class=IParent>mxCodec</span></div></div><div class=SRResult id=SR_insertVertex><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.insertVertex" target=_parent class=ISymbol>insertVertex</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_intersection><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.intersection" target=_parent class=ISymbol>intersection</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_invalid><div class=IEntry><a href="../files/view/mxCellState-php.html#mxCellState.invalid" target=_parent class=ISymbol>invalid</a>, <span class=IParent>mxCellState</span></div></div><div class=SRResult id=SR_invalidate><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.invalidate" target=_parent class=ISymbol>invalidate</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_isAncestor><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.isAncestor" target=_parent class=ISymbol>isAncestor</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_isCellCollapsed><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.isCellCollapsed" target=_parent class=ISymbol>isCellCollapsed</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_isCellVisible><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.isCellVisible" target=_parent class=ISymbol>isCellVisible</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_isCollapsed><div class=IEntry><a href="javascript:searchResults.Toggle('SR_isCollapsed')" class=ISymbol>isCollapsed</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.isCollapsed" target=_parent class=IParent>mxCell</a><a href="../files/model/mxGraphModel-php.html#mxGraphModel.isCollapsed" target=_parent class=IParent>mxGraphModel</a></div></div></div><div class=SRResult id=SR_isConnectable><div class=IEntry><a href="javascript:searchResults.Toggle('SR_isConnectable')" class=ISymbol>isConnectable</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.isConnectable" target=_parent class=IParent>mxCell</a><a href="../files/model/mxGraphModel-php.html#mxGraphModel.isConnectable" target=_parent class=IParent>mxGraphModel</a></div></div></div><div class=SRResult id=SR_isConsumed><div class=IEntry><a href="../files/util/mxEventObject-php.html#mxEventObject.isConsumed" target=_parent class=ISymbol>isConsumed</a>, <span class=IParent>mxEventObject</span></div></div><div class=SRResult id=SR_isEdge><div class=IEntry><a href="javascript:searchResults.Toggle('SR_isEdge')" class=ISymbol>isEdge</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.isEdge" target=_parent class=IParent>mxCell</a><a href="../files/model/mxGraphModel-php.html#mxGraphModel.isEdge" target=_parent class=IParent>mxGraphModel</a></div></div></div><div class=SRResult id=SR_isExcluded><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.isExcluded" target=_parent class=ISymbol>isExcluded</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_isNode><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.isNode" target=_parent class=ISymbol>isNode</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_isOrthogonal><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.isOrthogonal" target=_parent class=ISymbol>isOrthogonal</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_isReference><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.isReference" target=_parent class=ISymbol>isReference</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_isVertex><div class=IEntry><a href="javascript:searchResults.Toggle('SR_isVertex')" class=ISymbol>isVertex</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.isVertex" target=_parent class=IParent>mxCell</a><a href="../files/model/mxGraphModel-php.html#mxGraphModel.isVertex" target=_parent class=IParent>mxGraphModel</a></div></div></div><div class=SRResult id=SR_isVisible><div class=IEntry><a href="javascript:searchResults.Toggle('SR_isVisible')" class=ISymbol>isVisible</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.isVisible" target=_parent class=IParent>mxCell</a><a href="../files/model/mxGraphModel-php.html#mxGraphModel.isVisible" target=_parent class=IParent>mxGraphModel</a></div></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/GeneralL.html b/docs/php-api/search/GeneralL.html
    deleted file mode 100644
    index 58a049a54..000000000
    --- a/docs/php-api/search/GeneralL.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_LABEL_undINSET><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.LABEL_INSET" target=_parent class=ISymbol>LABEL_INSET</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_labelBounds><div class=IEntry><a href="../files/view/mxCellState-php.html#mxCellState.labelBounds" target=_parent class=ISymbol>labelBounds</a>, <span class=IParent>mxCellState</span></div></div><div class=SRResult id=SR_labelsVisible><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.labelsVisible" target=_parent class=ISymbol>labelsVisible</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_leave><div class=IEntry><a href="../files/util/mxLog-php.html#mxLog.leave" target=_parent class=ISymbol>leave</a>, <span class=IParent>mxLog</span></div></div><div class=SRResult id=SR_length><div class=IEntry><a href="../files/view/mxCellState-php.html#mxCellState.length" target=_parent class=ISymbol>length</a>, <span class=IParent>mxCellState</span></div></div><div class=SRResult id=SR_level_unddebug><div class=IEntry><a href="../files/util/mxLog-php.html#mxLog.level_debug" target=_parent class=ISymbol>level_debug</a>, <span class=IParent>mxLog</span></div></div><div class=SRResult id=SR_level_underror><div class=IEntry><a href="../files/util/mxLog-php.html#mxLog.level_error" target=_parent class=ISymbol>level_error</a>, <span class=IParent>mxLog</span></div></div><div class=SRResult id=SR_level_undfine><div class=IEntry><a href="../files/util/mxLog-php.html#mxLog.level_fine" target=_parent class=ISymbol>level_fine</a>, <span class=IParent>mxLog</span></div></div><div class=SRResult id=SR_level_undinfo><div class=IEntry><a href="../files/util/mxLog-php.html#mxLog.level_info" target=_parent class=ISymbol>level_info</a>, <span class=IParent>mxLog</span></div></div><div class=SRResult id=SR_level_undwarn><div class=IEntry><a href="../files/util/mxLog-php.html#mxLog.level_warn" target=_parent class=ISymbol>level_warn</a>, <span class=IParent>mxLog</span></div></div><div class=SRResult id=SR_loadImage><div class=IEntry><a href="javascript:searchResults.Toggle('SR_loadImage')" class=ISymbol>loadImage</a><div class=ISubIndex><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.loadImage" target=_parent class=IParent>mxGdCanvas</a><a href="../files/util/mxUtils-php.html#mxUtils.loadImage" target=_parent class=IParent>mxUtils</a></div></div></div><div class=SRResult id=SR_loadXmlDocument><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.loadXmlDocument" target=_parent class=ISymbol>loadXmlDocument</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_logfiles><div class=IEntry><a href="../files/util/mxLog-php.html#mxLog.logfiles" target=_parent class=ISymbol>logfiles</a>, <span class=IParent>mxLog</span></div></div><div class=SRResult id=SR_lookup><div class=IEntry><a href="../files/io/mxCodec-php.html#mxCodec.lookup" target=_parent class=ISymbol>lookup</a>, <span class=IParent>mxCodec</span></div></div><div class=SRResult id=SR_Loop><div class=IEntry><a href="../files/view/mxEdgeStyle-php.html#mxEdgeStyle.Loop" target=_parent class=ISymbol>Loop</a>, <span class=IParent>mxEdgeStyle</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/GeneralM.html b/docs/php-api/search/GeneralM.html
    deleted file mode 100644
    index 665f837d5..000000000
    --- a/docs/php-api/search/GeneralM.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_maintainEdgeParent><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.maintainEdgeParent" target=_parent class=ISymbol>maintainEdgeParent</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_mapping><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.mapping" target=_parent class=ISymbol>mapping</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_mergeChildren><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.mergeChildren" target=_parent class=ISymbol>mergeChildren</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_mergeChildrenImpl><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.mergeChildrenImpl" target=_parent class=ISymbol>mergeChildrenImpl</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_MIN_undACTIVE_undREGION><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.MIN_ACTIVE_REGION" target=_parent class=ISymbol>MIN_ACTIVE_REGION</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_model><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.model" target=_parent class=ISymbol>model</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_mxCell><div class=IEntry><a href="javascript:searchResults.Toggle('SR_mxCell')" class=ISymbol>mxCell</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell" target=_parent class=IParent>Global</a><a href="../files/model/mxCell-php.html#mxCell.mxCell" target=_parent class=IParent>mxCell</a></div></div></div><div class=SRResult id=SR_mxCellCodec><div class=IEntry><a href="../files/io/mxCellCodec-php.html#mxCellCodec" target=_parent class=ISymbol>mxCellCodec</a></div></div><div class=SRResult id=SR_mxCellPath><div class=IEntry><a href="../files/model/mxCellPath-php.html#mxCellPath" target=_parent class=ISymbol>mxCellPath</a></div></div><div class=SRResult id=SR_mxCellState><div class=IEntry><a href="javascript:searchResults.Toggle('SR_mxCellState')" class=ISymbol>mxCellState</a><div class=ISubIndex><a href="../files/view/mxCellState-php.html#mxCellState" target=_parent class=IParent>Global</a><a href="../files/view/mxCellState-php.html#mxCellState.mxCellState" target=_parent class=IParent>mxCellState</a></div></div></div><div class=SRResult id=SR_mxCodec><div class=IEntry><a href="../files/io/mxCodec-php.html#mxCodec" target=_parent class=ISymbol>mxCodec</a></div></div><div class=SRResult id=SR_mxCodecRegistry><div class=IEntry><a href="../files/io/mxCodecRegistry-php.html#mxCodecRegistry" target=_parent class=ISymbol>mxCodecRegistry</a></div></div><div class=SRResult id=SR_mxConnectionConstraint><div class=IEntry><a href="javascript:searchResults.Toggle('SR_mxConnectionConstraint')" class=ISymbol>mxConnectionConstraint</a><div class=ISubIndex><a href="../files/view/mxConnectionConstraint-php.html#mxConnectionConstraint" target=_parent class=IParent>Global</a><a href="../files/view/mxConnectionConstraint-php.html#mxConnectionConstraint.mxConnectionConstraint" target=_parent class=IParent>mxConnectionConstraint</a></div></div></div><div class=SRResult id=SR_mxConstants><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants" target=_parent class=ISymbol>mxConstants</a></div></div><div class=SRResult id=SR_mxEdgeStyle><div class=IEntry><a href="../files/view/mxEdgeStyle-php.html#mxEdgeStyle" target=_parent class=ISymbol>mxEdgeStyle</a></div></div><div class=SRResult id=SR_mxEdgeStyleFunction><div class=IEntry><a href="../files/view/mxEdgeStyle-php.html#mxEdgeStyleFunction" target=_parent class=ISymbol>mxEdgeStyleFunction</a></div></div><div class=SRResult id=SR_mxElbowConnector><div class=IEntry><a href="../files/view/mxEdgeStyle-php.html#mxElbowConnector" target=_parent class=ISymbol>mxElbowConnector</a></div></div><div class=SRResult id=SR_mxEllipsePerimeter><div class=IEntry><a href="../files/view/mxPerimeter-php.html#mxEllipsePerimeter" target=_parent class=ISymbol>mxEllipsePerimeter</a></div></div><div class=SRResult id=SR_mxEntityRelation><div class=IEntry><a href="../files/view/mxEdgeStyle-php.html#mxEntityRelation" target=_parent class=ISymbol>mxEntityRelation</a></div></div><div class=SRResult id=SR_mxEvent><div class=IEntry><a href="../files/util/mxEvent-php.html#mxEvent" target=_parent class=ISymbol>mxEvent</a></div></div><div class=SRResult id=SR_mxEventObject><div class=IEntry><a href="javascript:searchResults.Toggle('SR_mxEventObject')" class=ISymbol>mxEventObject</a><div class=ISubIndex><a href="../files/util/mxEventObject-php.html#mxEventObject" target=_parent class=IParent>Global</a><a href="../files/util/mxEventObject-php.html#mxEventObject.mxEventObject" target=_parent class=IParent>mxEventObject</a></div></div></div><div class=SRResult id=SR_mxEventSource><div class=IEntry><a href="../files/util/mxEventSource-php.html#mxEventSource" target=_parent class=ISymbol>mxEventSource</a></div></div><div class=SRResult id=SR_mxGdCanvas><div class=IEntry><a href="javascript:searchResults.Toggle('SR_mxGdCanvas')" class=ISymbol>mxGdCanvas</a><div class=ISubIndex><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas" target=_parent class=IParent>Global</a><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.mxGdCanvas" target=_parent class=IParent>mxGdCanvas</a><a href="../files/canvas/mxHtmlCanvas-php.html#mxHtmlCanvas.mxGdCanvas" target=_parent class=IParent>mxHtmlCanvas</a></div></div></div><div class=SRResult id=SR_mxGdCanvas_perphp><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.php" target=_parent class=ISymbol>mxGdCanvas.php</a></div></div><div class=SRResult id=SR_mxGeometry><div class=IEntry><a href="javascript:searchResults.Toggle('SR_mxGeometry')" class=ISymbol>mxGeometry</a><div class=ISubIndex><a href="../files/model/mxGeometry-php.html#mxGeometry" target=_parent class=IParent>Global</a><a href="../files/model/mxGeometry-php.html#mxGeometry.mxGeometry" target=_parent class=IParent>mxGeometry</a></div></div></div><div class=SRResult id=SR_mxGraph><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph" target=_parent class=ISymbol>mxGraph</a></div></div><div class=SRResult id=SR_mxGraphModel><div class=IEntry><a href="javascript:searchResults.Toggle('SR_mxGraphModel')" class=ISymbol>mxGraphModel</a><div class=ISubIndex><a href="../files/model/mxGraphModel-php.html#mxGraphModel" target=_parent class=IParent>Global</a><a href="../files/view/mxGraph-php.html#mxGraph.mxGraphModel" target=_parent class=IParent>mxGraph</a><a href="../files/model/mxGraphModel-php.html#mxGraphModel.mxGraphModel" target=_parent class=IParent>mxGraphModel</a></div></div></div><div class=SRResult id=SR_mxGraphView><div class=IEntry><a href="javascript:searchResults.Toggle('SR_mxGraphView')" class=ISymbol>mxGraphView</a><div class=ISubIndex><a href="../files/view/mxGraphView-php.html#mxGraphView" target=_parent class=IParent>Global</a><a href="../files/view/mxGraphView-php.html#mxGraphView.mxGraphView" target=_parent class=IParent>mxGraphView</a></div></div></div><div class=SRResult id=SR_mxGraphViewHtmlReader><div class=IEntry><a href="javascript:searchResults.Toggle('SR_mxGraphViewHtmlReader')" class=ISymbol>mxGraphViewHtmlReader</a><div class=ISubIndex><a href="../files/reader/mxGraphViewHtmlReader-php.html#mxGraphViewHtmlReader" target=_parent class=IParent>Global</a><a href="../files/io/mxCodec-php.html#mxCodec.mxGraphViewHtmlReader" target=_parent class=IParent>mxCodec</a><a href="../files/reader/mxGraphViewHtmlReader-php.html#mxGraphViewHtmlReader.mxGraphViewHtmlReader" target=_parent class=IParent>mxGraphViewHtmlReader</a></div></div></div><div class=SRResult id=SR_mxGraphViewImageReader><div class=IEntry><a href="javascript:searchResults.Toggle('SR_mxGraphViewImageReader')" class=ISymbol>mxGraphViewImageReader</a><div class=ISubIndex><a href="../files/reader/mxGraphViewImageReader-php.html#mxGraphViewImageReader" target=_parent class=IParent>Global</a><a href="../files/reader/mxGraphViewImageReader-php.html#mxGraphViewImageReader.mxGraphViewImageReader" target=_parent class=IParent>mxGraphViewImageReader</a></div></div></div><div class=SRResult id=SR_mxHtmlCanvas><div class=IEntry><a href="../files/canvas/mxHtmlCanvas-php.html#mxHtmlCanvas" target=_parent class=ISymbol>mxHtmlCanvas</a></div></div><div class=SRResult id=SR_mxImageBundle><div class=IEntry><a href="javascript:searchResults.Toggle('SR_mxImageBundle')" class=ISymbol>mxImageBundle</a><div class=ISubIndex><a href="../files/util/mxImageBundle-php.html#mxImageBundle" target=_parent class=IParent>Global</a><a href="../files/util/mxImageBundle-php.html#mxImageBundle.mxImageBundle" target=_parent class=IParent>mxImageBundle</a></div></div></div><div class=SRResult id=SR_mxLog><div class=IEntry><a href="../files/util/mxLog-php.html#mxLog" target=_parent class=ISymbol>mxLog</a></div></div><div class=SRResult id=SR_mxLoop><div class=IEntry><a href="../files/view/mxEdgeStyle-php.html#mxLoop" target=_parent class=ISymbol>mxLoop</a></div></div><div class=SRResult id=SR_mxModelCodec><div class=IEntry><a href="../files/io/mxModelCodec-php.html#mxModelCodec" target=_parent class=ISymbol>mxModelCodec</a></div></div><div class=SRResult id=SR_mxObjectCodec><div class=IEntry><a href="javascript:searchResults.Toggle('SR_mxObjectCodec')" class=ISymbol>mxObjectCodec</a><div class=ISubIndex><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec" target=_parent class=IParent>Global</a><a href="../files/io/mxCellCodec-php.html#mxCellCodec.mxObjectCodec" target=_parent class=IParent>mxCellCodec</a><a href="../files/io/mxModelCodec-php.html#mxModelCodec.mxObjectCodec" target=_parent class=IParent>mxModelCodec</a><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.mxObjectCodec" target=_parent class=IParent>mxObjectCodec</a><a href="../files/io/mxStylesheetCodec-php.html#mxStylesheetCodec.mxObjectCodec" target=_parent class=IParent>mxStylesheetCodec</a></div></div></div><div class=SRResult id=SR_mxPerimeter><div class=IEntry><a href="../files/view/mxPerimeter-php.html#mxPerimeter" target=_parent class=ISymbol>mxPerimeter</a></div></div><div class=SRResult id=SR_mxPerimeterFunction><div class=IEntry><a href="../files/view/mxPerimeter-php.html#mxPerimeterFunction" target=_parent class=ISymbol>mxPerimeterFunction</a></div></div><div class=SRResult id=SR_mxPoint><div class=IEntry><a href="javascript:searchResults.Toggle('SR_mxPoint')" class=ISymbol>mxPoint</a><div class=ISubIndex><a href="../files/util/mxPoint-php.html#mxPoint" target=_parent class=IParent>Global</a><a href="../files/util/mxPoint-php.html#mxPoint.mxPoint" target=_parent class=IParent>mxPoint</a></div></div></div><div class=SRResult id=SR_mxRectangle><div class=IEntry><a href="javascript:searchResults.Toggle('SR_mxRectangle')" class=ISymbol>mxRectangle</a><div class=ISubIndex><a href="../files/util/mxRectangle-php.html#mxRectangle" target=_parent class=IParent>Global</a><a href="../files/util/mxRectangle-php.html#mxRectangle.mxRectangle" target=_parent class=IParent>mxRectangle</a></div></div></div><div class=SRResult id=SR_mxRectanglePerimeter><div class=IEntry><a href="../files/view/mxPerimeter-php.html#mxRectanglePerimeter" target=_parent class=ISymbol>mxRectanglePerimeter</a></div></div><div class=SRResult id=SR_mxRhombusPerimeter><div class=IEntry><a href="../files/view/mxPerimeter-php.html#mxRhombusPerimeter" target=_parent class=ISymbol>mxRhombusPerimeter</a></div></div><div class=SRResult id=SR_mxSideToSide><div class=IEntry><a href="../files/view/mxEdgeStyle-php.html#mxSideToSide" target=_parent class=ISymbol>mxSideToSide</a></div></div><div class=SRResult id=SR_mxStyleRegistry><div class=IEntry><a href="../files/view/mxStyleRegistry-php.html#mxStyleRegistry" target=_parent class=ISymbol>mxStyleRegistry</a></div></div><div class=SRResult id=SR_mxStylesheet><div class=IEntry><a href="javascript:searchResults.Toggle('SR_mxStylesheet')" class=ISymbol>mxStylesheet</a><div class=ISubIndex><a href="../files/view/mxStylesheet-php.html#mxStylesheet" target=_parent class=IParent>Global</a><a href="../files/view/mxStylesheet-php.html#mxStylesheet.mxStylesheet" target=_parent class=IParent>mxStylesheet</a></div></div></div><div class=SRResult id=SR_mxStylesheetCodec><div class=IEntry><a href="../files/io/mxStylesheetCodec-php.html#mxStylesheetCodec" target=_parent class=ISymbol>mxStylesheetCodec</a></div></div><div class=SRResult id=SR_mxTopToBottom><div class=IEntry><a href="../files/view/mxEdgeStyle-php.html#mxTopToBottom" target=_parent class=ISymbol>mxTopToBottom</a></div></div><div class=SRResult id=SR_mxTrianglePerimeter><div class=IEntry><a href="../files/view/mxPerimeter-php.html#mxTrianglePerimeter" target=_parent class=ISymbol>mxTrianglePerimeter</a></div></div><div class=SRResult id=SR_mxUtils><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils" target=_parent class=ISymbol>mxUtils</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/GeneralN.html b/docs/php-api/search/GeneralN.html
    deleted file mode 100644
    index f93d3467e..000000000
    --- a/docs/php-api/search/GeneralN.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_name><div class=IEntry><a href="../files/util/mxEventObject-php.html#mxEventObject.name" target=_parent class=ISymbol>name</a>, <span class=IParent>mxEventObject</span></div></div><div class=SRResult id=SR_nextId><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.nextId" target=_parent class=ISymbol>nextId</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_NONE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.NONE" target=_parent class=ISymbol>NONE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_NS_undSVG><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.NS_SVG" target=_parent class=ISymbol>NS_SVG</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_NS_undXHTML><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.NS_XHTML" target=_parent class=ISymbol>NS_XHTML</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_NS_undXLINK><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.NS_XLINK" target=_parent class=ISymbol>NS_XLINK</a>, <span class=IParent>mxConstants</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/GeneralO.html b/docs/php-api/search/GeneralO.html
    deleted file mode 100644
    index d8917aef4..000000000
    --- a/docs/php-api/search/GeneralO.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_objects><div class=IEntry><a href="../files/io/mxCodec-php.html#mxCodec.objects" target=_parent class=ISymbol>objects</a>, <span class=IParent>mxCodec</span></div></div><div class=SRResult id=SR_offset><div class=IEntry><a href="javascript:searchResults.Toggle('SR_offset')" class=ISymbol>offset</a><div class=ISubIndex><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.offset" target=_parent class=IParent>mxGdCanvas</a><a href="../files/model/mxGeometry-php.html#mxGeometry.offset" target=_parent class=IParent>mxGeometry</a></div></div></div><div class=SRResult id=SR_origin><div class=IEntry><a href="../files/view/mxCellState-php.html#mxCellState.origin" target=_parent class=ISymbol>origin</a>, <span class=IParent>mxCellState</span></div></div><div class=SRResult id=SR_out><div class=IEntry><a href="../files/canvas/mxHtmlCanvas-php.html#mxHtmlCanvas.out" target=_parent class=ISymbol>out</a>, <span class=IParent>mxHtmlCanvas</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/GeneralP.html b/docs/php-api/search/GeneralP.html
    deleted file mode 100644
    index cb0b03ea1..000000000
    --- a/docs/php-api/search/GeneralP.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_paintCell><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.paintCell" target=_parent class=ISymbol>paintCell</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_paintState><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.paintState" target=_parent class=ISymbol>paintState</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_parent><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.parent" target=_parent class=ISymbol>parent</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_parsePoints><div class=IEntry><a href="../files/reader/mxGraphViewImageReader-php.html#mxGraphViewImageReader.parsePoints" target=_parent class=ISymbol>parsePoints</a>, <span class=IParent>mxGraphViewImageReader</span></div></div><div class=SRResult id=SR_parser><div class=IEntry><a href="../files/reader/mxGraphViewImageReader-php.html#mxGraphViewImageReader.parser" target=_parent class=ISymbol>parser</a>, <span class=IParent>mxGraphViewImageReader</span></div></div><div class=SRResult id=SR_parseState><div class=IEntry><a href="../files/reader/mxGraphViewImageReader-php.html#mxGraphViewImageReader.parseState" target=_parent class=ISymbol>parseState</a>, <span class=IParent>mxGraphViewImageReader</span></div></div><div class=SRResult id=SR_parseXml><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.parseXml" target=_parent class=ISymbol>parseXml</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_perimeter><div class=IEntry><a href="../files/view/mxConnectionConstraint-php.html#mxConnectionConstraint.perimeter" target=_parent class=ISymbol>perimeter</a>, <span class=IParent>mxConnectionConstraint</span></div></div><div class=SRResult id=SR_PERIMETER_undELLIPSE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.PERIMETER_ELLIPSE" target=_parent class=ISymbol>PERIMETER_ELLIPSE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_PERIMETER_undRECTANGLE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.PERIMETER_RECTANGLE" target=_parent class=ISymbol>PERIMETER_RECTANGLE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_PERIMETER_undRHOMBUS><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.PERIMETER_RHOMBUS" target=_parent class=ISymbol>PERIMETER_RHOMBUS</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_PERIMETER_undTRIANGLE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.PERIMETER_TRIANGLE" target=_parent class=ISymbol>PERIMETER_TRIANGLE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_point><div class=IEntry><a href="../files/view/mxConnectionConstraint-php.html#mxConnectionConstraint.point" target=_parent class=ISymbol>point</a>, <span class=IParent>mxConnectionConstraint</span></div></div><div class=SRResult id=SR_points><div class=IEntry><a href="../files/model/mxGeometry-php.html#mxGeometry.points" target=_parent class=ISymbol>points</a>, <span class=IParent>mxGeometry</span></div></div><div class=SRResult id=SR_postProcessCellStyle><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.postProcessCellStyle" target=_parent class=ISymbol>postProcessCellStyle</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_printLog><div class=IEntry><a href="../files/util/mxLog-php.html#mxLog.printLog" target=_parent class=ISymbol>printLog</a>, <span class=IParent>mxLog</span></div></div><div class=SRResult id=SR_processInclude><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.processInclude" target=_parent class=ISymbol>processInclude</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_properties><div class=IEntry><a href="../files/util/mxEventObject-php.html#mxEventObject.properties" target=_parent class=ISymbol>properties</a>, <span class=IParent>mxEventObject</span></div></div><div class=SRResult id=SR_putCellStyle><div class=IEntry><a href="../files/view/mxStylesheet-php.html#mxStylesheet.putCellStyle" target=_parent class=ISymbol>putCellStyle</a>, <span class=IParent>mxStylesheet</span></div></div><div class=SRResult id=SR_putDefaultEdgeStyle><div class=IEntry><a href="../files/view/mxStylesheet-php.html#mxStylesheet.putDefaultEdgeStyle" target=_parent class=ISymbol>putDefaultEdgeStyle</a>, <span class=IParent>mxStylesheet</span></div></div><div class=SRResult id=SR_putDefaultVertexStyle><div class=IEntry><a href="../files/view/mxStylesheet-php.html#mxStylesheet.putDefaultVertexStyle" target=_parent class=ISymbol>putDefaultVertexStyle</a>, <span class=IParent>mxStylesheet</span></div></div><div class=SRResult id=SR_putImage><div class=IEntry><a href="../files/util/mxImageBundle-php.html#mxImageBundle.putImage" target=_parent class=ISymbol>putImage</a>, <span class=IParent>mxImageBundle</span></div></div><div class=SRResult id=SR_putObject><div class=IEntry><a href="../files/io/mxCodec-php.html#mxCodec.putObject" target=_parent class=ISymbol>putObject</a>, <span class=IParent>mxCodec</span></div></div><div class=SRResult id=SR_putValue><div class=IEntry><a href="../files/view/mxStyleRegistry-php.html#mxStyleRegistry.putValue" target=_parent class=ISymbol>putValue</a>, <span class=IParent>mxStyleRegistry</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/GeneralR.html b/docs/php-api/search/GeneralR.html
    deleted file mode 100644
    index 5961aee4b..000000000
    --- a/docs/php-api/search/GeneralR.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_RAD_undPER_undDEG><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.RAD_PER_DEG" target=_parent class=ISymbol>RAD_PER_DEG</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_read><div class=IEntry><a href="../files/reader/mxGraphViewImageReader-php.html#mxGraphViewImageReader.read" target=_parent class=ISymbol>read</a>, <span class=IParent>mxGraphViewImageReader</span></div></div><div class=SRResult id=SR_readFile><div class=IEntry><a href="javascript:searchResults.Toggle('SR_readFile')" class=ISymbol>readFile</a><div class=ISubIndex><a href="../files/reader/mxGraphViewImageReader-php.html#mxGraphViewImageReader.readFile" target=_parent class=IParent>mxGraphViewImageReader</a><a href="../files/util/mxUtils-php.html#mxUtils.readFile" target=_parent class=IParent>mxUtils</a></div></div></div><div class=SRResult id=SR_RectanglePerimeter><div class=IEntry><a href="../files/view/mxPerimeter-php.html#mxPerimeter.RectanglePerimeter" target=_parent class=ISymbol>RectanglePerimeter</a>, <span class=IParent>mxPerimeter</span></div></div><div class=SRResult id=SR_reference><div class=IEntry><a href="../files/io/mxCodec-php.html#mxCodec.reference" target=_parent class=ISymbol>reference</a>, <span class=IParent>mxCodec</span></div></div><div class=SRResult id=SR_register><div class=IEntry><a href="../files/io/mxCodecRegistry-php.html#mxCodecRegistry.register" target=_parent class=ISymbol>register</a>, <span class=IParent>mxCodecRegistry</span></div></div><div class=SRResult id=SR_relative><div class=IEntry><a href="../files/model/mxGeometry-php.html#mxGeometry.relative" target=_parent class=ISymbol>relative</a>, <span class=IParent>mxGeometry</span></div></div><div class=SRResult id=SR_remove><div class=IEntry><a href="javascript:searchResults.Toggle('SR_remove')" class=ISymbol>remove</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.remove" target=_parent class=IParent>mxCell</a><a href="../files/model/mxGraphModel-php.html#mxGraphModel.remove" target=_parent class=IParent>mxGraphModel</a></div></div></div><div class=SRResult id=SR_removeAllStylenames><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.removeAllStylenames" target=_parent class=ISymbol>removeAllStylenames</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_removeEdge><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.removeEdge" target=_parent class=ISymbol>removeEdge</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_removeFromParent><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.removeFromParent" target=_parent class=ISymbol>removeFromParent</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_removeFromTerminal><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.removeFromTerminal" target=_parent class=ISymbol>removeFromTerminal</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_removeImageBundle><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.removeImageBundle" target=_parent class=ISymbol>removeImageBundle</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_removeState><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.removeState" target=_parent class=ISymbol>removeState</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_removeStylename><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.removeStylename" target=_parent class=ISymbol>removeStylename</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_resolve><div class=IEntry><a href="../files/model/mxCellPath-php.html#mxCellPath.resolve" target=_parent class=ISymbol>resolve</a>, <span class=IParent>mxCellPath</span></div></div><div class=SRResult id=SR_restoreClone><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.restoreClone" target=_parent class=ISymbol>restoreClone</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_reverse><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.reverse" target=_parent class=ISymbol>reverse</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_RhombusPerimeter><div class=IEntry><a href="../files/view/mxPerimeter-php.html#mxPerimeter.RhombusPerimeter" target=_parent class=ISymbol>RhombusPerimeter</a>, <span class=IParent>mxPerimeter</span></div></div><div class=SRResult id=SR_root><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.root" target=_parent class=ISymbol>root</a>, <span class=IParent>mxGraphModel</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/GeneralS.html b/docs/php-api/search/GeneralS.html
    deleted file mode 100644
    index a01aef7f8..000000000
    --- a/docs/php-api/search/GeneralS.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_scale><div class=IEntry><a href="javascript:searchResults.Toggle('SR_scale')" class=ISymbol>scale</a><div class=ISubIndex><a href="../files/view/mxGraphView-php.html#mxGraphView.scale" target=_parent class=IParent>mxGraphView</a><a href="../files/reader/mxGraphViewImageReader-php.html#mxGraphViewImageReader.scale" target=_parent class=IParent>mxGraphViewImageReader</a></div></div></div><div class=SRResult id=SR2_SCALE><div class=IEntry><a href="../files/util/mxEvent-php.html#mxEvent.SCALE" target=_parent class=ISymbol>SCALE</a>, <span class=IParent>mxEvent</span></div></div><div class=SRResult id=SR_segments><div class=IEntry><a href="../files/view/mxCellState-php.html#mxCellState.segments" target=_parent class=ISymbol>segments</a>, <span class=IParent>mxCellState</span></div></div><div class=SRResult id=SR_setAttribute><div class=IEntry><a href="javascript:searchResults.Toggle('SR_setAttribute')" class=ISymbol>setAttribute</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.setAttribute" target=_parent class=IParent>mxCell</a><a href="../files/io/mxCodec-php.html#mxCodec.setAttribute" target=_parent class=IParent>mxCodec</a></div></div></div><div class=SRResult id=SR_setCellStyleFlags><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.setCellStyleFlags" target=_parent class=ISymbol>setCellStyleFlags</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_setCellStyles><div class=IEntry><a href="javascript:searchResults.Toggle('SR_setCellStyles')" class=ISymbol>setCellStyles</a><div class=ISubIndex><a href="../files/view/mxGraph-php.html#mxGraph.setCellStyles" target=_parent class=IParent>mxGraph</a><a href="../files/util/mxUtils-php.html#mxUtils.setCellStyles" target=_parent class=IParent>mxUtils</a></div></div></div><div class=SRResult id=SR_setCollapsed><div class=IEntry><a href="javascript:searchResults.Toggle('SR_setCollapsed')" class=ISymbol>setCollapsed</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.setCollapsed" target=_parent class=IParent>mxCell</a><a href="../files/model/mxGraphModel-php.html#mxGraphModel.setCollapsed" target=_parent class=IParent>mxGraphModel</a></div></div></div><div class=SRResult id=SR_setConnectable><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.setConnectable" target=_parent class=ISymbol>setConnectable</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_setEdge><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.setEdge" target=_parent class=ISymbol>setEdge</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_setGeometry><div class=IEntry><a href="javascript:searchResults.Toggle('SR_setGeometry')" class=ISymbol>setGeometry</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.setGeometry" target=_parent class=IParent>mxCell</a><a href="../files/model/mxGraphModel-php.html#mxGraphModel.setGeometry" target=_parent class=IParent>mxGraphModel</a></div></div></div><div class=SRResult id=SR_setGraphBounds><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.setGraphBounds" target=_parent class=ISymbol>setGraphBounds</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_setId><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.setId" target=_parent class=ISymbol>setId</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_setImage><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.setImage" target=_parent class=ISymbol>setImage</a>, <span class=IParent>mxGdCanvas</span></div></div><div class=SRResult id=SR_setImageBundles><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.setImageBundles" target=_parent class=ISymbol>setImageBundles</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_setParent><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.setParent" target=_parent class=ISymbol>setParent</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_setRect><div class=IEntry><a href="../files/util/mxRectangle-php.html#mxRectangle.setRect" target=_parent class=ISymbol>setRect</a>, <span class=IParent>mxRectangle</span></div></div><div class=SRResult id=SR_setRoot><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.setRoot" target=_parent class=ISymbol>setRoot</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_setScale><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.setScale" target=_parent class=ISymbol>setScale</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_setStyle><div class=IEntry><a href="javascript:searchResults.Toggle('SR_setStyle')" class=ISymbol>setStyle</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.setStyle" target=_parent class=IParent>mxCell</a><a href="../files/model/mxGraphModel-php.html#mxGraphModel.setStyle" target=_parent class=IParent>mxGraphModel</a><a href="../files/util/mxUtils-php.html#mxUtils.setStyle" target=_parent class=IParent>mxUtils</a></div></div></div><div class=SRResult id=SR_setStyleFlag><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.setStyleFlag" target=_parent class=ISymbol>setStyleFlag</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_setTerminal><div class=IEntry><a href="javascript:searchResults.Toggle('SR_setTerminal')" class=ISymbol>setTerminal</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.setTerminal" target=_parent class=IParent>mxCell</a><a href="../files/model/mxGraphModel-php.html#mxGraphModel.setTerminal" target=_parent class=IParent>mxGraphModel</a></div></div></div><div class=SRResult id=SR_setTerminalPoint><div class=IEntry><a href="../files/model/mxGeometry-php.html#mxGeometry.setTerminalPoint" target=_parent class=ISymbol>setTerminalPoint</a>, <span class=IParent>mxGeometry</span></div></div><div class=SRResult id=SR_setTerminals><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.setTerminals" target=_parent class=ISymbol>setTerminals</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_setTranslate><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.setTranslate" target=_parent class=ISymbol>setTranslate</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_setValue><div class=IEntry><a href="javascript:searchResults.Toggle('SR_setValue')" class=ISymbol>setValue</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.setValue" target=_parent class=IParent>mxCell</a><a href="../files/model/mxGraphModel-php.html#mxGraphModel.setValue" target=_parent class=IParent>mxGraphModel</a></div></div></div><div class=SRResult id=SR_setVertex><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.setVertex" target=_parent class=ISymbol>setVertex</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_setVisible><div class=IEntry><a href="javascript:searchResults.Toggle('SR_setVisible')" class=ISymbol>setVisible</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.setVisible" target=_parent class=IParent>mxCell</a><a href="../files/model/mxGraphModel-php.html#mxGraphModel.setVisible" target=_parent class=IParent>mxGraphModel</a></div></div></div><div class=SRResult id=SR_SHADOW_undOFFSETX><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.SHADOW_OFFSETX" target=_parent class=ISymbol>SHADOW_OFFSETX</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_SHADOW_undOFFSETY><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.SHADOW_OFFSETY" target=_parent class=ISymbol>SHADOW_OFFSETY</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_shadowColor><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.shadowColor" target=_parent class=ISymbol>shadowColor</a>, <span class=IParent>mxGdCanvas</span></div></div><div class=SRResult id=SR_SHAPE_undACTOR><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.SHAPE_ACTOR" target=_parent class=ISymbol>SHAPE_ACTOR</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_SHAPE_undARROW><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.SHAPE_ARROW" target=_parent class=ISymbol>SHAPE_ARROW</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_SHAPE_undCLOUD><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.SHAPE_CLOUD" target=_parent class=ISymbol>SHAPE_CLOUD</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_SHAPE_undCONNECTOR><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.SHAPE_CONNECTOR" target=_parent class=ISymbol>SHAPE_CONNECTOR</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_SHAPE_undCYLINDER><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.SHAPE_CYLINDER" target=_parent class=ISymbol>SHAPE_CYLINDER</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_SHAPE_undDOUBLE_undELLIPSE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.SHAPE_DOUBLE_ELLIPSE" target=_parent class=ISymbol>SHAPE_DOUBLE_ELLIPSE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_SHAPE_undELLIPSE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.SHAPE_ELLIPSE" target=_parent class=ISymbol>SHAPE_ELLIPSE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_SHAPE_undHEXAGON><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.SHAPE_HEXAGON" target=_parent class=ISymbol>SHAPE_HEXAGON</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_SHAPE_undIMAGE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.SHAPE_IMAGE" target=_parent class=ISymbol>SHAPE_IMAGE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_SHAPE_undLABEL><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.SHAPE_LABEL" target=_parent class=ISymbol>SHAPE_LABEL</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_SHAPE_undLINE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.SHAPE_LINE" target=_parent class=ISymbol>SHAPE_LINE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_SHAPE_undRECTANGLE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.SHAPE_RECTANGLE" target=_parent class=ISymbol>SHAPE_RECTANGLE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_SHAPE_undRHOMBUS><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.SHAPE_RHOMBUS" target=_parent class=ISymbol>SHAPE_RHOMBUS</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_SHAPE_undSWIMLANE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.SHAPE_SWIMLANE" target=_parent class=ISymbol>SHAPE_SWIMLANE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_SHAPE_undTRIANGLE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.SHAPE_TRIANGLE" target=_parent class=ISymbol>SHAPE_TRIANGLE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_SideToSide><div class=IEntry><a href="../files/view/mxEdgeStyle-php.html#mxEdgeStyle.SideToSide" target=_parent class=ISymbol>SideToSide</a>, <span class=IParent>mxEdgeStyle</span></div></div><div class=SRResult id=SR_source><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.source" target=_parent class=ISymbol>source</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_sourcePoint><div class=IEntry><a href="../files/model/mxGeometry-php.html#mxGeometry.sourcePoint" target=_parent class=ISymbol>sourcePoint</a>, <span class=IParent>mxGeometry</span></div></div><div class=SRResult id=SR_sSTYLE_undENTRY_undPERIMETER><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.sSTYLE_ENTRY_PERIMETER" target=_parent class=ISymbol>sSTYLE_ENTRY_PERIMETER</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_stackTrace><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.stackTrace" target=_parent class=ISymbol>stackTrace</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_startElement><div class=IEntry><a href="../files/reader/mxGraphViewImageReader-php.html#mxGraphViewImageReader.startElement" target=_parent class=ISymbol>startElement</a>, <span class=IParent>mxGraphViewImageReader</span></div></div><div class=SRResult id=SR_states><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.states" target=_parent class=ISymbol>states</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_style><div class=IEntry><a href="javascript:searchResults.Toggle('SR_style')" class=ISymbol>style</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.style" target=_parent class=IParent>mxCell</a><a href="../files/view/mxCellState-php.html#mxCellState.style" target=_parent class=IParent>mxCellState</a></div></div></div><div class=SRResult id=SR_STYLE_undALIGN><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_ALIGN" target=_parent class=ISymbol>STYLE_ALIGN</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undDASHED><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_DASHED" target=_parent class=ISymbol>STYLE_DASHED</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undDIRECTION><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_DIRECTION" target=_parent class=ISymbol>STYLE_DIRECTION</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undEDGE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_EDGE" target=_parent class=ISymbol>STYLE_EDGE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undELBOW><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_ELBOW" target=_parent class=ISymbol>STYLE_ELBOW</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undENDARROW><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_ENDARROW" target=_parent class=ISymbol>STYLE_ENDARROW</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undENDSIZE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_ENDSIZE" target=_parent class=ISymbol>STYLE_ENDSIZE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undENTRY_undX><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_ENTRY_X" target=_parent class=ISymbol>STYLE_ENTRY_X</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undENTRY_undY><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_ENTRY_Y" target=_parent class=ISymbol>STYLE_ENTRY_Y</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undEXIT_undPERIMETER><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_EXIT_PERIMETER" target=_parent class=ISymbol>STYLE_EXIT_PERIMETER</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undEXIT_undX><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_EXIT_X" target=_parent class=ISymbol>STYLE_EXIT_X</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undEXIT_undY><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_EXIT_Y" target=_parent class=ISymbol>STYLE_EXIT_Y</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undFILLCOLOR><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_FILLCOLOR" target=_parent class=ISymbol>STYLE_FILLCOLOR</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undFONTCOLOR><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_FONTCOLOR" target=_parent class=ISymbol>STYLE_FONTCOLOR</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undFONTFAMILY><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_FONTFAMILY" target=_parent class=ISymbol>STYLE_FONTFAMILY</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undFONTSIZE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_FONTSIZE" target=_parent class=ISymbol>STYLE_FONTSIZE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undFONTSTYLE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_FONTSTYLE" target=_parent class=ISymbol>STYLE_FONTSTYLE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undGRADIENT_undDIRECTION><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_GRADIENT_DIRECTION" target=_parent class=ISymbol>STYLE_GRADIENT_DIRECTION</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undGRADIENTCOLOR><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_GRADIENTCOLOR" target=_parent class=ISymbol>STYLE_GRADIENTCOLOR</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undHORIZONTAL><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_HORIZONTAL" target=_parent class=ISymbol>STYLE_HORIZONTAL</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undIMAGE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_IMAGE" target=_parent class=ISymbol>STYLE_IMAGE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undIMAGE_undALIGN><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_IMAGE_ALIGN" target=_parent class=ISymbol>STYLE_IMAGE_ALIGN</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undIMAGE_undBACKGROUND><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_IMAGE_BACKGROUND" target=_parent class=ISymbol>STYLE_IMAGE_BACKGROUND</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undIMAGE_undBORDER><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_IMAGE_BORDER" target=_parent class=ISymbol>STYLE_IMAGE_BORDER</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undIMAGE_undFLIPH><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_IMAGE_FLIPH" target=_parent class=ISymbol>STYLE_IMAGE_FLIPH</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undIMAGE_undFLIPV><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_IMAGE_FLIPV" target=_parent class=ISymbol>STYLE_IMAGE_FLIPV</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undIMAGE_undHEIGHT><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_IMAGE_HEIGHT" target=_parent class=ISymbol>STYLE_IMAGE_HEIGHT</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undIMAGE_undVERTICALALIGN><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_IMAGE_VERTICALALIGN" target=_parent class=ISymbol>STYLE_IMAGE_VERTICALALIGN</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undIMAGE_undWIDTH><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_IMAGE_WIDTH" target=_parent class=ISymbol>STYLE_IMAGE_WIDTH</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undINDICATOR_undCOLOR><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_INDICATOR_COLOR" target=_parent class=ISymbol>STYLE_INDICATOR_COLOR</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undINDICATOR_undGRADIENTCOLOR><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_INDICATOR_GRADIENTCOLOR" target=_parent class=ISymbol>STYLE_INDICATOR_GRADIENTCOLOR</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undINDICATOR_undHEIGHT><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_INDICATOR_HEIGHT" target=_parent class=ISymbol>STYLE_INDICATOR_HEIGHT</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undINDICATOR_undIMAGE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_INDICATOR_IMAGE" target=_parent class=ISymbol>STYLE_INDICATOR_IMAGE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undINDICATOR_undSHAPE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_INDICATOR_SHAPE" target=_parent class=ISymbol>STYLE_INDICATOR_SHAPE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undINDICATOR_undSPACING><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_INDICATOR_SPACING" target=_parent class=ISymbol>STYLE_INDICATOR_SPACING</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undINDICATOR_undWIDTH><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_INDICATOR_WIDTH" target=_parent class=ISymbol>STYLE_INDICATOR_WIDTH</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undLABEL_undBACKGROUNDCOLOR><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_LABEL_BACKGROUNDCOLOR" target=_parent class=ISymbol>STYLE_LABEL_BACKGROUNDCOLOR</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undLABEL_undBORDERCOLOR><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_LABEL_BORDERCOLOR" target=_parent class=ISymbol>STYLE_LABEL_BORDERCOLOR</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undLABEL_undPOSITION><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_LABEL_POSITION" target=_parent class=ISymbol>STYLE_LABEL_POSITION</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undLOOP><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_LOOP" target=_parent class=ISymbol>STYLE_LOOP</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undNOEDGESTYLE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_NOEDGESTYLE" target=_parent class=ISymbol>STYLE_NOEDGESTYLE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undNOLABEL><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_NOLABEL" target=_parent class=ISymbol>STYLE_NOLABEL</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undOPACITY><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_OPACITY" target=_parent class=ISymbol>STYLE_OPACITY</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undORTHOGONAL><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_ORTHOGONAL" target=_parent class=ISymbol>STYLE_ORTHOGONAL</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undOVERFLOW><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_OVERFLOW" target=_parent class=ISymbol>STYLE_OVERFLOW</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undPERIMETER><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_PERIMETER" target=_parent class=ISymbol>STYLE_PERIMETER</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undPERIMETER_undSPACING><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_PERIMETER_SPACING" target=_parent class=ISymbol>STYLE_PERIMETER_SPACING</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undROTATION><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_ROTATION" target=_parent class=ISymbol>STYLE_ROTATION</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undROUNDED><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_ROUNDED" target=_parent class=ISymbol>STYLE_ROUNDED</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undROUTING_undCENTER_undX><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_ROUTING_CENTER_X" target=_parent class=ISymbol>STYLE_ROUTING_CENTER_X</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undROUTING_undCENTER_undY><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_ROUTING_CENTER_Y" target=_parent class=ISymbol>STYLE_ROUTING_CENTER_Y</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undSEGMENT><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_SEGMENT" target=_parent class=ISymbol>STYLE_SEGMENT</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undSEPARATORCOLOR><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_SEPARATORCOLOR" target=_parent class=ISymbol>STYLE_SEPARATORCOLOR</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undSHADOW><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_SHADOW" target=_parent class=ISymbol>STYLE_SHADOW</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undSHAPE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_SHAPE" target=_parent class=ISymbol>STYLE_SHAPE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undSOURCE_undPERIMETER_undSPACING><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_SOURCE_PERIMETER_SPACING" target=_parent class=ISymbol>STYLE_SOURCE_PERIMETER_SPACING</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undSPACING><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_SPACING" target=_parent class=ISymbol>STYLE_SPACING</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undSPACING_undBOTTOM><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_SPACING_BOTTOM" target=_parent class=ISymbol>STYLE_SPACING_BOTTOM</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undSPACING_undLEFT><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_SPACING_LEFT" target=_parent class=ISymbol>STYLE_SPACING_LEFT</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undSPACING_undRIGHT><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_SPACING_RIGHT" target=_parent class=ISymbol>STYLE_SPACING_RIGHT</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undSPACING_undTOP><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_SPACING_TOP" target=_parent class=ISymbol>STYLE_SPACING_TOP</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undSTARTARROW><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_STARTARROW" target=_parent class=ISymbol>STYLE_STARTARROW</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undSTARTSIZE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_STARTSIZE" target=_parent class=ISymbol>STYLE_STARTSIZE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undSTROKECOLOR><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_STROKECOLOR" target=_parent class=ISymbol>STYLE_STROKECOLOR</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undSTROKEWIDTH><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_STROKEWIDTH" target=_parent class=ISymbol>STYLE_STROKEWIDTH</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undSWIMLANE_undFILLCOLOR><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_SWIMLANE_FILLCOLOR" target=_parent class=ISymbol>STYLE_SWIMLANE_FILLCOLOR</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undSWIMLANE_undLINE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_SWIMLANE_LINE" target=_parent class=ISymbol>STYLE_SWIMLANE_LINE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undTARGET_undPERIMETER_undSPACING><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_TARGET_PERIMETER_SPACING" target=_parent class=ISymbol>STYLE_TARGET_PERIMETER_SPACING</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undTEXT_undOPACITY><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_TEXT_OPACITY" target=_parent class=ISymbol>STYLE_TEXT_OPACITY</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undVERTICAL_undALIGN><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_VERTICAL_ALIGN" target=_parent class=ISymbol>STYLE_VERTICAL_ALIGN</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undVERTICAL_undLABEL_undPOSITION><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_VERTICAL_LABEL_POSITION" target=_parent class=ISymbol>STYLE_VERTICAL_LABEL_POSITION</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undWHITE_undSPACE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_WHITE_SPACE" target=_parent class=ISymbol>STYLE_WHITE_SPACE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_styles><div class=IEntry><a href="../files/view/mxStylesheet-php.html#mxStylesheet.styles" target=_parent class=ISymbol>styles</a>, <span class=IParent>mxStylesheet</span></div></div><div class=SRResult id=SR_stylesheet><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.stylesheet" target=_parent class=ISymbol>stylesheet</a>, <span class=IParent>mxGraph</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/GeneralT.html b/docs/php-api/search/GeneralT.html
    deleted file mode 100644
    index 74244578a..000000000
    --- a/docs/php-api/search/GeneralT.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_tab><div class=IEntry><a href="../files/util/mxLog-php.html#mxLog.tab" target=_parent class=ISymbol>tab</a>, <span class=IParent>mxLog</span></div></div><div class=SRResult id=SR_target><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.target" target=_parent class=ISymbol>target</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_targetPoint><div class=IEntry><a href="../files/model/mxGeometry-php.html#mxGeometry.targetPoint" target=_parent class=ISymbol>targetPoint</a>, <span class=IParent>mxGeometry</span></div></div><div class=SRResult id=SR_template><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.template" target=_parent class=ISymbol>template</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_terminalDistance><div class=IEntry><a href="../files/view/mxCellState-php.html#mxCellState.terminalDistance" target=_parent class=ISymbol>terminalDistance</a>, <span class=IParent>mxCellState</span></div></div><div class=SRResult id=SR_TopToBottom><div class=IEntry><a href="../files/view/mxEdgeStyle-php.html#mxEdgeStyle.TopToBottom" target=_parent class=ISymbol>TopToBottom</a>, <span class=IParent>mxEdgeStyle</span></div></div><div class=SRResult id=SR_toRadians><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.toRadians" target=_parent class=ISymbol>toRadians</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_transformControlPoint><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.transformControlPoint" target=_parent class=ISymbol>transformControlPoint</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_translate><div class=IEntry><a href="javascript:searchResults.Toggle('SR_translate')" class=ISymbol>translate</a><div class=ISubIndex><a href="../files/model/mxGeometry-php.html#mxGeometry.translate" target=_parent class=IParent>mxGeometry</a><a href="../files/view/mxGraphView-php.html#mxGraphView.translate" target=_parent class=IParent>mxGraphView</a></div></div></div><div class=SRResult id=SR2_TRANSLATE><div class=IEntry><a href="../files/util/mxEvent-php.html#mxEvent.TRANSLATE" target=_parent class=ISymbol>TRANSLATE</a>, <span class=IParent>mxEvent</span></div></div><div class=SRResult id=SR_TRANSLATE_undCONTROL_undPOINTS><div class=IEntry><a href="../files/model/mxGeometry-php.html#mxGeometry.TRANSLATE_CONTROL_POINTS" target=_parent class=ISymbol>TRANSLATE_CONTROL_POINTS</a>, <span class=IParent>mxGeometry</span></div></div><div class=SRResult id=SR_translatePoints><div class=IEntry><a href="../files/util/mxUtils-php.html#mxUtils.translatePoints" target=_parent class=ISymbol>translatePoints</a>, <span class=IParent>mxUtils</span></div></div><div class=SRResult id=SR_TrianglePerimeter><div class=IEntry><a href="../files/view/mxPerimeter-php.html#mxPerimeter.TrianglePerimeter" target=_parent class=ISymbol>TrianglePerimeter</a>, <span class=IParent>mxPerimeter</span></div></div><div class=SRResult id=SR_TTF_undENABLED><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.TTF_ENABLED" target=_parent class=ISymbol>TTF_ENABLED</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_TTF_undSIZEFACTOR><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.TTF_SIZEFACTOR" target=_parent class=ISymbol>TTF_SIZEFACTOR</a>, <span class=IParent>mxConstants</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/GeneralU.html b/docs/php-api/search/GeneralU.html
    deleted file mode 100644
    index 8ad6939a0..000000000
    --- a/docs/php-api/search/GeneralU.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_updateBoundingBox><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.updateBoundingBox" target=_parent class=ISymbol>updateBoundingBox</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_updateCellState><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.updateCellState" target=_parent class=ISymbol>updateCellState</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_updateEdgeBounds><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.updateEdgeBounds" target=_parent class=ISymbol>updateEdgeBounds</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_updateEdgeParent><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.updateEdgeParent" target=_parent class=ISymbol>updateEdgeParent</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_updateEdgeParents><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.updateEdgeParents" target=_parent class=ISymbol>updateEdgeParents</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_updateEdgeState><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.updateEdgeState" target=_parent class=ISymbol>updateEdgeState</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_updateFixedTerminalPoint><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.updateFixedTerminalPoint" target=_parent class=ISymbol>updateFixedTerminalPoint</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_updateFixedTerminalPoints><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.updateFixedTerminalPoints" target=_parent class=ISymbol>updateFixedTerminalPoints</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_updateFloatingTerminalPoint><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.updateFloatingTerminalPoint" target=_parent class=ISymbol>updateFloatingTerminalPoint</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_updateFloatingTerminalPoints><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.updateFloatingTerminalPoints" target=_parent class=ISymbol>updateFloatingTerminalPoints</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_updateLabelBounds><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.updateLabelBounds" target=_parent class=ISymbol>updateLabelBounds</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_updateLevel><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.updateLevel" target=_parent class=ISymbol>updateLevel</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_updatePoints><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.updatePoints" target=_parent class=ISymbol>updatePoints</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_updateVertexLabelOffset><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.updateVertexLabelOffset" target=_parent class=ISymbol>updateVertexLabelOffset</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_updateVertexState><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.updateVertexState" target=_parent class=ISymbol>updateVertexState</a>, <span class=IParent>mxGraphView</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/GeneralV.html b/docs/php-api/search/GeneralV.html
    deleted file mode 100644
    index a666bfcd0..000000000
    --- a/docs/php-api/search/GeneralV.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_validate><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.validate" target=_parent class=ISymbol>validate</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_validateCell><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.validateCell" target=_parent class=ISymbol>validateCell</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_validateCellStates><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.validateCellStates" target=_parent class=ISymbol>validateCellStates</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_value><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.value" target=_parent class=ISymbol>value</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_values><div class=IEntry><a href="../files/view/mxStyleRegistry-php.html#mxStyleRegistry.values" target=_parent class=ISymbol>values</a>, <span class=IParent>mxStyleRegistry</span></div></div><div class=SRResult id=SR_Variables><div class=IEntry><a href="javascript:searchResults.Toggle('SR_Variables')" class=ISymbol>Variables</a><div class=ISubIndex><a href="../files/canvas/mxGdCanvas-php.html#Variables" target=_parent class=IParent>Global</a><a href="../files/model/mxCell-php.html#mxCell.Variables" target=_parent class=IParent>mxCell</a><a href="../files/model/mxCellPath-php.html#mxCellPath.Variables" target=_parent class=IParent>mxCellPath</a><a href="../files/view/mxCellState-php.html#mxCellState.Variables" target=_parent class=IParent>mxCellState</a><a href="../files/io/mxCodec-php.html#mxCodec.Variables" target=_parent class=IParent>mxCodec</a><a href="../files/io/mxCodecRegistry-php.html#mxCodecRegistry.Variables" target=_parent class=IParent>mxCodecRegistry</a><a href="../files/view/mxConnectionConstraint-php.html#mxConnectionConstraint.Variables" target=_parent class=IParent>mxConnectionConstraint</a><a href="../files/util/mxConstants-php.html#mxConstants.Variables" target=_parent class=IParent>mxConstants</a><a href="../files/view/mxEdgeStyle-php.html#mxEdgeStyle.Variables" target=_parent class=IParent>mxEdgeStyle</a><a href="../files/util/mxEvent-php.html#mxEvent.Variables" target=_parent class=IParent>mxEvent</a><a href="../files/util/mxEventObject-php.html#mxEventObject.Variables" target=_parent class=IParent>mxEventObject</a><a href="../files/util/mxEventSource-php.html#mxEventSource.Variables" target=_parent class=IParent>mxEventSource</a><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.Variables" target=_parent class=IParent>mxGdCanvas</a><a href="../files/model/mxGeometry-php.html#mxGeometry.Variables" target=_parent class=IParent>mxGeometry</a><a href="../files/view/mxGraph-php.html#mxGraph.Variables" target=_parent class=IParent>mxGraph</a><a href="../files/model/mxGraphModel-php.html#mxGraphModel.Variables" target=_parent class=IParent>mxGraphModel</a><a href="../files/view/mxGraphView-php.html#mxGraphView.Variables" target=_parent class=IParent>mxGraphView</a><a href="../files/reader/mxGraphViewImageReader-php.html#mxGraphViewImageReader.Variables" target=_parent class=IParent>mxGraphViewImageReader</a><a href="../files/canvas/mxHtmlCanvas-php.html#mxHtmlCanvas.Variables" target=_parent class=IParent>mxHtmlCanvas</a><a href="../files/util/mxImageBundle-php.html#mxImageBundle.Variables" target=_parent class=IParent>mxImageBundle</a><a href="../files/util/mxLog-php.html#mxLog.Variables" target=_parent class=IParent>mxLog</a><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.Variables" target=_parent class=IParent>mxObjectCodec</a><a href="../files/view/mxPerimeter-php.html#mxPerimeter.Variables" target=_parent class=IParent>mxPerimeter</a><a href="../files/util/mxPoint-php.html#mxPoint.Variables" target=_parent class=IParent>mxPoint</a><a href="../files/util/mxRectangle-php.html#mxRectangle.Variables" target=_parent class=IParent>mxRectangle</a><a href="../files/view/mxStyleRegistry-php.html#mxStyleRegistry.Variables" target=_parent class=IParent>mxStyleRegistry</a></div></div></div><div class=SRResult id=SR_vertex><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.vertex" target=_parent class=ISymbol>vertex</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_view><div class=IEntry><a href="javascript:searchResults.Toggle('SR_view')" class=ISymbol>view</a><div class=ISubIndex><a href="../files/view/mxCellState-php.html#mxCellState.view" target=_parent class=IParent>mxCellState</a><a href="../files/view/mxGraph-php.html#mxGraph.view" target=_parent class=IParent>mxGraph</a></div></div></div><div class=SRResult id=SR_visible><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.visible" target=_parent class=ISymbol>visible</a>, <span class=IParent>mxCell</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/GeneralW.html b/docs/php-api/search/GeneralW.html
    deleted file mode 100644
    index f3a2f179a..000000000
    --- a/docs/php-api/search/GeneralW.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_W3C_undDEFAULT_undFONTFAMILY><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.W3C_DEFAULT_FONTFAMILY" target=_parent class=ISymbol>W3C_DEFAULT_FONTFAMILY</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_W3C_undSHADOWCOLOR><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.W3C_SHADOWCOLOR" target=_parent class=ISymbol>W3C_SHADOWCOLOR</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_warn><div class=IEntry><a href="../files/util/mxLog-php.html#mxLog.warn" target=_parent class=ISymbol>warn</a>, <span class=IParent>mxLog</span></div></div><div class=SRResult id=SR_width><div class=IEntry><a href="../files/util/mxRectangle-php.html#mxRectangle.width" target=_parent class=ISymbol>width</a>, <span class=IParent>mxRectangle</span></div></div><div class=SRResult id=SR_write><div class=IEntry><a href="../files/util/mxLog-php.html#mxLog.write" target=_parent class=ISymbol>write</a>, <span class=IParent>mxLog</span></div></div><div class=SRResult id=SR_writeAttribute><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.writeAttribute" target=_parent class=ISymbol>writeAttribute</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_writeComplexAttribute><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.writeComplexAttribute" target=_parent class=ISymbol>writeComplexAttribute</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_writeln><div class=IEntry><a href="../files/util/mxLog-php.html#mxLog.writeln" target=_parent class=ISymbol>writeln</a>, <span class=IParent>mxLog</span></div></div><div class=SRResult id=SR_writePrimitiveAttribute><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.writePrimitiveAttribute" target=_parent class=ISymbol>writePrimitiveAttribute</a>, <span class=IParent>mxObjectCodec</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/GeneralX.html b/docs/php-api/search/GeneralX.html
    deleted file mode 100644
    index 675afa946..000000000
    --- a/docs/php-api/search/GeneralX.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_x><div class=IEntry><a href="../files/util/mxPoint-php.html#mxPoint.x" target=_parent class=ISymbol>x</a>, <span class=IParent>mxPoint</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/GeneralY.html b/docs/php-api/search/GeneralY.html
    deleted file mode 100644
    index dc3517575..000000000
    --- a/docs/php-api/search/GeneralY.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_y><div class=IEntry><a href="../files/util/mxPoint-php.html#mxPoint.y" target=_parent class=ISymbol>y</a>, <span class=IParent>mxPoint</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/InterfacesM.html b/docs/php-api/search/InterfacesM.html
    deleted file mode 100644
    index 439698a49..000000000
    --- a/docs/php-api/search/InterfacesM.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_mxEdgeStyleFunction><div class=IEntry><a href="../files/view/mxEdgeStyle-php.html#mxEdgeStyleFunction" target=_parent class=ISymbol>mxEdgeStyleFunction</a></div></div><div class=SRResult id=SR_mxPerimeterFunction><div class=IEntry><a href="../files/view/mxPerimeter-php.html#mxPerimeterFunction" target=_parent class=ISymbol>mxPerimeterFunction</a></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/NoResults.html b/docs/php-api/search/NoResults.html
    deleted file mode 100644
    index 5ce771767..000000000
    --- a/docs/php-api/search/NoResults.html
    +++ /dev/null
    @@ -1,15 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=NoMatches>No Matches</div></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/VariablesA.html b/docs/php-api/search/VariablesA.html
    deleted file mode 100644
    index 7a2a9c5c2..000000000
    --- a/docs/php-api/search/VariablesA.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_absoluteOffset><div class=IEntry><a href="../files/view/mxCellState-php.html#mxCellState.absoluteOffset" target=_parent class=ISymbol>absoluteOffset</a>, <span class=IParent>mxCellState</span></div></div><div class=SRResult id=SR_absolutePoints><div class=IEntry><a href="../files/view/mxCellState-php.html#mxCellState.absolutePoints" target=_parent class=ISymbol>absolutePoints</a>, <span class=IParent>mxCellState</span></div></div><div class=SRResult id=SR_ACTIVE_undREGION><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.ACTIVE_REGION" target=_parent class=ISymbol>ACTIVE_REGION</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_aliases><div class=IEntry><a href="../files/io/mxCodecRegistry-php.html#mxCodecRegistry.aliases" target=_parent class=ISymbol>aliases</a>, <span class=IParent>mxCodecRegistry</span></div></div><div class=SRResult id=SR_ALIGN_undBOTTOM><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.ALIGN_BOTTOM" target=_parent class=ISymbol>ALIGN_BOTTOM</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_ALIGN_undCENTER><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.ALIGN_CENTER" target=_parent class=ISymbol>ALIGN_CENTER</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_ALIGN_undLEFT><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.ALIGN_LEFT" target=_parent class=ISymbol>ALIGN_LEFT</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_ALIGN_undMIDDLE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.ALIGN_MIDDLE" target=_parent class=ISymbol>ALIGN_MIDDLE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_ALIGN_undRIGHT><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.ALIGN_RIGHT" target=_parent class=ISymbol>ALIGN_RIGHT</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_ALIGN_undTOP><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.ALIGN_TOP" target=_parent class=ISymbol>ALIGN_TOP</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_alternateBounds><div class=IEntry><a href="../files/model/mxGeometry-php.html#mxGeometry.alternateBounds" target=_parent class=ISymbol>alternateBounds</a>, <span class=IParent>mxGeometry</span></div></div><div class=SRResult id=SR_antialias><div class=IEntry><a href="javascript:searchResults.Toggle('SR_antialias')" class=ISymbol>antialias</a><div class=ISubIndex><a href="../files/canvas/mxGdCanvas-php.html#antialias" target=_parent class=IParent>Global</a><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.antialias" target=_parent class=IParent>mxGdCanvas</a></div></div></div><div class=SRResult id=SR_ARROW_undBLOCK><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.ARROW_BLOCK" target=_parent class=ISymbol>ARROW_BLOCK</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_ARROW_undCLASSIC><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.ARROW_CLASSIC" target=_parent class=ISymbol>ARROW_CLASSIC</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_ARROW_undDIAMOND><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.ARROW_DIAMOND" target=_parent class=ISymbol>ARROW_DIAMOND</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_ARROW_undOPEN><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.ARROW_OPEN" target=_parent class=ISymbol>ARROW_OPEN</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_ARROW_undOVAL><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.ARROW_OVAL" target=_parent class=ISymbol>ARROW_OVAL</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_ARROW_undSIZE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.ARROW_SIZE" target=_parent class=ISymbol>ARROW_SIZE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_ARROW_undSPACING><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.ARROW_SPACING" target=_parent class=ISymbol>ARROW_SPACING</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_ARROW_undWIDTH><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.ARROW_WIDTH" target=_parent class=ISymbol>ARROW_WIDTH</a>, <span class=IParent>mxConstants</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/VariablesB.html b/docs/php-api/search/VariablesB.html
    deleted file mode 100644
    index 953bad088..000000000
    --- a/docs/php-api/search/VariablesB.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_background><div class=IEntry><a href="../files/reader/mxGraphViewImageReader-php.html#mxGraphViewImageReader.background" target=_parent class=ISymbol>background</a>, <span class=IParent>mxGraphViewImageReader</span></div></div><div class=SRResult id=SR_border><div class=IEntry><a href="../files/reader/mxGraphViewImageReader-php.html#mxGraphViewImageReader.border" target=_parent class=ISymbol>border</a>, <span class=IParent>mxGraphViewImageReader</span></div></div><div class=SRResult id=SR_boundingBox><div class=IEntry><a href="../files/view/mxCellState-php.html#mxCellState.boundingBox" target=_parent class=ISymbol>boundingBox</a>, <span class=IParent>mxCellState</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/VariablesC.html b/docs/php-api/search/VariablesC.html
    deleted file mode 100644
    index c840e04eb..000000000
    --- a/docs/php-api/search/VariablesC.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_canvas><div class=IEntry><a href="../files/reader/mxGraphViewImageReader-php.html#mxGraphViewImageReader.canvas" target=_parent class=ISymbol>canvas</a>, <span class=IParent>mxGraphViewImageReader</span></div></div><div class=SRResult id=SR_cell><div class=IEntry><a href="../files/view/mxCellState-php.html#mxCellState.cell" target=_parent class=ISymbol>cell</a>, <span class=IParent>mxCellState</span></div></div><div class=SRResult id=SR_cells><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.cells" target=_parent class=ISymbol>cells</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_children><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.children" target=_parent class=ISymbol>children</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_codecs><div class=IEntry><a href="javascript:searchResults.Toggle('SR_codecs')" class=ISymbol>codecs</a><div class=ISubIndex><a href="../files/model/mxCellPath-php.html#mxCellPath.codecs" target=_parent class=IParent>mxCellPath</a><a href="../files/io/mxCodecRegistry-php.html#mxCodecRegistry.codecs" target=_parent class=IParent>mxCodecRegistry</a></div></div></div><div class=SRResult id=SR_collapsed><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.collapsed" target=_parent class=ISymbol>collapsed</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_connectable><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.connectable" target=_parent class=ISymbol>connectable</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_consumed><div class=IEntry><a href="../files/util/mxEventObject-php.html#mxEventObject.consumed" target=_parent class=ISymbol>consumed</a>, <span class=IParent>mxEventObject</span></div></div><div class=SRResult id=SR_createIds><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.createIds" target=_parent class=ISymbol>createIds</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_current><div class=IEntry><a href="../files/util/mxLog-php.html#mxLog.current" target=_parent class=ISymbol>current</a>, <span class=IParent>mxLog</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/VariablesD.html b/docs/php-api/search/VariablesD.html
    deleted file mode 100644
    index 576dfe8ec..000000000
    --- a/docs/php-api/search/VariablesD.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_DEFAULT_undFONTFAMILY><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.DEFAULT_FONTFAMILY" target=_parent class=ISymbol>DEFAULT_FONTFAMILY</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_DEFAULT_undFONTSIZE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.DEFAULT_FONTSIZE" target=_parent class=ISymbol>DEFAULT_FONTSIZE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_DEFAULT_undIMAGESIZE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.DEFAULT_IMAGESIZE" target=_parent class=ISymbol>DEFAULT_IMAGESIZE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_DEFAULT_undLINESPACING><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.DEFAULT_LINESPACING" target=_parent class=ISymbol>DEFAULT_LINESPACING</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_DEFAULT_undMARKERSIZE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.DEFAULT_MARKERSIZE" target=_parent class=ISymbol>DEFAULT_MARKERSIZE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_DEFAULT_undSTARTSIZE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.DEFAULT_STARTSIZE" target=_parent class=ISymbol>DEFAULT_STARTSIZE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_defaultLoopStyle><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.defaultLoopStyle" target=_parent class=ISymbol>defaultLoopStyle</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_DEG_undPER_undRAD><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.DEG_PER_RAD" target=_parent class=ISymbol>DEG_PER_RAD</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_DIRECTION_undEAST><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.DIRECTION_EAST" target=_parent class=ISymbol>DIRECTION_EAST</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_DIRECTION_undNORTH><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.DIRECTION_NORTH" target=_parent class=ISymbol>DIRECTION_NORTH</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_DIRECTION_undSOUTH><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.DIRECTION_SOUTH" target=_parent class=ISymbol>DIRECTION_SOUTH</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_DIRECTION_undWEST><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.DIRECTION_WEST" target=_parent class=ISymbol>DIRECTION_WEST</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_document><div class=IEntry><a href="../files/io/mxCodec-php.html#mxCodec.document" target=_parent class=ISymbol>document</a>, <span class=IParent>mxCodec</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/VariablesE.html b/docs/php-api/search/VariablesE.html
    deleted file mode 100644
    index d37b5f914..000000000
    --- a/docs/php-api/search/VariablesE.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_edge><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.edge" target=_parent class=ISymbol>edge</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_edges><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.edges" target=_parent class=ISymbol>edges</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_EDGESTYLE_undENTITY_undRELATION><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.EDGESTYLE_ENTITY_RELATION" target=_parent class=ISymbol>EDGESTYLE_ENTITY_RELATION</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_EDGESTYLE_undLOOP><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.EDGESTYLE_LOOP" target=_parent class=ISymbol>EDGESTYLE_LOOP</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_EDGESTYLE_undSIDETOSIDE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.EDGESTYLE_SIDETOSIDE" target=_parent class=ISymbol>EDGESTYLE_SIDETOSIDE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_EDGESTYLE_undTOPTOBOTTOM><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.EDGESTYLE_TOPTOBOTTOM" target=_parent class=ISymbol>EDGESTYLE_TOPTOBOTTOM</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_ELBOW_undHORIZONTAL><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.ELBOW_HORIZONTAL" target=_parent class=ISymbol>ELBOW_HORIZONTAL</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_ELBOW_undVERTICAL><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.ELBOW_VERTICAL" target=_parent class=ISymbol>ELBOW_VERTICAL</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_ElbowConnector><div class=IEntry><a href="../files/view/mxEdgeStyle-php.html#mxEdgeStyle.ElbowConnector" target=_parent class=ISymbol>ElbowConnector</a>, <span class=IParent>mxEdgeStyle</span></div></div><div class=SRResult id=SR_elements><div class=IEntry><a href="../files/io/mxCodec-php.html#mxCodec.elements" target=_parent class=ISymbol>elements</a>, <span class=IParent>mxCodec</span></div></div><div class=SRResult id=SR_EllipsePerimeter><div class=IEntry><a href="../files/view/mxPerimeter-php.html#mxPerimeter.EllipsePerimeter" target=_parent class=ISymbol>EllipsePerimeter</a>, <span class=IParent>mxPerimeter</span></div></div><div class=SRResult id=SR_EMPTY_undPOINT><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.EMPTY_POINT" target=_parent class=ISymbol>EMPTY_POINT</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_enableTtf><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.enableTtf" target=_parent class=ISymbol>enableTtf</a>, <span class=IParent>mxGdCanvas</span></div></div><div class=SRResult id=SR_encodeDefaults><div class=IEntry><a href="../files/io/mxCodec-php.html#mxCodec.encodeDefaults" target=_parent class=ISymbol>encodeDefaults</a>, <span class=IParent>mxCodec</span></div></div><div class=SRResult id=SR_ENTITY_undSEGMENT><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.ENTITY_SEGMENT" target=_parent class=ISymbol>ENTITY_SEGMENT</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_EntityRelation><div class=IEntry><a href="../files/view/mxEdgeStyle-php.html#mxEdgeStyle.EntityRelation" target=_parent class=ISymbol>EntityRelation</a>, <span class=IParent>mxEdgeStyle</span></div></div><div class=SRResult id=SR_eventListeners><div class=IEntry><a href="../files/util/mxEventSource-php.html#mxEventSource.eventListeners" target=_parent class=ISymbol>eventListeners</a>, <span class=IParent>mxEventSource</span></div></div><div class=SRResult id=SR_exclude><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.exclude" target=_parent class=ISymbol>exclude</a>, <span class=IParent>mxObjectCodec</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/VariablesF.html b/docs/php-api/search/VariablesF.html
    deleted file mode 100644
    index 0d35bf9ba..000000000
    --- a/docs/php-api/search/VariablesF.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_FONT_undBOLD><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.FONT_BOLD" target=_parent class=ISymbol>FONT_BOLD</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_FONT_undITALIC><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.FONT_ITALIC" target=_parent class=ISymbol>FONT_ITALIC</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_FONT_undUNDERLINE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.FONT_UNDERLINE" target=_parent class=ISymbol>FONT_UNDERLINE</a>, <span class=IParent>mxConstants</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/VariablesG.html b/docs/php-api/search/VariablesG.html
    deleted file mode 100644
    index 90ac64138..000000000
    --- a/docs/php-api/search/VariablesG.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_geometry><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.geometry" target=_parent class=ISymbol>geometry</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_graph><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.graph" target=_parent class=ISymbol>graph</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_GRAPH_undMODEL_undCHANGED><div class=IEntry><a href="../files/util/mxEvent-php.html#mxEvent.GRAPH_MODEL_CHANGED" target=_parent class=ISymbol>GRAPH_MODEL_CHANGED</a>, <span class=IParent>mxEvent</span></div></div><div class=SRResult id=SR_graphBounds><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.graphBounds" target=_parent class=ISymbol>graphBounds</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_gridSize><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.gridSize" target=_parent class=ISymbol>gridSize</a>, <span class=IParent>mxGraph</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/VariablesH.html b/docs/php-api/search/VariablesH.html
    deleted file mode 100644
    index bd4898ce9..000000000
    --- a/docs/php-api/search/VariablesH.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_height><div class=IEntry><a href="javascript:searchResults.Toggle('SR_height')" class=ISymbol>height</a><div class=ISubIndex><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.height" target=_parent class=IParent>mxGdCanvas</a><a href="../files/util/mxRectangle-php.html#mxRectangle.height" target=_parent class=IParent>mxRectangle</a></div></div></div><div class=SRResult id=SR_html><div class=IEntry><a href="../files/canvas/mxHtmlCanvas-php.html#mxHtmlCanvas.html" target=_parent class=ISymbol>html</a>, <span class=IParent>mxHtmlCanvas</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/VariablesI.html b/docs/php-api/search/VariablesI.html
    deleted file mode 100644
    index a8de7ab62..000000000
    --- a/docs/php-api/search/VariablesI.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_id><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.id" target=_parent class=ISymbol>id</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_idrefs><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.idrefs" target=_parent class=ISymbol>idrefs</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_image><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.image" target=_parent class=ISymbol>image</a>, <span class=IParent>mxGdCanvas</span></div></div><div class=SRResult id=SR_imageBundles><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.imageBundles" target=_parent class=ISymbol>imageBundles</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_imageCache><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.imageCache" target=_parent class=ISymbol>imageCache</a>, <span class=IParent>mxGdCanvas</span></div></div><div class=SRResult id=SR_images><div class=IEntry><a href="../files/util/mxImageBundle-php.html#mxImageBundle.images" target=_parent class=ISymbol>images</a>, <span class=IParent>mxImageBundle</span></div></div><div class=SRResult id=SR_invalid><div class=IEntry><a href="../files/view/mxCellState-php.html#mxCellState.invalid" target=_parent class=ISymbol>invalid</a>, <span class=IParent>mxCellState</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/VariablesL.html b/docs/php-api/search/VariablesL.html
    deleted file mode 100644
    index d8246ccb8..000000000
    --- a/docs/php-api/search/VariablesL.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_LABEL_undINSET><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.LABEL_INSET" target=_parent class=ISymbol>LABEL_INSET</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_labelBounds><div class=IEntry><a href="../files/view/mxCellState-php.html#mxCellState.labelBounds" target=_parent class=ISymbol>labelBounds</a>, <span class=IParent>mxCellState</span></div></div><div class=SRResult id=SR_labelsVisible><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.labelsVisible" target=_parent class=ISymbol>labelsVisible</a>, <span class=IParent>mxGraph</span></div></div><div class=SRResult id=SR_length><div class=IEntry><a href="../files/view/mxCellState-php.html#mxCellState.length" target=_parent class=ISymbol>length</a>, <span class=IParent>mxCellState</span></div></div><div class=SRResult id=SR_level_unddebug><div class=IEntry><a href="../files/util/mxLog-php.html#mxLog.level_debug" target=_parent class=ISymbol>level_debug</a>, <span class=IParent>mxLog</span></div></div><div class=SRResult id=SR_level_underror><div class=IEntry><a href="../files/util/mxLog-php.html#mxLog.level_error" target=_parent class=ISymbol>level_error</a>, <span class=IParent>mxLog</span></div></div><div class=SRResult id=SR_level_undfine><div class=IEntry><a href="../files/util/mxLog-php.html#mxLog.level_fine" target=_parent class=ISymbol>level_fine</a>, <span class=IParent>mxLog</span></div></div><div class=SRResult id=SR_level_undinfo><div class=IEntry><a href="../files/util/mxLog-php.html#mxLog.level_info" target=_parent class=ISymbol>level_info</a>, <span class=IParent>mxLog</span></div></div><div class=SRResult id=SR_level_undwarn><div class=IEntry><a href="../files/util/mxLog-php.html#mxLog.level_warn" target=_parent class=ISymbol>level_warn</a>, <span class=IParent>mxLog</span></div></div><div class=SRResult id=SR_logfiles><div class=IEntry><a href="../files/util/mxLog-php.html#mxLog.logfiles" target=_parent class=ISymbol>logfiles</a>, <span class=IParent>mxLog</span></div></div><div class=SRResult id=SR_Loop><div class=IEntry><a href="../files/view/mxEdgeStyle-php.html#mxEdgeStyle.Loop" target=_parent class=ISymbol>Loop</a>, <span class=IParent>mxEdgeStyle</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/VariablesM.html b/docs/php-api/search/VariablesM.html
    deleted file mode 100644
    index 7b1ac3b08..000000000
    --- a/docs/php-api/search/VariablesM.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_maintainEdgeParent><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.maintainEdgeParent" target=_parent class=ISymbol>maintainEdgeParent</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_mapping><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.mapping" target=_parent class=ISymbol>mapping</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_MIN_undACTIVE_undREGION><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.MIN_ACTIVE_REGION" target=_parent class=ISymbol>MIN_ACTIVE_REGION</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_model><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.model" target=_parent class=ISymbol>model</a>, <span class=IParent>mxGraph</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/VariablesN.html b/docs/php-api/search/VariablesN.html
    deleted file mode 100644
    index f93d3467e..000000000
    --- a/docs/php-api/search/VariablesN.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_name><div class=IEntry><a href="../files/util/mxEventObject-php.html#mxEventObject.name" target=_parent class=ISymbol>name</a>, <span class=IParent>mxEventObject</span></div></div><div class=SRResult id=SR_nextId><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.nextId" target=_parent class=ISymbol>nextId</a>, <span class=IParent>mxGraphModel</span></div></div><div class=SRResult id=SR_NONE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.NONE" target=_parent class=ISymbol>NONE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_NS_undSVG><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.NS_SVG" target=_parent class=ISymbol>NS_SVG</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_NS_undXHTML><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.NS_XHTML" target=_parent class=ISymbol>NS_XHTML</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_NS_undXLINK><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.NS_XLINK" target=_parent class=ISymbol>NS_XLINK</a>, <span class=IParent>mxConstants</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/VariablesO.html b/docs/php-api/search/VariablesO.html
    deleted file mode 100644
    index a061ebcae..000000000
    --- a/docs/php-api/search/VariablesO.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_objects><div class=IEntry><a href="../files/io/mxCodec-php.html#mxCodec.objects" target=_parent class=ISymbol>objects</a>, <span class=IParent>mxCodec</span></div></div><div class=SRResult id=SR_offset><div class=IEntry><a href="../files/model/mxGeometry-php.html#mxGeometry.offset" target=_parent class=ISymbol>offset</a>, <span class=IParent>mxGeometry</span></div></div><div class=SRResult id=SR_origin><div class=IEntry><a href="../files/view/mxCellState-php.html#mxCellState.origin" target=_parent class=ISymbol>origin</a>, <span class=IParent>mxCellState</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/VariablesP.html b/docs/php-api/search/VariablesP.html
    deleted file mode 100644
    index 28681be67..000000000
    --- a/docs/php-api/search/VariablesP.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_parent><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.parent" target=_parent class=ISymbol>parent</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_parser><div class=IEntry><a href="../files/reader/mxGraphViewImageReader-php.html#mxGraphViewImageReader.parser" target=_parent class=ISymbol>parser</a>, <span class=IParent>mxGraphViewImageReader</span></div></div><div class=SRResult id=SR_perimeter><div class=IEntry><a href="../files/view/mxConnectionConstraint-php.html#mxConnectionConstraint.perimeter" target=_parent class=ISymbol>perimeter</a>, <span class=IParent>mxConnectionConstraint</span></div></div><div class=SRResult id=SR_PERIMETER_undELLIPSE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.PERIMETER_ELLIPSE" target=_parent class=ISymbol>PERIMETER_ELLIPSE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_PERIMETER_undRECTANGLE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.PERIMETER_RECTANGLE" target=_parent class=ISymbol>PERIMETER_RECTANGLE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_PERIMETER_undRHOMBUS><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.PERIMETER_RHOMBUS" target=_parent class=ISymbol>PERIMETER_RHOMBUS</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_PERIMETER_undTRIANGLE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.PERIMETER_TRIANGLE" target=_parent class=ISymbol>PERIMETER_TRIANGLE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_point><div class=IEntry><a href="../files/view/mxConnectionConstraint-php.html#mxConnectionConstraint.point" target=_parent class=ISymbol>point</a>, <span class=IParent>mxConnectionConstraint</span></div></div><div class=SRResult id=SR_points><div class=IEntry><a href="../files/model/mxGeometry-php.html#mxGeometry.points" target=_parent class=ISymbol>points</a>, <span class=IParent>mxGeometry</span></div></div><div class=SRResult id=SR_printLog><div class=IEntry><a href="../files/util/mxLog-php.html#mxLog.printLog" target=_parent class=ISymbol>printLog</a>, <span class=IParent>mxLog</span></div></div><div class=SRResult id=SR_properties><div class=IEntry><a href="../files/util/mxEventObject-php.html#mxEventObject.properties" target=_parent class=ISymbol>properties</a>, <span class=IParent>mxEventObject</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/VariablesR.html b/docs/php-api/search/VariablesR.html
    deleted file mode 100644
    index 388f2221a..000000000
    --- a/docs/php-api/search/VariablesR.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_RAD_undPER_undDEG><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.RAD_PER_DEG" target=_parent class=ISymbol>RAD_PER_DEG</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_RectanglePerimeter><div class=IEntry><a href="../files/view/mxPerimeter-php.html#mxPerimeter.RectanglePerimeter" target=_parent class=ISymbol>RectanglePerimeter</a>, <span class=IParent>mxPerimeter</span></div></div><div class=SRResult id=SR_relative><div class=IEntry><a href="../files/model/mxGeometry-php.html#mxGeometry.relative" target=_parent class=ISymbol>relative</a>, <span class=IParent>mxGeometry</span></div></div><div class=SRResult id=SR_reverse><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.reverse" target=_parent class=ISymbol>reverse</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_RhombusPerimeter><div class=IEntry><a href="../files/view/mxPerimeter-php.html#mxPerimeter.RhombusPerimeter" target=_parent class=ISymbol>RhombusPerimeter</a>, <span class=IParent>mxPerimeter</span></div></div><div class=SRResult id=SR_root><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.root" target=_parent class=ISymbol>root</a>, <span class=IParent>mxGraphModel</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/VariablesS.html b/docs/php-api/search/VariablesS.html
    deleted file mode 100644
    index 03157d5de..000000000
    --- a/docs/php-api/search/VariablesS.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_scale><div class=IEntry><a href="javascript:searchResults.Toggle('SR_scale')" class=ISymbol>scale</a><div class=ISubIndex><a href="../files/view/mxGraphView-php.html#mxGraphView.scale" target=_parent class=IParent>mxGraphView</a><a href="../files/reader/mxGraphViewImageReader-php.html#mxGraphViewImageReader.scale" target=_parent class=IParent>mxGraphViewImageReader</a></div></div></div><div class=SRResult id=SR2_SCALE><div class=IEntry><a href="../files/util/mxEvent-php.html#mxEvent.SCALE" target=_parent class=ISymbol>SCALE</a>, <span class=IParent>mxEvent</span></div></div><div class=SRResult id=SR_segments><div class=IEntry><a href="../files/view/mxCellState-php.html#mxCellState.segments" target=_parent class=ISymbol>segments</a>, <span class=IParent>mxCellState</span></div></div><div class=SRResult id=SR_SHADOW_undOFFSETX><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.SHADOW_OFFSETX" target=_parent class=ISymbol>SHADOW_OFFSETX</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_SHADOW_undOFFSETY><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.SHADOW_OFFSETY" target=_parent class=ISymbol>SHADOW_OFFSETY</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_shadowColor><div class=IEntry><a href="../files/canvas/mxGdCanvas-php.html#mxGdCanvas.shadowColor" target=_parent class=ISymbol>shadowColor</a>, <span class=IParent>mxGdCanvas</span></div></div><div class=SRResult id=SR_SHAPE_undACTOR><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.SHAPE_ACTOR" target=_parent class=ISymbol>SHAPE_ACTOR</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_SHAPE_undARROW><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.SHAPE_ARROW" target=_parent class=ISymbol>SHAPE_ARROW</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_SHAPE_undCLOUD><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.SHAPE_CLOUD" target=_parent class=ISymbol>SHAPE_CLOUD</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_SHAPE_undCONNECTOR><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.SHAPE_CONNECTOR" target=_parent class=ISymbol>SHAPE_CONNECTOR</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_SHAPE_undCYLINDER><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.SHAPE_CYLINDER" target=_parent class=ISymbol>SHAPE_CYLINDER</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_SHAPE_undDOUBLE_undELLIPSE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.SHAPE_DOUBLE_ELLIPSE" target=_parent class=ISymbol>SHAPE_DOUBLE_ELLIPSE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_SHAPE_undELLIPSE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.SHAPE_ELLIPSE" target=_parent class=ISymbol>SHAPE_ELLIPSE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_SHAPE_undHEXAGON><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.SHAPE_HEXAGON" target=_parent class=ISymbol>SHAPE_HEXAGON</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_SHAPE_undIMAGE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.SHAPE_IMAGE" target=_parent class=ISymbol>SHAPE_IMAGE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_SHAPE_undLABEL><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.SHAPE_LABEL" target=_parent class=ISymbol>SHAPE_LABEL</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_SHAPE_undLINE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.SHAPE_LINE" target=_parent class=ISymbol>SHAPE_LINE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_SHAPE_undRECTANGLE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.SHAPE_RECTANGLE" target=_parent class=ISymbol>SHAPE_RECTANGLE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_SHAPE_undRHOMBUS><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.SHAPE_RHOMBUS" target=_parent class=ISymbol>SHAPE_RHOMBUS</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_SHAPE_undSWIMLANE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.SHAPE_SWIMLANE" target=_parent class=ISymbol>SHAPE_SWIMLANE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_SHAPE_undTRIANGLE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.SHAPE_TRIANGLE" target=_parent class=ISymbol>SHAPE_TRIANGLE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_SideToSide><div class=IEntry><a href="../files/view/mxEdgeStyle-php.html#mxEdgeStyle.SideToSide" target=_parent class=ISymbol>SideToSide</a>, <span class=IParent>mxEdgeStyle</span></div></div><div class=SRResult id=SR_source><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.source" target=_parent class=ISymbol>source</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_sourcePoint><div class=IEntry><a href="../files/model/mxGeometry-php.html#mxGeometry.sourcePoint" target=_parent class=ISymbol>sourcePoint</a>, <span class=IParent>mxGeometry</span></div></div><div class=SRResult id=SR_sSTYLE_undENTRY_undPERIMETER><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.sSTYLE_ENTRY_PERIMETER" target=_parent class=ISymbol>sSTYLE_ENTRY_PERIMETER</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_states><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.states" target=_parent class=ISymbol>states</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR_style><div class=IEntry><a href="javascript:searchResults.Toggle('SR_style')" class=ISymbol>style</a><div class=ISubIndex><a href="../files/model/mxCell-php.html#mxCell.style" target=_parent class=IParent>mxCell</a><a href="../files/view/mxCellState-php.html#mxCellState.style" target=_parent class=IParent>mxCellState</a></div></div></div><div class=SRResult id=SR_STYLE_undALIGN><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_ALIGN" target=_parent class=ISymbol>STYLE_ALIGN</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undDASHED><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_DASHED" target=_parent class=ISymbol>STYLE_DASHED</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undDIRECTION><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_DIRECTION" target=_parent class=ISymbol>STYLE_DIRECTION</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undEDGE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_EDGE" target=_parent class=ISymbol>STYLE_EDGE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undELBOW><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_ELBOW" target=_parent class=ISymbol>STYLE_ELBOW</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undENDARROW><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_ENDARROW" target=_parent class=ISymbol>STYLE_ENDARROW</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undENDSIZE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_ENDSIZE" target=_parent class=ISymbol>STYLE_ENDSIZE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undENTRY_undX><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_ENTRY_X" target=_parent class=ISymbol>STYLE_ENTRY_X</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undENTRY_undY><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_ENTRY_Y" target=_parent class=ISymbol>STYLE_ENTRY_Y</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undEXIT_undPERIMETER><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_EXIT_PERIMETER" target=_parent class=ISymbol>STYLE_EXIT_PERIMETER</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undEXIT_undX><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_EXIT_X" target=_parent class=ISymbol>STYLE_EXIT_X</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undEXIT_undY><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_EXIT_Y" target=_parent class=ISymbol>STYLE_EXIT_Y</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undFILLCOLOR><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_FILLCOLOR" target=_parent class=ISymbol>STYLE_FILLCOLOR</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undFONTCOLOR><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_FONTCOLOR" target=_parent class=ISymbol>STYLE_FONTCOLOR</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undFONTFAMILY><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_FONTFAMILY" target=_parent class=ISymbol>STYLE_FONTFAMILY</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undFONTSIZE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_FONTSIZE" target=_parent class=ISymbol>STYLE_FONTSIZE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undFONTSTYLE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_FONTSTYLE" target=_parent class=ISymbol>STYLE_FONTSTYLE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undGRADIENT_undDIRECTION><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_GRADIENT_DIRECTION" target=_parent class=ISymbol>STYLE_GRADIENT_DIRECTION</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undGRADIENTCOLOR><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_GRADIENTCOLOR" target=_parent class=ISymbol>STYLE_GRADIENTCOLOR</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undHORIZONTAL><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_HORIZONTAL" target=_parent class=ISymbol>STYLE_HORIZONTAL</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undIMAGE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_IMAGE" target=_parent class=ISymbol>STYLE_IMAGE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undIMAGE_undALIGN><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_IMAGE_ALIGN" target=_parent class=ISymbol>STYLE_IMAGE_ALIGN</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undIMAGE_undBACKGROUND><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_IMAGE_BACKGROUND" target=_parent class=ISymbol>STYLE_IMAGE_BACKGROUND</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undIMAGE_undBORDER><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_IMAGE_BORDER" target=_parent class=ISymbol>STYLE_IMAGE_BORDER</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undIMAGE_undFLIPH><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_IMAGE_FLIPH" target=_parent class=ISymbol>STYLE_IMAGE_FLIPH</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undIMAGE_undFLIPV><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_IMAGE_FLIPV" target=_parent class=ISymbol>STYLE_IMAGE_FLIPV</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undIMAGE_undHEIGHT><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_IMAGE_HEIGHT" target=_parent class=ISymbol>STYLE_IMAGE_HEIGHT</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undIMAGE_undVERTICALALIGN><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_IMAGE_VERTICALALIGN" target=_parent class=ISymbol>STYLE_IMAGE_VERTICALALIGN</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undIMAGE_undWIDTH><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_IMAGE_WIDTH" target=_parent class=ISymbol>STYLE_IMAGE_WIDTH</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undINDICATOR_undCOLOR><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_INDICATOR_COLOR" target=_parent class=ISymbol>STYLE_INDICATOR_COLOR</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undINDICATOR_undGRADIENTCOLOR><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_INDICATOR_GRADIENTCOLOR" target=_parent class=ISymbol>STYLE_INDICATOR_GRADIENTCOLOR</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undINDICATOR_undHEIGHT><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_INDICATOR_HEIGHT" target=_parent class=ISymbol>STYLE_INDICATOR_HEIGHT</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undINDICATOR_undIMAGE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_INDICATOR_IMAGE" target=_parent class=ISymbol>STYLE_INDICATOR_IMAGE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undINDICATOR_undSHAPE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_INDICATOR_SHAPE" target=_parent class=ISymbol>STYLE_INDICATOR_SHAPE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undINDICATOR_undSPACING><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_INDICATOR_SPACING" target=_parent class=ISymbol>STYLE_INDICATOR_SPACING</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undINDICATOR_undWIDTH><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_INDICATOR_WIDTH" target=_parent class=ISymbol>STYLE_INDICATOR_WIDTH</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undLABEL_undBACKGROUNDCOLOR><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_LABEL_BACKGROUNDCOLOR" target=_parent class=ISymbol>STYLE_LABEL_BACKGROUNDCOLOR</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undLABEL_undBORDERCOLOR><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_LABEL_BORDERCOLOR" target=_parent class=ISymbol>STYLE_LABEL_BORDERCOLOR</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undLABEL_undPOSITION><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_LABEL_POSITION" target=_parent class=ISymbol>STYLE_LABEL_POSITION</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undLOOP><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_LOOP" target=_parent class=ISymbol>STYLE_LOOP</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undNOEDGESTYLE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_NOEDGESTYLE" target=_parent class=ISymbol>STYLE_NOEDGESTYLE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undNOLABEL><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_NOLABEL" target=_parent class=ISymbol>STYLE_NOLABEL</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undOPACITY><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_OPACITY" target=_parent class=ISymbol>STYLE_OPACITY</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undORTHOGONAL><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_ORTHOGONAL" target=_parent class=ISymbol>STYLE_ORTHOGONAL</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undOVERFLOW><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_OVERFLOW" target=_parent class=ISymbol>STYLE_OVERFLOW</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undPERIMETER><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_PERIMETER" target=_parent class=ISymbol>STYLE_PERIMETER</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undPERIMETER_undSPACING><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_PERIMETER_SPACING" target=_parent class=ISymbol>STYLE_PERIMETER_SPACING</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undROTATION><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_ROTATION" target=_parent class=ISymbol>STYLE_ROTATION</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undROUNDED><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_ROUNDED" target=_parent class=ISymbol>STYLE_ROUNDED</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undROUTING_undCENTER_undX><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_ROUTING_CENTER_X" target=_parent class=ISymbol>STYLE_ROUTING_CENTER_X</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undROUTING_undCENTER_undY><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_ROUTING_CENTER_Y" target=_parent class=ISymbol>STYLE_ROUTING_CENTER_Y</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undSEGMENT><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_SEGMENT" target=_parent class=ISymbol>STYLE_SEGMENT</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undSEPARATORCOLOR><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_SEPARATORCOLOR" target=_parent class=ISymbol>STYLE_SEPARATORCOLOR</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undSHADOW><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_SHADOW" target=_parent class=ISymbol>STYLE_SHADOW</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undSHAPE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_SHAPE" target=_parent class=ISymbol>STYLE_SHAPE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undSOURCE_undPERIMETER_undSPACING><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_SOURCE_PERIMETER_SPACING" target=_parent class=ISymbol>STYLE_SOURCE_PERIMETER_SPACING</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undSPACING><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_SPACING" target=_parent class=ISymbol>STYLE_SPACING</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undSPACING_undBOTTOM><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_SPACING_BOTTOM" target=_parent class=ISymbol>STYLE_SPACING_BOTTOM</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undSPACING_undLEFT><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_SPACING_LEFT" target=_parent class=ISymbol>STYLE_SPACING_LEFT</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undSPACING_undRIGHT><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_SPACING_RIGHT" target=_parent class=ISymbol>STYLE_SPACING_RIGHT</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undSPACING_undTOP><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_SPACING_TOP" target=_parent class=ISymbol>STYLE_SPACING_TOP</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undSTARTARROW><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_STARTARROW" target=_parent class=ISymbol>STYLE_STARTARROW</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undSTARTSIZE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_STARTSIZE" target=_parent class=ISymbol>STYLE_STARTSIZE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undSTROKECOLOR><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_STROKECOLOR" target=_parent class=ISymbol>STYLE_STROKECOLOR</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undSTROKEWIDTH><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_STROKEWIDTH" target=_parent class=ISymbol>STYLE_STROKEWIDTH</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undSWIMLANE_undFILLCOLOR><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_SWIMLANE_FILLCOLOR" target=_parent class=ISymbol>STYLE_SWIMLANE_FILLCOLOR</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undSWIMLANE_undLINE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_SWIMLANE_LINE" target=_parent class=ISymbol>STYLE_SWIMLANE_LINE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undTARGET_undPERIMETER_undSPACING><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_TARGET_PERIMETER_SPACING" target=_parent class=ISymbol>STYLE_TARGET_PERIMETER_SPACING</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undTEXT_undOPACITY><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_TEXT_OPACITY" target=_parent class=ISymbol>STYLE_TEXT_OPACITY</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undVERTICAL_undALIGN><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_VERTICAL_ALIGN" target=_parent class=ISymbol>STYLE_VERTICAL_ALIGN</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undVERTICAL_undLABEL_undPOSITION><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_VERTICAL_LABEL_POSITION" target=_parent class=ISymbol>STYLE_VERTICAL_LABEL_POSITION</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_STYLE_undWHITE_undSPACE><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.STYLE_WHITE_SPACE" target=_parent class=ISymbol>STYLE_WHITE_SPACE</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_stylesheet><div class=IEntry><a href="../files/view/mxGraph-php.html#mxGraph.stylesheet" target=_parent class=ISymbol>stylesheet</a>, <span class=IParent>mxGraph</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/VariablesT.html b/docs/php-api/search/VariablesT.html
    deleted file mode 100644
    index f4308a1b0..000000000
    --- a/docs/php-api/search/VariablesT.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_tab><div class=IEntry><a href="../files/util/mxLog-php.html#mxLog.tab" target=_parent class=ISymbol>tab</a>, <span class=IParent>mxLog</span></div></div><div class=SRResult id=SR_target><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.target" target=_parent class=ISymbol>target</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_targetPoint><div class=IEntry><a href="../files/model/mxGeometry-php.html#mxGeometry.targetPoint" target=_parent class=ISymbol>targetPoint</a>, <span class=IParent>mxGeometry</span></div></div><div class=SRResult id=SR_template><div class=IEntry><a href="../files/io/mxObjectCodec-php.html#mxObjectCodec.template" target=_parent class=ISymbol>template</a>, <span class=IParent>mxObjectCodec</span></div></div><div class=SRResult id=SR_terminalDistance><div class=IEntry><a href="../files/view/mxCellState-php.html#mxCellState.terminalDistance" target=_parent class=ISymbol>terminalDistance</a>, <span class=IParent>mxCellState</span></div></div><div class=SRResult id=SR_TopToBottom><div class=IEntry><a href="../files/view/mxEdgeStyle-php.html#mxEdgeStyle.TopToBottom" target=_parent class=ISymbol>TopToBottom</a>, <span class=IParent>mxEdgeStyle</span></div></div><div class=SRResult id=SR_translate><div class=IEntry><a href="../files/view/mxGraphView-php.html#mxGraphView.translate" target=_parent class=ISymbol>translate</a>, <span class=IParent>mxGraphView</span></div></div><div class=SRResult id=SR2_TRANSLATE><div class=IEntry><a href="../files/util/mxEvent-php.html#mxEvent.TRANSLATE" target=_parent class=ISymbol>TRANSLATE</a>, <span class=IParent>mxEvent</span></div></div><div class=SRResult id=SR_TRANSLATE_undCONTROL_undPOINTS><div class=IEntry><a href="../files/model/mxGeometry-php.html#mxGeometry.TRANSLATE_CONTROL_POINTS" target=_parent class=ISymbol>TRANSLATE_CONTROL_POINTS</a>, <span class=IParent>mxGeometry</span></div></div><div class=SRResult id=SR_TrianglePerimeter><div class=IEntry><a href="../files/view/mxPerimeter-php.html#mxPerimeter.TrianglePerimeter" target=_parent class=ISymbol>TrianglePerimeter</a>, <span class=IParent>mxPerimeter</span></div></div><div class=SRResult id=SR_TTF_undENABLED><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.TTF_ENABLED" target=_parent class=ISymbol>TTF_ENABLED</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_TTF_undSIZEFACTOR><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.TTF_SIZEFACTOR" target=_parent class=ISymbol>TTF_SIZEFACTOR</a>, <span class=IParent>mxConstants</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/VariablesU.html b/docs/php-api/search/VariablesU.html
    deleted file mode 100644
    index 24a6aa0e9..000000000
    --- a/docs/php-api/search/VariablesU.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_updateLevel><div class=IEntry><a href="../files/model/mxGraphModel-php.html#mxGraphModel.updateLevel" target=_parent class=ISymbol>updateLevel</a>, <span class=IParent>mxGraphModel</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/VariablesV.html b/docs/php-api/search/VariablesV.html
    deleted file mode 100644
    index 1f9cbfbf0..000000000
    --- a/docs/php-api/search/VariablesV.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_value><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.value" target=_parent class=ISymbol>value</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_values><div class=IEntry><a href="../files/view/mxStyleRegistry-php.html#mxStyleRegistry.values" target=_parent class=ISymbol>values</a>, <span class=IParent>mxStyleRegistry</span></div></div><div class=SRResult id=SR_vertex><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.vertex" target=_parent class=ISymbol>vertex</a>, <span class=IParent>mxCell</span></div></div><div class=SRResult id=SR_view><div class=IEntry><a href="javascript:searchResults.Toggle('SR_view')" class=ISymbol>view</a><div class=ISubIndex><a href="../files/view/mxCellState-php.html#mxCellState.view" target=_parent class=IParent>mxCellState</a><a href="../files/view/mxGraph-php.html#mxGraph.view" target=_parent class=IParent>mxGraph</a></div></div></div><div class=SRResult id=SR_visible><div class=IEntry><a href="../files/model/mxCell-php.html#mxCell.visible" target=_parent class=ISymbol>visible</a>, <span class=IParent>mxCell</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/VariablesW.html b/docs/php-api/search/VariablesW.html
    deleted file mode 100644
    index deaecee64..000000000
    --- a/docs/php-api/search/VariablesW.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_W3C_undDEFAULT_undFONTFAMILY><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.W3C_DEFAULT_FONTFAMILY" target=_parent class=ISymbol>W3C_DEFAULT_FONTFAMILY</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_W3C_undSHADOWCOLOR><div class=IEntry><a href="../files/util/mxConstants-php.html#mxConstants.W3C_SHADOWCOLOR" target=_parent class=ISymbol>W3C_SHADOWCOLOR</a>, <span class=IParent>mxConstants</span></div></div><div class=SRResult id=SR_width><div class=IEntry><a href="../files/util/mxRectangle-php.html#mxRectangle.width" target=_parent class=ISymbol>width</a>, <span class=IParent>mxRectangle</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/VariablesX.html b/docs/php-api/search/VariablesX.html
    deleted file mode 100644
    index 675afa946..000000000
    --- a/docs/php-api/search/VariablesX.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_x><div class=IEntry><a href="../files/util/mxPoint-php.html#mxPoint.x" target=_parent class=ISymbol>x</a>, <span class=IParent>mxPoint</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/search/VariablesY.html b/docs/php-api/search/VariablesY.html
    deleted file mode 100644
    index dc3517575..000000000
    --- a/docs/php-api/search/VariablesY.html
    +++ /dev/null
    @@ -1,20 +0,0 @@
    -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
    -
    -<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="../styles/main.css"><script language=JavaScript src="../javascript/main.js"></script></head><body class="PopupSearchResultsPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
    -if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>
    -
    -<!--  Generated by Natural Docs, version 1.51 -->
    -<!--  http://www.naturaldocs.org  -->
    -
    -<!-- saved from url=(0026)http://www.naturaldocs.org -->
    -
    -
    -
    -
    -<div id=Index><div class=SRStatus id=Loading>Loading...</div><table border=0 cellspacing=0 cellpadding=0><div class=SRResult id=SR_y><div class=IEntry><a href="../files/util/mxPoint-php.html#mxPoint.y" target=_parent class=ISymbol>y</a>, <span class=IParent>mxPoint</span></div></div></table><div class=SRStatus id=Searching>Searching...</div><div class=SRStatus id=NoMatches>No Matches</div><script type="text/javascript"><!--
    -document.getElementById("Loading").style.display="none";
    -document.getElementById("NoMatches").style.display="none";
    -var searchResults = new SearchResults("searchResults", "HTML");
    -searchResults.Search();
    ---></script></div><script language=JavaScript><!--
    -if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>
    \ No newline at end of file
    diff --git a/docs/php-api/styles/main.css b/docs/php-api/styles/main.css
    deleted file mode 100644
    index 511703fc4..000000000
    --- a/docs/php-api/styles/main.css
    +++ /dev/null
    @@ -1,828 +0,0 @@
    -/*
    -   IMPORTANT: If you're editing this file in the output directory of one of
    -   your projects, your changes will be overwritten the next time you run
    -   Natural Docs.  Instead, copy this file to your project directory, make your
    -   changes, and you can use it with -s.  Even better would be to make a CSS
    -   file in your project directory with only your changes, which you can then
    -   use with -s [original style] [your changes].
    -
    -   On the other hand, if you're editing this file in the Natural Docs styles
    -   directory, the changes will automatically be applied to all your projects
    -   that use this style the next time Natural Docs is run on them.
    -
    -   This file is part of Natural Docs, which is Copyright © 2003-2010 Greg Valure.
    -   Natural Docs is licensed under version 3 of the GNU Affero General Public
    -   License (AGPL).  Refer to License.txt for the complete details.
    -
    -   This file may be distributed with documentation files generated by Natural Docs.
    -   Such documentation is not covered by Natural Docs' copyright and licensing,
    -   and may have its own copyright and distribution terms as decided by its author.
    -*/
    -
    -body {
    -    font: 10pt Verdana, Arial, sans-serif;
    -    color: #000000;
    -    margin: 0; padding: 0;
    -    }
    -
    -.ContentPage,
    -.IndexPage,
    -.FramedMenuPage {
    -    background-color: #E8E8E8;
    -    }
    -.FramedContentPage,
    -.FramedIndexPage,
    -.FramedSearchResultsPage,
    -.PopupSearchResultsPage {
    -    background-color: #FFFFFF;
    -    }
    -
    -
    -a:link,
    -a:visited { color: #900000; text-decoration: none }
    -a:hover { color: #900000; text-decoration: underline }
    -a:active { color: #FF0000; text-decoration: underline }
    -
    -td {
    -    vertical-align: top }
    -
    -img { border: 0;  }
    -
    -
    -/*
    -    Comment out this line to use web-style paragraphs (blank line between
    -    paragraphs, no indent) instead of print-style paragraphs (no blank line,
    -    indented.)
    -*/
    -p {
    -    text-indent: 5ex; margin: 0 }
    -
    -
    -/*  Opera doesn't break with just wbr, but will if you add this.  */
    -.Opera wbr:after {
    -	content: "\00200B";
    -	}
    -
    -
    -/*  Blockquotes are used as containers for things that may need to scroll.  */
    -blockquote {
    -    padding: 0;
    -    margin: 0;
    -    overflow: auto;
    -    }
    -
    -
    -.Firefox1 blockquote {
    -    padding-bottom: .5em;
    -    }
    -
    -/*  Turn off scrolling when printing.  */
    -@media print {
    -    blockquote {
    -        overflow: visible;
    -        }
    -    .IE blockquote {
    -        width: auto;
    -        }
    -    }
    -
    -
    -
    -#Menu {
    -    font-size: 9pt;
    -    padding: 10px 0 0 0;
    -    }
    -.ContentPage #Menu,
    -.IndexPage #Menu {
    -    position: absolute;
    -    top: 0;
    -    left: 0;
    -    width: 31ex;
    -    overflow: hidden;
    -    }
    -.ContentPage .Firefox #Menu,
    -.IndexPage .Firefox #Menu {
    -    width: 27ex;
    -    }
    -
    -
    -    .MTitle {
    -        font-size: 16pt; font-weight: bold; font-variant: small-caps;
    -        text-align: center;
    -        padding: 5px 10px 15px 10px;
    -        border-bottom: 1px dotted #000000;
    -        margin-bottom: 15px }
    -
    -    .MSubTitle {
    -        font-size: 9pt; font-weight: normal; font-variant: normal;
    -        margin-top: 1ex; margin-bottom: 5px }
    -
    -
    -    .MEntry a:link,
    -    .MEntry a:hover,
    -    .MEntry a:visited { color: #606060; margin-right: 0 }
    -    .MEntry a:active { color: #A00000; margin-right: 0 }
    -
    -
    -    .MGroup {
    -        font-variant: small-caps; font-weight: bold;
    -        margin: 1em 0 1em 10px;
    -        }
    -
    -    .MGroupContent {
    -        font-variant: normal; font-weight: normal }
    -
    -    .MGroup a:link,
    -    .MGroup a:hover,
    -    .MGroup a:visited { color: #545454; margin-right: 10px }
    -    .MGroup a:active { color: #A00000; margin-right: 10px }
    -
    -
    -    .MFile,
    -    .MText,
    -    .MLink,
    -    .MIndex {
    -        padding: 1px 17px 2px 10px;
    -        margin: .25em 0 .25em 0;
    -        }
    -
    -    .MText {
    -        font-size: 8pt; font-style: italic }
    -
    -    .MLink {
    -        font-style: italic }
    -
    -    #MSelected {
    -        color: #000000; background-color: #FFFFFF;
    -        /*  Replace padding with border.  */
    -        padding: 0 10px 0 10px;
    -        border-width: 1px 2px 2px 0; border-style: solid; border-color: #000000;
    -        margin-right: 5px;
    -        }
    -
    -    /*  Close off the left side when its in a group.  */
    -    .MGroup #MSelected {
    -        padding-left: 9px; border-left-width: 1px }
    -
    -    /*  A treat for Mozilla users.  Blatantly non-standard.  Will be replaced with CSS 3 attributes when finalized/supported.  */
    -    .Firefox #MSelected {
    -        -moz-border-radius-topright: 10px;
    -        -moz-border-radius-bottomright: 10px }
    -    .Firefox .MGroup #MSelected {
    -        -moz-border-radius-topleft: 10px;
    -        -moz-border-radius-bottomleft: 10px }
    -
    -
    -    #MSearchPanel {
    -        padding: 0px 6px;
    -        margin: .25em 0;
    -        }
    -
    -
    -    #MSearchField {
    -        font: italic 9pt Verdana, sans-serif;
    -        color: #606060;
    -        background-color: #E8E8E8;
    -        border: none;
    -        padding: 2px 4px;
    -        width: 100%;
    -        }
    -    /* Only Opera gets it right. */
    -    .Firefox #MSearchField,
    -    .IE #MSearchField,
    -    .Safari #MSearchField {
    -        width: 94%;
    -        }
    -    .Opera9 #MSearchField,
    -    .Konqueror #MSearchField {
    -        width: 97%;
    -        }
    -    .FramedMenuPage .Firefox #MSearchField,
    -    .FramedMenuPage .Safari #MSearchField,
    -    .FramedMenuPage .Konqueror #MSearchField {
    -        width: 98%;
    -        }
    -
    -    /* Firefox doesn't do this right in frames without #MSearchPanel added on.
    -        It's presence doesn't hurt anything other browsers. */
    -    #MSearchPanel.MSearchPanelInactive:hover #MSearchField {
    -        background-color: #FFFFFF;
    -        border: 1px solid #C0C0C0;
    -        padding: 1px 3px;
    -        }
    -    .MSearchPanelActive #MSearchField {
    -        background-color: #FFFFFF;
    -        border: 1px solid #C0C0C0;
    -        font-style: normal;
    -        padding: 1px 3px;
    -        }
    -
    -    #MSearchType {
    -        visibility: hidden;
    -        font: 8pt Verdana, sans-serif;
    -        width: 98%;
    -        padding: 0;
    -        border: 1px solid #C0C0C0;
    -        }
    -    .MSearchPanelActive #MSearchType,
    -    /*  As mentioned above, Firefox doesn't do this right in frames without #MSearchPanel added on. */
    -    #MSearchPanel.MSearchPanelInactive:hover #MSearchType,
    -    #MSearchType:focus {
    -        visibility: visible;
    -        color: #606060;
    -        }
    -    #MSearchType option#MSearchEverything {
    -        font-weight: bold;
    -        }
    -
    -    .Opera8 .MSearchPanelInactive:hover,
    -    .Opera8 .MSearchPanelActive {
    -        margin-left: -1px;
    -        }
    -
    -
    -    iframe#MSearchResults {
    -        width: 60ex;
    -        height: 15em;
    -        }
    -    #MSearchResultsWindow {
    -        display: none;
    -        position: absolute;
    -        left: 0; top: 0;
    -        border: 1px solid #000000;
    -        background-color: #E8E8E8;
    -        }
    -    #MSearchResultsWindowClose {
    -        font-weight: bold;
    -        font-size: 8pt;
    -        display: block;
    -        padding: 2px 5px;
    -        }
    -    #MSearchResultsWindowClose:link,
    -    #MSearchResultsWindowClose:visited {
    -        color: #000000;
    -        text-decoration: none;
    -        }
    -    #MSearchResultsWindowClose:active,
    -    #MSearchResultsWindowClose:hover {
    -        color: #800000;
    -        text-decoration: none;
    -        background-color: #F4F4F4;
    -        }
    -
    -
    -
    -
    -#Content {
    -    padding-bottom: 15px;
    -    }
    -
    -.ContentPage #Content {
    -    border-width: 0 0 1px 1px;
    -    border-style: solid;
    -    border-color: #000000;
    -    background-color: #FFFFFF;
    -    font-size: 9pt;  /* To make 31ex match the menu's 31ex. */
    -    margin-left: 31ex;
    -    }
    -.ContentPage .Firefox #Content {
    -    margin-left: 27ex;
    -    }
    -
    -
    -
    -    .CTopic {
    -        font-size: 10pt;
    -        margin-bottom: 3em;
    -        }
    -
    -
    -    .CTitle {
    -        font-size: 12pt; font-weight: bold;
    -        border-width: 0 0 1px 0; border-style: solid; border-color: #A0A0A0;
    -        margin: 0 15px .5em 15px }
    -
    -    .CGroup .CTitle {
    -        font-size: 16pt; font-variant: small-caps;
    -        padding-left: 15px; padding-right: 15px;
    -        border-width: 0 0 2px 0; border-color: #000000;
    -        margin-left: 0; margin-right: 0 }
    -
    -    .CClass .CTitle,
    -    .CInterface .CTitle,
    -    .CDatabase .CTitle,
    -    .CDatabaseTable .CTitle,
    -    .CSection .CTitle {
    -        font-size: 18pt;
    -        color: #FFFFFF; background-color: #A0A0A0;
    -        padding: 10px 15px 10px 15px;
    -        border-width: 2px 0; border-color: #000000;
    -        margin-left: 0; margin-right: 0 }
    -
    -    #MainTopic .CTitle {
    -        font-size: 20pt;
    -        color: #FFFFFF; background-color: #7070C0;
    -        padding: 10px 15px 10px 15px;
    -        border-width: 0 0 3px 0; border-color: #000000;
    -        margin-left: 0; margin-right: 0 }
    -
    -    .CBody {
    -        margin-left: 15px; margin-right: 15px }
    -
    -
    -    .CToolTip {
    -        position: absolute; visibility: hidden;
    -        left: 0; top: 0;
    -        background-color: #FFFFE0;
    -        padding: 5px;
    -        border-width: 1px 2px 2px 1px; border-style: solid; border-color: #000000;
    -        font-size: 8pt;
    -        }
    -
    -    .Opera .CToolTip {
    -        max-width: 98%;
    -        }
    -
    -    /*  Scrollbars would be useless.  */
    -    .CToolTip blockquote {
    -        overflow: hidden;
    -        }
    -    .IE6 .CToolTip blockquote {
    -        overflow: visible;
    -        }
    -
    -    .CHeading {
    -        font-weight: bold; font-size: 10pt;
    -        margin: 1.5em 0 .5em 0;
    -        }
    -
    -    .CBody pre {
    -        font: 10pt "Courier New", Courier, monospace;
    -	    background-color: #FCFCFC;
    -	    margin: 1em 35px;
    -	    padding: 10px 15px 10px 10px;
    -	    border-color: #E0E0E0 #E0E0E0 #E0E0E0 #E4E4E4;
    -	    border-width: 1px 1px 1px 6px;
    -	    border-style: dashed dashed dashed solid;
    -        }
    -
    -    .CBody ul {
    -        /*  I don't know why CBody's margin doesn't apply, but it's consistent across browsers so whatever.
    -             Reapply it here as padding.  */
    -        padding-left: 15px; padding-right: 15px;
    -        margin: .5em 5ex .5em 5ex;
    -        }
    -
    -    .CDescriptionList {
    -        margin: .5em 5ex 0 5ex }
    -
    -        .CDLEntry {
    -            font: 10pt "Courier New", Courier, monospace; color: #808080;
    -            padding-bottom: .25em;
    -            white-space: nowrap }
    -
    -        .CDLDescription {
    -            font-size: 10pt;  /*  For browsers that don't inherit correctly, like Opera 5.  */
    -            padding-bottom: .5em; padding-left: 5ex }
    -
    -
    -    .CTopic img {
    -        text-align: center;
    -        display: block;
    -        margin: 1em auto;
    -        }
    -    .CImageCaption {
    -        font-variant: small-caps;
    -        font-size: 8pt;
    -        color: #808080;
    -        text-align: center;
    -        position: relative;
    -        top: 1em;
    -        }
    -
    -    .CImageLink {
    -        color: #808080;
    -        font-style: italic;
    -        }
    -    a.CImageLink:link,
    -    a.CImageLink:visited,
    -    a.CImageLink:hover { color: #808080 }
    -
    -
    -
    -
    -
    -.Prototype {
    -    font: 10pt "Courier New", Courier, monospace;
    -    padding: 5px 3ex;
    -    border-width: 1px; border-style: solid;
    -    margin: 0 5ex 1.5em 5ex;
    -    }
    -
    -    .Prototype td {
    -        font-size: 10pt;
    -        }
    -
    -    .PDefaultValue,
    -    .PDefaultValuePrefix,
    -    .PTypePrefix {
    -        color: #8F8F8F;
    -        }
    -    .PTypePrefix {
    -        text-align: right;
    -        }
    -    .PAfterParameters {
    -        vertical-align: bottom;
    -        }
    -
    -    .IE .Prototype table {
    -        padding: 0;
    -        }
    -
    -    .CFunction .Prototype {
    -        background-color: #F4F4F4; border-color: #D0D0D0 }
    -    .CProperty .Prototype {
    -        background-color: #F4F4FF; border-color: #C0C0E8 }
    -    .CVariable .Prototype {
    -        background-color: #FFFFF0; border-color: #E0E0A0 }
    -
    -    .CClass .Prototype {
    -        border-width: 1px 2px 2px 1px; border-style: solid; border-color: #A0A0A0;
    -        background-color: #F4F4F4;
    -        }
    -    .CInterface .Prototype {
    -        border-width: 1px 2px 2px 1px; border-style: solid; border-color: #A0A0D0;
    -        background-color: #F4F4FF;
    -        }
    -
    -    .CDatabaseIndex .Prototype,
    -    .CConstant .Prototype {
    -        background-color: #D0D0D0; border-color: #000000 }
    -    .CType .Prototype,
    -    .CEnumeration .Prototype {
    -        background-color: #FAF0F0; border-color: #E0B0B0;
    -        }
    -    .CDatabaseTrigger .Prototype,
    -    .CEvent .Prototype,
    -    .CDelegate .Prototype {
    -        background-color: #F0FCF0; border-color: #B8E4B8 }
    -
    -    .CToolTip .Prototype {
    -        margin: 0 0 .5em 0;
    -        white-space: nowrap;
    -        }
    -
    -
    -
    -
    -
    -.Summary {
    -    margin: 1.5em 5ex 0 5ex }
    -
    -    .STitle {
    -        font-size: 12pt; font-weight: bold;
    -        margin-bottom: .5em }
    -
    -
    -    .SBorder {
    -        background-color: #FFFFF0;
    -        padding: 15px;
    -        border: 1px solid #C0C060 }
    -
    -    /* In a frame IE 6 will make them too long unless you set the width to 100%.  Without frames it will be correct without a width
    -        or slightly too long (but not enough to scroll) with a width.  This arbitrary weirdness simply astounds me.  IE 7 has the same
    -        problem with frames, haven't tested it without.  */
    -    .FramedContentPage .IE .SBorder {
    -        width: 100% }
    -
    -    /*  A treat for Mozilla users.  Blatantly non-standard.  Will be replaced with CSS 3 attributes when finalized/supported.  */
    -    .Firefox .SBorder {
    -        -moz-border-radius: 20px }
    -
    -
    -    .STable {
    -        font-size: 9pt; width: 100% }
    -
    -    .SEntry {
    -        width: 30% }
    -    .SDescription {
    -        width: 70% }
    -
    -
    -    .SMarked {
    -        background-color: #F8F8D8 }
    -
    -    .SDescription { padding-left: 2ex }
    -    .SIndent1 .SEntry { padding-left: 1.5ex }   .SIndent1 .SDescription { padding-left: 3.5ex }
    -    .SIndent2 .SEntry { padding-left: 3.0ex }   .SIndent2 .SDescription { padding-left: 5.0ex }
    -    .SIndent3 .SEntry { padding-left: 4.5ex }   .SIndent3 .SDescription { padding-left: 6.5ex }
    -    .SIndent4 .SEntry { padding-left: 6.0ex }   .SIndent4 .SDescription { padding-left: 8.0ex }
    -    .SIndent5 .SEntry { padding-left: 7.5ex }   .SIndent5 .SDescription { padding-left: 9.5ex }
    -
    -    .SDescription a { color: #800000}
    -    .SDescription a:active { color: #A00000 }
    -
    -    .SGroup td {
    -        padding-top: .5em; padding-bottom: .25em }
    -
    -    .SGroup .SEntry {
    -        font-weight: bold; font-variant: small-caps }
    -
    -    .SGroup .SEntry a { color: #800000 }
    -    .SGroup .SEntry a:active { color: #F00000 }
    -
    -
    -    .SMain td,
    -    .SClass td,
    -    .SDatabase td,
    -    .SDatabaseTable td,
    -    .SSection td {
    -        font-size: 10pt;
    -        padding-bottom: .25em }
    -
    -    .SClass td,
    -    .SDatabase td,
    -    .SDatabaseTable td,
    -    .SSection td {
    -        padding-top: 1em }
    -
    -    .SMain .SEntry,
    -    .SClass .SEntry,
    -    .SDatabase .SEntry,
    -    .SDatabaseTable .SEntry,
    -    .SSection .SEntry {
    -        font-weight: bold;
    -        }
    -
    -    .SMain .SEntry a,
    -    .SClass .SEntry a,
    -    .SDatabase .SEntry a,
    -    .SDatabaseTable .SEntry a,
    -    .SSection .SEntry a { color: #000000 }
    -
    -    .SMain .SEntry a:active,
    -    .SClass .SEntry a:active,
    -    .SDatabase .SEntry a:active,
    -    .SDatabaseTable .SEntry a:active,
    -    .SSection .SEntry a:active { color: #A00000 }
    -
    -
    -
    -
    -
    -.ClassHierarchy {
    -    margin: 0 15px 1em 15px }
    -
    -    .CHEntry {
    -        border-width: 1px 2px 2px 1px; border-style: solid; border-color: #A0A0A0;
    -        margin-bottom: 3px;
    -        padding: 2px 2ex;
    -        font-size: 10pt;
    -        background-color: #F4F4F4; color: #606060;
    -        }
    -
    -    .Firefox .CHEntry {
    -        -moz-border-radius: 4px;
    -        }
    -
    -    .CHCurrent .CHEntry {
    -        font-weight: bold;
    -        border-color: #000000;
    -        color: #000000;
    -        }
    -
    -    .CHChildNote .CHEntry {
    -        font-style: italic;
    -        font-size: 8pt;
    -        }
    -
    -    .CHIndent {
    -        margin-left: 3ex;
    -        }
    -
    -    .CHEntry a:link,
    -    .CHEntry a:visited,
    -    .CHEntry a:hover {
    -        color: #606060;
    -        }
    -    .CHEntry a:active {
    -        color: #800000;
    -        }
    -
    -
    -
    -
    -
    -#Index {
    -    background-color: #FFFFFF;
    -    }
    -
    -/*  As opposed to .PopupSearchResultsPage #Index  */
    -.IndexPage #Index,
    -.FramedIndexPage #Index,
    -.FramedSearchResultsPage #Index {
    -    padding: 15px;
    -    }
    -
    -.IndexPage #Index {
    -    border-width: 0 0 1px 1px;
    -    border-style: solid;
    -    border-color: #000000;
    -    font-size: 9pt;  /* To make 27ex match the menu's 27ex. */
    -    margin-left: 27ex;
    -    }
    -
    -
    -    .IPageTitle {
    -        font-size: 20pt; font-weight: bold;
    -        color: #FFFFFF; background-color: #7070C0;
    -        padding: 10px 15px 10px 15px;
    -        border-width: 0 0 3px 0; border-color: #000000; border-style: solid;
    -        margin: -15px -15px 0 -15px }
    -
    -    .FramedSearchResultsPage .IPageTitle {
    -        margin-bottom: 15px;
    -        }
    -
    -    .INavigationBar {
    -        font-size: 10pt;
    -        text-align: center;
    -        background-color: #FFFFF0;
    -        padding: 5px;
    -        border-bottom: solid 1px black;
    -        margin: 0 -15px 15px -15px;
    -        }
    -
    -    .INavigationBar a {
    -        font-weight: bold }
    -
    -    .IHeading {
    -        font-size: 16pt; font-weight: bold;
    -        padding: 2.5em 0 .5em 0;
    -        text-align: center;
    -        width: 3.5ex;
    -        }
    -    #IFirstHeading {
    -        padding-top: 0;
    -        }
    -
    -    .IEntry {
    -        font-size: 10pt;
    -        padding-left: 1ex;
    -        }
    -    .PopupSearchResultsPage .IEntry {
    -        font-size: 8pt;
    -        padding: 1px 5px;
    -        }
    -    .PopupSearchResultsPage .Opera9 .IEntry,
    -    .FramedSearchResultsPage .Opera9 .IEntry {
    -        text-align: left;
    -        }
    -    .FramedSearchResultsPage .IEntry {
    -        padding: 0;
    -        }
    -
    -    .ISubIndex {
    -        padding-left: 3ex; padding-bottom: .5em }
    -    .PopupSearchResultsPage .ISubIndex {
    -        display: none;
    -        }
    -
    -    /*  While it may cause some entries to look like links when they aren't, I found it's much easier to read the
    -         index if everything's the same color.  */
    -    .ISymbol {
    -        font-weight: bold; color: #900000  }
    -
    -    .IndexPage .ISymbolPrefix,
    -    .FramedIndexPage .ISymbolPrefix {
    -        font-size: 10pt;
    -        text-align: right;
    -        color: #C47C7C;
    -        background-color: #F8F8F8;
    -        border-right: 3px solid #E0E0E0;
    -        border-left: 1px solid #E0E0E0;
    -        padding: 0 1px 0 2px;
    -        }
    -    .PopupSearchResultsPage .ISymbolPrefix,
    -    .FramedSearchResultsPage .ISymbolPrefix {
    -        color: #900000;
    -        }
    -    .PopupSearchResultsPage .ISymbolPrefix {
    -        font-size: 8pt;
    -        }
    -
    -    .IndexPage #IFirstSymbolPrefix,
    -    .FramedIndexPage #IFirstSymbolPrefix {
    -        border-top: 1px solid #E0E0E0;
    -        }
    -    .IndexPage #ILastSymbolPrefix,
    -    .FramedIndexPage #ILastSymbolPrefix {
    -        border-bottom: 1px solid #E0E0E0;
    -        }
    -    .IndexPage #IOnlySymbolPrefix,
    -    .FramedIndexPage #IOnlySymbolPrefix {
    -        border-top: 1px solid #E0E0E0;
    -        border-bottom: 1px solid #E0E0E0;
    -        }
    -
    -    a.IParent,
    -    a.IFile {
    -        display: block;
    -        }
    -
    -    .PopupSearchResultsPage .SRStatus {
    -        padding: 2px 5px;
    -        font-size: 8pt;
    -        font-style: italic;
    -        }
    -    .FramedSearchResultsPage .SRStatus {
    -        font-size: 10pt;
    -        font-style: italic;
    -        }
    -
    -    .SRResult {
    -        display: none;
    -        }
    -
    -
    -
    -#Footer {
    -    font-size: 8pt;
    -    color: #989898;
    -    text-align: right;
    -    }
    -
    -#Footer p {
    -    text-indent: 0;
    -    margin-bottom: .5em;
    -    }
    -
    -.ContentPage #Footer,
    -.IndexPage #Footer {
    -    text-align: right;
    -    margin: 2px;
    -    }
    -
    -.FramedMenuPage #Footer {
    -    text-align: center;
    -    margin: 5em 10px 10px 10px;
    -    padding-top: 1em;
    -    border-top: 1px solid #C8C8C8;
    -    }
    -
    -    #Footer a:link,
    -    #Footer a:hover,
    -    #Footer a:visited { color: #989898 }
    -    #Footer a:active { color: #A00000 }
    -
    -
    -
    -.prettyprint .kwd { color: #800000; }  /* keywords */
    -
    -    .prettyprint.PDefaultValue .kwd,
    -    .prettyprint.PDefaultValuePrefix .kwd,
    -    .prettyprint.PTypePrefix .kwd {
    -        color: #C88F8F;
    -        }
    -
    -.prettyprint .com { color: #008000; }  /* comments */
    -
    -    .prettyprint.PDefaultValue .com,
    -    .prettyprint.PDefaultValuePrefix .com,
    -    .prettyprint.PTypePrefix .com {
    -        color: #8FC88F;
    -        }
    -
    -.prettyprint .str { color: #0000B0; }  /* strings */
    -.prettyprint .lit { color: #0000B0; }  /* literals */
    -
    -    .prettyprint.PDefaultValue .str,
    -    .prettyprint.PDefaultValuePrefix .str,
    -    .prettyprint.PTypePrefix .str,
    -    .prettyprint.PDefaultValue .lit,
    -    .prettyprint.PDefaultValuePrefix .lit,
    -    .prettyprint.PTypePrefix .lit {
    -        color: #8F8FC0;
    -        }
    -
    -.prettyprint .typ { color: #000000; }  /* types */
    -.prettyprint .pun { color: #000000; }  /* punctuation */
    -.prettyprint .pln { color: #000000; }  /* punctuation */
    -
    -    .prettyprint.PDefaultValue .typ,
    -    .prettyprint.PDefaultValuePrefix .typ,
    -    .prettyprint.PTypePrefix .typ,
    -    .prettyprint.PDefaultValue .pun,
    -    .prettyprint.PDefaultValuePrefix .pun,
    -    .prettyprint.PTypePrefix .pun,
    -    .prettyprint.PDefaultValue .pln,
    -    .prettyprint.PDefaultValuePrefix .pln,
    -    .prettyprint.PTypePrefix .pln {
    -        color: #8F8F8F;
    -        }
    -
    -.prettyprint .tag { color: #008; }
    -.prettyprint .atn { color: #606; }
    -.prettyprint .atv { color: #080; }
    -.prettyprint .dec { color: #606; }
    -
    diff --git a/dotnet/docs/html/classcom_1_1mxgraph_1_1mxGraph.html b/dotnet/docs/html/classcom_1_1mxgraph_1_1mxGraph.html
    index 8da05a790..5f1bda3fb 100644
    --- a/dotnet/docs/html/classcom_1_1mxgraph_1_1mxGraph.html
    +++ b/dotnet/docs/html/classcom_1_1mxgraph_1_1mxGraph.html
    @@ -277,8 +277,8 @@ Public Member Functions</h2></td></tr>
     </table><table class="memberdecls">
     <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
     Public Attributes</h2></td></tr>
    -<tr class="memitem:a12b4a8dcf881951589ccca36c7ebfccb"><td class="memItemLeft" align="right" valign="top">const String&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxGraph.html#a12b4a8dcf881951589ccca36c7ebfccb">VERSION</a> = &quot;4.0.3&quot;</td></tr>
    -<tr class="memdesc:a12b4a8dcf881951589ccca36c7ebfccb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Holds the version number of this release. Current version is 4.0.3.  <a href="#a12b4a8dcf881951589ccca36c7ebfccb">More...</a><br /></td></tr>
    +<tr class="memitem:a12b4a8dcf881951589ccca36c7ebfccb"><td class="memItemLeft" align="right" valign="top">const String&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1mxgraph_1_1mxGraph.html#a12b4a8dcf881951589ccca36c7ebfccb">VERSION</a> = &quot;4.0.4&quot;</td></tr>
    +<tr class="memdesc:a12b4a8dcf881951589ccca36c7ebfccb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Holds the version number of this release. Current version is 4.0.4.  <a href="#a12b4a8dcf881951589ccca36c7ebfccb">More...</a><br /></td></tr>
     <tr class="separator:a12b4a8dcf881951589ccca36c7ebfccb"><td class="memSeparator" colspan="2">&#160;</td></tr>
     </table><table class="memberdecls">
     <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
    @@ -3890,12 +3890,12 @@ Properties</h2></td></tr>
     <div class="memproto">
           <table class="memname">
             <tr>
    -          <td class="memname">const String com.mxgraph.mxGraph.VERSION = &quot;4.0.3&quot;</td>
    +          <td class="memname">const String com.mxgraph.mxGraph.VERSION = &quot;4.0.4&quot;</td>
             </tr>
           </table>
     </div><div class="memdoc">
     
    -<p>Holds the version number of this release. Current version is 4.0.3. </p>
    +<p>Holds the version number of this release. Current version is 4.0.4. </p>
     
     </div>
     </div>
    diff --git a/dotnet/src/view/mxGraph.cs b/dotnet/src/view/mxGraph.cs
    index 17a0c3744..e47ddd3a8 100644
    --- a/dotnet/src/view/mxGraph.cs
    +++ b/dotnet/src/view/mxGraph.cs
    @@ -15,9 +15,9 @@ namespace com.mxgraph
         {
             /// <summary>
             /// Holds the version number of this release. Current version
    -        /// is 4.0.3.
    +        /// is 4.0.4.
             /// </summary>
    -        public const String VERSION = "4.0.3";
    +        public const String VERSION = "4.0.4";
     
             /// <summary>
             /// Holds the model that contains the cells to be displayed.
    diff --git a/index.html b/index.html
    index 787ab00ad..183887b20 100644
    --- a/index.html
    +++ b/index.html
    @@ -1,6 +1,6 @@
     <html>
     <head>
    -	<title>mxGraph 4.0.3</title>
    +	<title>mxGraph 4.0.4</title>
         <link rel="stylesheet" href="docs/css/manual-styles.css">
         <link rel="stylesheet" href="docs/css/manual-colors.css">
     </head>
    @@ -9,12 +9,12 @@
     <center>
     <img src="docs/images/mxgraph_logo.gif" alt="mxGraph"/><br/>
     <font size="-1"><i>
    -Version 4.0.3 &ndash; 26. July 2019
    +Version 4.0.4 &ndash; 20. August 2019
     </i></font>
     </center>
     <br/>
     <br/>
    -<h1>mxGraph 4.0.3</h1>
    +<h1>mxGraph 4.0.4</h1>
     <p>
     	mxGraph is a JavaScript diagramming library that enables interactive graph 
     	and charting applications to be quickly created that run natively in any
    diff --git a/java/build.xml b/java/build.xml
    index 5d8f7fe0f..dcdf2831b 100644
    --- a/java/build.xml
    +++ b/java/build.xml
    @@ -7,7 +7,7 @@
     <project name="mxgraph" default="all" basedir=".">
     
     	<property name="product.name"    value="mxGraph"/>
    -	<property name="product.version" value="4.0.3"/>
    +	<property name="product.version" value="4.0.4"/>
     	<property name="all.jar"         value="mxgraph-all.jar"/>
     	<property name="core.jar"        value="mxgraph-core.jar"/>
     	<property name="swing.jar"       value="mxgraph-swing.jar"/>
    diff --git a/java/docs/com/mxgraph/analysis/StructuralException.html b/java/docs/com/mxgraph/analysis/StructuralException.html
    index 934a7d6d2..2c623ea4f 100644
    --- a/java/docs/com/mxgraph/analysis/StructuralException.html
    +++ b/java/docs/com/mxgraph/analysis/StructuralException.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>StructuralException (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>StructuralException (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="StructuralException (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="StructuralException (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -250,7 +250,7 @@ extends java.lang.Exception</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/analysis/class-use/StructuralException.html b/java/docs/com/mxgraph/analysis/class-use/StructuralException.html
    index 0f223ef26..fc6d14f50 100644
    --- a/java/docs/com/mxgraph/analysis/class-use/StructuralException.html
    +++ b/java/docs/com/mxgraph/analysis/class-use/StructuralException.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.analysis.StructuralException (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.analysis.StructuralException (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.analysis.StructuralException (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.analysis.StructuralException (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -235,7 +235,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/analysis/class-use/mxAnalysisGraph.html b/java/docs/com/mxgraph/analysis/class-use/mxAnalysisGraph.html
    index acdd4ff3f..d6286cc75 100644
    --- a/java/docs/com/mxgraph/analysis/class-use/mxAnalysisGraph.html
    +++ b/java/docs/com/mxgraph/analysis/class-use/mxAnalysisGraph.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.analysis.mxAnalysisGraph (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.analysis.mxAnalysisGraph (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.analysis.mxAnalysisGraph (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.analysis.mxAnalysisGraph (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -560,7 +560,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/analysis/class-use/mxConstantCostFunction.html b/java/docs/com/mxgraph/analysis/class-use/mxConstantCostFunction.html
    index ef21448cc..409e3dfae 100644
    --- a/java/docs/com/mxgraph/analysis/class-use/mxConstantCostFunction.html
    +++ b/java/docs/com/mxgraph/analysis/class-use/mxConstantCostFunction.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.analysis.mxConstantCostFunction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.analysis.mxConstantCostFunction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.analysis.mxConstantCostFunction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.analysis.mxConstantCostFunction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/analysis/class-use/mxDistanceCostFunction.html b/java/docs/com/mxgraph/analysis/class-use/mxDistanceCostFunction.html
    index 0c3dc1e05..590bc56ab 100644
    --- a/java/docs/com/mxgraph/analysis/class-use/mxDistanceCostFunction.html
    +++ b/java/docs/com/mxgraph/analysis/class-use/mxDistanceCostFunction.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.analysis.mxDistanceCostFunction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.analysis.mxDistanceCostFunction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.analysis.mxDistanceCostFunction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.analysis.mxDistanceCostFunction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/analysis/class-use/mxFibonacciHeap.Node.html b/java/docs/com/mxgraph/analysis/class-use/mxFibonacciHeap.Node.html
    index 6a905469f..c8ac1d99d 100644
    --- a/java/docs/com/mxgraph/analysis/class-use/mxFibonacciHeap.Node.html
    +++ b/java/docs/com/mxgraph/analysis/class-use/mxFibonacciHeap.Node.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.analysis.mxFibonacciHeap.Node (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.analysis.mxFibonacciHeap.Node (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.analysis.mxFibonacciHeap.Node (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.analysis.mxFibonacciHeap.Node (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -272,7 +272,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/analysis/class-use/mxFibonacciHeap.html b/java/docs/com/mxgraph/analysis/class-use/mxFibonacciHeap.html
    index b9e8ca623..a3dde26a3 100644
    --- a/java/docs/com/mxgraph/analysis/class-use/mxFibonacciHeap.html
    +++ b/java/docs/com/mxgraph/analysis/class-use/mxFibonacciHeap.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.analysis.mxFibonacciHeap (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.analysis.mxFibonacciHeap (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.analysis.mxFibonacciHeap (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.analysis.mxFibonacciHeap (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -195,7 +195,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/analysis/class-use/mxGraphAnalysis.html b/java/docs/com/mxgraph/analysis/class-use/mxGraphAnalysis.html
    index 5979e32ec..67adbb6f8 100644
    --- a/java/docs/com/mxgraph/analysis/class-use/mxGraphAnalysis.html
    +++ b/java/docs/com/mxgraph/analysis/class-use/mxGraphAnalysis.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.analysis.mxGraphAnalysis (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.analysis.mxGraphAnalysis (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.analysis.mxGraphAnalysis (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.analysis.mxGraphAnalysis (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -201,7 +201,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/analysis/class-use/mxGraphGenerator.html b/java/docs/com/mxgraph/analysis/class-use/mxGraphGenerator.html
    index f3a31847c..c4adecb23 100644
    --- a/java/docs/com/mxgraph/analysis/class-use/mxGraphGenerator.html
    +++ b/java/docs/com/mxgraph/analysis/class-use/mxGraphGenerator.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.analysis.mxGraphGenerator (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.analysis.mxGraphGenerator (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.analysis.mxGraphGenerator (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.analysis.mxGraphGenerator (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -197,7 +197,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/analysis/class-use/mxGraphProperties.GraphType.html b/java/docs/com/mxgraph/analysis/class-use/mxGraphProperties.GraphType.html
    index f531f4859..5c517c2b1 100644
    --- a/java/docs/com/mxgraph/analysis/class-use/mxGraphProperties.GraphType.html
    +++ b/java/docs/com/mxgraph/analysis/class-use/mxGraphProperties.GraphType.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.analysis.mxGraphProperties.GraphType (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.analysis.mxGraphProperties.GraphType (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.analysis.mxGraphProperties.GraphType (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.analysis.mxGraphProperties.GraphType (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -177,7 +177,7 @@ the order they are declared.</div>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/analysis/class-use/mxGraphProperties.html b/java/docs/com/mxgraph/analysis/class-use/mxGraphProperties.html
    index 7b24a2712..ef924b756 100644
    --- a/java/docs/com/mxgraph/analysis/class-use/mxGraphProperties.html
    +++ b/java/docs/com/mxgraph/analysis/class-use/mxGraphProperties.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.analysis.mxGraphProperties (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.analysis.mxGraphProperties (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.analysis.mxGraphProperties (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.analysis.mxGraphProperties (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/analysis/class-use/mxGraphStructure.html b/java/docs/com/mxgraph/analysis/class-use/mxGraphStructure.html
    index 7c0eaec61..86cf043cc 100644
    --- a/java/docs/com/mxgraph/analysis/class-use/mxGraphStructure.html
    +++ b/java/docs/com/mxgraph/analysis/class-use/mxGraphStructure.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.analysis.mxGraphStructure (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.analysis.mxGraphStructure (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.analysis.mxGraphStructure (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.analysis.mxGraphStructure (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/analysis/class-use/mxICostFunction.html b/java/docs/com/mxgraph/analysis/class-use/mxICostFunction.html
    index 8e5f9c019..896ba2394 100644
    --- a/java/docs/com/mxgraph/analysis/class-use/mxICostFunction.html
    +++ b/java/docs/com/mxgraph/analysis/class-use/mxICostFunction.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Interface com.mxgraph.analysis.mxICostFunction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Interface com.mxgraph.analysis.mxICostFunction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Interface com.mxgraph.analysis.mxICostFunction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Interface com.mxgraph.analysis.mxICostFunction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -316,7 +316,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/analysis/class-use/mxTraversal.html b/java/docs/com/mxgraph/analysis/class-use/mxTraversal.html
    index 4411e85ae..a60f4af6b 100644
    --- a/java/docs/com/mxgraph/analysis/class-use/mxTraversal.html
    +++ b/java/docs/com/mxgraph/analysis/class-use/mxTraversal.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.analysis.mxTraversal (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.analysis.mxTraversal (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.analysis.mxTraversal (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.analysis.mxTraversal (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/analysis/class-use/mxUnionFind.Node.html b/java/docs/com/mxgraph/analysis/class-use/mxUnionFind.Node.html
    index cbfac28d1..9c666e79d 100644
    --- a/java/docs/com/mxgraph/analysis/class-use/mxUnionFind.Node.html
    +++ b/java/docs/com/mxgraph/analysis/class-use/mxUnionFind.Node.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.analysis.mxUnionFind.Node (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.analysis.mxUnionFind.Node (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.analysis.mxUnionFind.Node (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.analysis.mxUnionFind.Node (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -246,7 +246,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/analysis/class-use/mxUnionFind.html b/java/docs/com/mxgraph/analysis/class-use/mxUnionFind.html
    index f6e83e6d4..4fa51dd30 100644
    --- a/java/docs/com/mxgraph/analysis/class-use/mxUnionFind.html
    +++ b/java/docs/com/mxgraph/analysis/class-use/mxUnionFind.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.analysis.mxUnionFind (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.analysis.mxUnionFind (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.analysis.mxUnionFind (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.analysis.mxUnionFind (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -179,7 +179,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/analysis/mxAnalysisGraph.html b/java/docs/com/mxgraph/analysis/mxAnalysisGraph.html
    index 810c61ee7..e1b3aa566 100644
    --- a/java/docs/com/mxgraph/analysis/mxAnalysisGraph.html
    +++ b/java/docs/com/mxgraph/analysis/mxAnalysisGraph.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxAnalysisGraph (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxAnalysisGraph (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxAnalysisGraph (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxAnalysisGraph (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -643,7 +643,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/analysis/mxConstantCostFunction.html b/java/docs/com/mxgraph/analysis/mxConstantCostFunction.html
    index 1ff5c523f..000a480cf 100644
    --- a/java/docs/com/mxgraph/analysis/mxConstantCostFunction.html
    +++ b/java/docs/com/mxgraph/analysis/mxConstantCostFunction.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxConstantCostFunction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxConstantCostFunction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxConstantCostFunction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxConstantCostFunction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -327,7 +327,7 @@ implements <a href="mxICostFunction.html" title="interface in com.mxgraph.analys
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/analysis/mxDistanceCostFunction.html b/java/docs/com/mxgraph/analysis/mxDistanceCostFunction.html
    index 2acbc7c80..37ac22b2d 100644
    --- a/java/docs/com/mxgraph/analysis/mxDistanceCostFunction.html
    +++ b/java/docs/com/mxgraph/analysis/mxDistanceCostFunction.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxDistanceCostFunction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxDistanceCostFunction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxDistanceCostFunction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxDistanceCostFunction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -282,7 +282,7 @@ implements <a href="mxICostFunction.html" title="interface in com.mxgraph.analys
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/analysis/mxFibonacciHeap.Node.html b/java/docs/com/mxgraph/analysis/mxFibonacciHeap.Node.html
    index 60db14f3c..3c49788db 100644
    --- a/java/docs/com/mxgraph/analysis/mxFibonacciHeap.Node.html
    +++ b/java/docs/com/mxgraph/analysis/mxFibonacciHeap.Node.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxFibonacciHeap.Node (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxFibonacciHeap.Node (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxFibonacciHeap.Node (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxFibonacciHeap.Node (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -324,7 +324,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/analysis/mxFibonacciHeap.html b/java/docs/com/mxgraph/analysis/mxFibonacciHeap.html
    index 51d0f6f7b..d1327dfa1 100644
    --- a/java/docs/com/mxgraph/analysis/mxFibonacciHeap.html
    +++ b/java/docs/com/mxgraph/analysis/mxFibonacciHeap.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxFibonacciHeap (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxFibonacciHeap (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxFibonacciHeap (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxFibonacciHeap (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -701,7 +701,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/analysis/mxGraphAnalysis.html b/java/docs/com/mxgraph/analysis/mxGraphAnalysis.html
    index 9b5971f7f..027388ca5 100644
    --- a/java/docs/com/mxgraph/analysis/mxGraphAnalysis.html
    +++ b/java/docs/com/mxgraph/analysis/mxGraphAnalysis.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphAnalysis (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphAnalysis (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphAnalysis (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphAnalysis (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -624,7 +624,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/analysis/mxGraphGenerator.html b/java/docs/com/mxgraph/analysis/mxGraphGenerator.html
    index a5d37ea0a..53515008d 100644
    --- a/java/docs/com/mxgraph/analysis/mxGraphGenerator.html
    +++ b/java/docs/com/mxgraph/analysis/mxGraphGenerator.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphGenerator (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphGenerator (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphGenerator (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphGenerator (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -1026,7 +1026,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/analysis/mxGraphProperties.GraphType.html b/java/docs/com/mxgraph/analysis/mxGraphProperties.GraphType.html
    index a7de7570a..f7fcf50b7 100644
    --- a/java/docs/com/mxgraph/analysis/mxGraphProperties.GraphType.html
    +++ b/java/docs/com/mxgraph/analysis/mxGraphProperties.GraphType.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphProperties.GraphType (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphProperties.GraphType (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphProperties.GraphType (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphProperties.GraphType (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -781,7 +781,7 @@ not permitted.)</div>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/analysis/mxGraphProperties.html b/java/docs/com/mxgraph/analysis/mxGraphProperties.html
    index c7906cc58..fc47244a6 100644
    --- a/java/docs/com/mxgraph/analysis/mxGraphProperties.html
    +++ b/java/docs/com/mxgraph/analysis/mxGraphProperties.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphProperties (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphProperties (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphProperties (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphProperties (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -454,7 +454,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/analysis/mxGraphStructure.html b/java/docs/com/mxgraph/analysis/mxGraphStructure.html
    index 96f44145a..95222fd9e 100644
    --- a/java/docs/com/mxgraph/analysis/mxGraphStructure.html
    +++ b/java/docs/com/mxgraph/analysis/mxGraphStructure.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphStructure (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphStructure (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphStructure (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphStructure (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -824,7 +824,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/analysis/mxICostFunction.html b/java/docs/com/mxgraph/analysis/mxICostFunction.html
    index a750b7684..93e92daf0 100644
    --- a/java/docs/com/mxgraph/analysis/mxICostFunction.html
    +++ b/java/docs/com/mxgraph/analysis/mxICostFunction.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxICostFunction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxICostFunction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxICostFunction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxICostFunction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -225,7 +225,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/analysis/mxTraversal.html b/java/docs/com/mxgraph/analysis/mxTraversal.html
    index 78a7204f4..884ce84ee 100644
    --- a/java/docs/com/mxgraph/analysis/mxTraversal.html
    +++ b/java/docs/com/mxgraph/analysis/mxTraversal.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxTraversal (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxTraversal (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxTraversal (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxTraversal (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -469,7 +469,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/analysis/mxUnionFind.Node.html b/java/docs/com/mxgraph/analysis/mxUnionFind.Node.html
    index 15aafa6e0..9153e8fdf 100644
    --- a/java/docs/com/mxgraph/analysis/mxUnionFind.Node.html
    +++ b/java/docs/com/mxgraph/analysis/mxUnionFind.Node.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxUnionFind.Node (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxUnionFind.Node (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxUnionFind.Node (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxUnionFind.Node (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -388,7 +388,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/analysis/mxUnionFind.html b/java/docs/com/mxgraph/analysis/mxUnionFind.html
    index 1b8c5f49a..1516c3e5e 100644
    --- a/java/docs/com/mxgraph/analysis/mxUnionFind.html
    +++ b/java/docs/com/mxgraph/analysis/mxUnionFind.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxUnionFind (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxUnionFind (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxUnionFind (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxUnionFind (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -421,7 +421,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/analysis/package-summary.html b/java/docs/com/mxgraph/analysis/package-summary.html
    index 98b21f72a..352453ad2 100644
    --- a/java/docs/com/mxgraph/analysis/package-summary.html
    +++ b/java/docs/com/mxgraph/analysis/package-summary.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>com.mxgraph.analysis (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>com.mxgraph.analysis (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="com.mxgraph.analysis (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="com.mxgraph.analysis (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -252,7 +252,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/analysis/package-tree.html b/java/docs/com/mxgraph/analysis/package-tree.html
    index ea3e1ff0d..43be8d363 100644
    --- a/java/docs/com/mxgraph/analysis/package-tree.html
    +++ b/java/docs/com/mxgraph/analysis/package-tree.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>com.mxgraph.analysis Class Hierarchy (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>com.mxgraph.analysis Class Hierarchy (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="com.mxgraph.analysis Class Hierarchy (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="com.mxgraph.analysis Class Hierarchy (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -175,7 +175,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/analysis/package-use.html b/java/docs/com/mxgraph/analysis/package-use.html
    index 283b96163..423238015 100644
    --- a/java/docs/com/mxgraph/analysis/package-use.html
    +++ b/java/docs/com/mxgraph/analysis/package-use.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Package com.mxgraph.analysis (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Package com.mxgraph.analysis (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Package com.mxgraph.analysis (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Package com.mxgraph.analysis (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -256,7 +256,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/canvas/class-use/mxBasicCanvas.html b/java/docs/com/mxgraph/canvas/class-use/mxBasicCanvas.html
    index 222d40990..91b91ca06 100644
    --- a/java/docs/com/mxgraph/canvas/class-use/mxBasicCanvas.html
    +++ b/java/docs/com/mxgraph/canvas/class-use/mxBasicCanvas.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.canvas.mxBasicCanvas (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.canvas.mxBasicCanvas (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.canvas.mxBasicCanvas (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.canvas.mxBasicCanvas (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -220,7 +220,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/canvas/class-use/mxGraphics2DCanvas.html b/java/docs/com/mxgraph/canvas/class-use/mxGraphics2DCanvas.html
    index 57b57ddb8..85e3a268c 100644
    --- a/java/docs/com/mxgraph/canvas/class-use/mxGraphics2DCanvas.html
    +++ b/java/docs/com/mxgraph/canvas/class-use/mxGraphics2DCanvas.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.canvas.mxGraphics2DCanvas (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.canvas.mxGraphics2DCanvas (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.canvas.mxGraphics2DCanvas (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.canvas.mxGraphics2DCanvas (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -808,7 +808,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/canvas/class-use/mxGraphicsCanvas2D.CanvasState.html b/java/docs/com/mxgraph/canvas/class-use/mxGraphicsCanvas2D.CanvasState.html
    index 0013b8d01..9b18c5383 100644
    --- a/java/docs/com/mxgraph/canvas/class-use/mxGraphicsCanvas2D.CanvasState.html
    +++ b/java/docs/com/mxgraph/canvas/class-use/mxGraphicsCanvas2D.CanvasState.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.canvas.mxGraphicsCanvas2D.CanvasState (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.canvas.mxGraphicsCanvas2D.CanvasState (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.canvas.mxGraphicsCanvas2D.CanvasState (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.canvas.mxGraphicsCanvas2D.CanvasState (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -220,7 +220,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/canvas/class-use/mxGraphicsCanvas2D.html b/java/docs/com/mxgraph/canvas/class-use/mxGraphicsCanvas2D.html
    index eae1a229f..8a0382218 100644
    --- a/java/docs/com/mxgraph/canvas/class-use/mxGraphicsCanvas2D.html
    +++ b/java/docs/com/mxgraph/canvas/class-use/mxGraphicsCanvas2D.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.canvas.mxGraphicsCanvas2D (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.canvas.mxGraphicsCanvas2D (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.canvas.mxGraphicsCanvas2D (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.canvas.mxGraphicsCanvas2D (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -230,7 +230,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/canvas/class-use/mxHtmlCanvas.html b/java/docs/com/mxgraph/canvas/class-use/mxHtmlCanvas.html
    index 59f02a612..388100ebd 100644
    --- a/java/docs/com/mxgraph/canvas/class-use/mxHtmlCanvas.html
    +++ b/java/docs/com/mxgraph/canvas/class-use/mxHtmlCanvas.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.canvas.mxHtmlCanvas (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.canvas.mxHtmlCanvas (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.canvas.mxHtmlCanvas (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.canvas.mxHtmlCanvas (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/canvas/class-use/mxICanvas.html b/java/docs/com/mxgraph/canvas/class-use/mxICanvas.html
    index e59aa2163..8c95a516e 100644
    --- a/java/docs/com/mxgraph/canvas/class-use/mxICanvas.html
    +++ b/java/docs/com/mxgraph/canvas/class-use/mxICanvas.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Interface com.mxgraph.canvas.mxICanvas (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Interface com.mxgraph.canvas.mxICanvas (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Interface com.mxgraph.canvas.mxICanvas (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Interface com.mxgraph.canvas.mxICanvas (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -435,7 +435,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/canvas/class-use/mxICanvas2D.html b/java/docs/com/mxgraph/canvas/class-use/mxICanvas2D.html
    index 39fb354ab..79b570ffe 100644
    --- a/java/docs/com/mxgraph/canvas/class-use/mxICanvas2D.html
    +++ b/java/docs/com/mxgraph/canvas/class-use/mxICanvas2D.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Interface com.mxgraph.canvas.mxICanvas2D (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Interface com.mxgraph.canvas.mxICanvas2D (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Interface com.mxgraph.canvas.mxICanvas2D (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Interface com.mxgraph.canvas.mxICanvas2D (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -254,7 +254,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/canvas/class-use/mxImageCanvas.html b/java/docs/com/mxgraph/canvas/class-use/mxImageCanvas.html
    index 2c03dbc29..8e8577a81 100644
    --- a/java/docs/com/mxgraph/canvas/class-use/mxImageCanvas.html
    +++ b/java/docs/com/mxgraph/canvas/class-use/mxImageCanvas.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.canvas.mxImageCanvas (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.canvas.mxImageCanvas (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.canvas.mxImageCanvas (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.canvas.mxImageCanvas (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/canvas/class-use/mxSvgCanvas.html b/java/docs/com/mxgraph/canvas/class-use/mxSvgCanvas.html
    index ae9040c14..beab87e4d 100644
    --- a/java/docs/com/mxgraph/canvas/class-use/mxSvgCanvas.html
    +++ b/java/docs/com/mxgraph/canvas/class-use/mxSvgCanvas.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.canvas.mxSvgCanvas (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.canvas.mxSvgCanvas (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.canvas.mxSvgCanvas (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.canvas.mxSvgCanvas (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/canvas/class-use/mxVmlCanvas.html b/java/docs/com/mxgraph/canvas/class-use/mxVmlCanvas.html
    index 8aac47ca5..26ff9bb03 100644
    --- a/java/docs/com/mxgraph/canvas/class-use/mxVmlCanvas.html
    +++ b/java/docs/com/mxgraph/canvas/class-use/mxVmlCanvas.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.canvas.mxVmlCanvas (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.canvas.mxVmlCanvas (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.canvas.mxVmlCanvas (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.canvas.mxVmlCanvas (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/canvas/mxBasicCanvas.html b/java/docs/com/mxgraph/canvas/mxBasicCanvas.html
    index 3ad8ee0c4..d0f0f94ab 100644
    --- a/java/docs/com/mxgraph/canvas/mxBasicCanvas.html
    +++ b/java/docs/com/mxgraph/canvas/mxBasicCanvas.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxBasicCanvas (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxBasicCanvas (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxBasicCanvas (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxBasicCanvas (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -611,7 +611,7 @@ implements <a href="mxICanvas.html" title="interface in com.mxgraph.canvas">mxIC
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/canvas/mxGraphics2DCanvas.html b/java/docs/com/mxgraph/canvas/mxGraphics2DCanvas.html
    index 6bb85f03b..f7317c6d4 100644
    --- a/java/docs/com/mxgraph/canvas/mxGraphics2DCanvas.html
    +++ b/java/docs/com/mxgraph/canvas/mxGraphics2DCanvas.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphics2DCanvas (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphics2DCanvas (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphics2DCanvas (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphics2DCanvas (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -798,7 +798,7 @@ extends <a href="mxBasicCanvas.html" title="class in com.mxgraph.canvas">mxBasic
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/canvas/mxGraphicsCanvas2D.CanvasState.html b/java/docs/com/mxgraph/canvas/mxGraphicsCanvas2D.CanvasState.html
    index 4f455f38d..a95e0bbfd 100644
    --- a/java/docs/com/mxgraph/canvas/mxGraphicsCanvas2D.CanvasState.html
    +++ b/java/docs/com/mxgraph/canvas/mxGraphicsCanvas2D.CanvasState.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphicsCanvas2D.CanvasState (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphicsCanvas2D.CanvasState (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphicsCanvas2D.CanvasState (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphicsCanvas2D.CanvasState (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -858,7 +858,7 @@ implements java.lang.Cloneable</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/canvas/mxGraphicsCanvas2D.html b/java/docs/com/mxgraph/canvas/mxGraphicsCanvas2D.html
    index d57bcf3f4..971c8f173 100644
    --- a/java/docs/com/mxgraph/canvas/mxGraphicsCanvas2D.html
    +++ b/java/docs/com/mxgraph/canvas/mxGraphicsCanvas2D.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphicsCanvas2D (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphicsCanvas2D (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphicsCanvas2D (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphicsCanvas2D (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -2338,7 +2338,7 @@ implements <a href="mxICanvas2D.html" title="interface in com.mxgraph.canvas">mx
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/canvas/mxHtmlCanvas.html b/java/docs/com/mxgraph/canvas/mxHtmlCanvas.html
    index 08b40e996..d7501cc66 100644
    --- a/java/docs/com/mxgraph/canvas/mxHtmlCanvas.html
    +++ b/java/docs/com/mxgraph/canvas/mxHtmlCanvas.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxHtmlCanvas (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxHtmlCanvas (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxHtmlCanvas (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxHtmlCanvas (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -573,7 +573,7 @@ extends <a href="mxBasicCanvas.html" title="class in com.mxgraph.canvas">mxBasic
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/canvas/mxICanvas.html b/java/docs/com/mxgraph/canvas/mxICanvas.html
    index 7555f5b38..97c1515c4 100644
    --- a/java/docs/com/mxgraph/canvas/mxICanvas.html
    +++ b/java/docs/com/mxgraph/canvas/mxICanvas.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxICanvas (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxICanvas (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxICanvas (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxICanvas (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -325,7 +325,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/canvas/mxICanvas2D.html b/java/docs/com/mxgraph/canvas/mxICanvas2D.html
    index 5a12f97e9..be8dc0260 100644
    --- a/java/docs/com/mxgraph/canvas/mxICanvas2D.html
    +++ b/java/docs/com/mxgraph/canvas/mxICanvas2D.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxICanvas2D (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxICanvas2D (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxICanvas2D (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxICanvas2D (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -1233,7 +1233,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/canvas/mxImageCanvas.html b/java/docs/com/mxgraph/canvas/mxImageCanvas.html
    index 221d15e54..d95e7f348 100644
    --- a/java/docs/com/mxgraph/canvas/mxImageCanvas.html
    +++ b/java/docs/com/mxgraph/canvas/mxImageCanvas.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxImageCanvas (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxImageCanvas (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxImageCanvas (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxImageCanvas (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -552,7 +552,7 @@ implements <a href="mxICanvas.html" title="interface in com.mxgraph.canvas">mxIC
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/canvas/mxSvgCanvas.html b/java/docs/com/mxgraph/canvas/mxSvgCanvas.html
    index cb612e7d6..6e4cef18b 100644
    --- a/java/docs/com/mxgraph/canvas/mxSvgCanvas.html
    +++ b/java/docs/com/mxgraph/canvas/mxSvgCanvas.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxSvgCanvas (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxSvgCanvas (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxSvgCanvas (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxSvgCanvas (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -804,7 +804,7 @@ extends <a href="mxBasicCanvas.html" title="class in com.mxgraph.canvas">mxBasic
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/canvas/mxVmlCanvas.html b/java/docs/com/mxgraph/canvas/mxVmlCanvas.html
    index eaa11158b..2fbbd0c71 100644
    --- a/java/docs/com/mxgraph/canvas/mxVmlCanvas.html
    +++ b/java/docs/com/mxgraph/canvas/mxVmlCanvas.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxVmlCanvas (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxVmlCanvas (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxVmlCanvas (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxVmlCanvas (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -537,7 +537,7 @@ extends <a href="mxBasicCanvas.html" title="class in com.mxgraph.canvas">mxBasic
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/canvas/package-summary.html b/java/docs/com/mxgraph/canvas/package-summary.html
    index bd9cca9ce..fecc69e60 100644
    --- a/java/docs/com/mxgraph/canvas/package-summary.html
    +++ b/java/docs/com/mxgraph/canvas/package-summary.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>com.mxgraph.canvas (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>com.mxgraph.canvas (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="com.mxgraph.canvas (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="com.mxgraph.canvas (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -215,7 +215,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/canvas/package-tree.html b/java/docs/com/mxgraph/canvas/package-tree.html
    index c59dc3985..ad2db398c 100644
    --- a/java/docs/com/mxgraph/canvas/package-tree.html
    +++ b/java/docs/com/mxgraph/canvas/package-tree.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>com.mxgraph.canvas Class Hierarchy (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>com.mxgraph.canvas Class Hierarchy (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="com.mxgraph.canvas Class Hierarchy (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="com.mxgraph.canvas Class Hierarchy (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -152,7 +152,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/canvas/package-use.html b/java/docs/com/mxgraph/canvas/package-use.html
    index b77801443..003100871 100644
    --- a/java/docs/com/mxgraph/canvas/package-use.html
    +++ b/java/docs/com/mxgraph/canvas/package-use.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Package com.mxgraph.canvas (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Package com.mxgraph.canvas (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Package com.mxgraph.canvas (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Package com.mxgraph.canvas (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -429,7 +429,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/costfunction/class-use/mxConstCostFunction.html b/java/docs/com/mxgraph/costfunction/class-use/mxConstCostFunction.html
    index 7195bb6e4..8ca7b26a1 100644
    --- a/java/docs/com/mxgraph/costfunction/class-use/mxConstCostFunction.html
    +++ b/java/docs/com/mxgraph/costfunction/class-use/mxConstCostFunction.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.costfunction.mxConstCostFunction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.costfunction.mxConstCostFunction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.costfunction.mxConstCostFunction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.costfunction.mxConstCostFunction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/costfunction/class-use/mxCostFunction.html b/java/docs/com/mxgraph/costfunction/class-use/mxCostFunction.html
    index 4b2b390cd..a9bba6f85 100644
    --- a/java/docs/com/mxgraph/costfunction/class-use/mxCostFunction.html
    +++ b/java/docs/com/mxgraph/costfunction/class-use/mxCostFunction.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.costfunction.mxCostFunction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.costfunction.mxCostFunction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.costfunction.mxCostFunction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.costfunction.mxCostFunction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -229,7 +229,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/costfunction/class-use/mxDoubleValCostFunction.html b/java/docs/com/mxgraph/costfunction/class-use/mxDoubleValCostFunction.html
    index b747b4077..18e31c10b 100644
    --- a/java/docs/com/mxgraph/costfunction/class-use/mxDoubleValCostFunction.html
    +++ b/java/docs/com/mxgraph/costfunction/class-use/mxDoubleValCostFunction.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.costfunction.mxDoubleValCostFunction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.costfunction.mxDoubleValCostFunction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.costfunction.mxDoubleValCostFunction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.costfunction.mxDoubleValCostFunction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/costfunction/mxConstCostFunction.html b/java/docs/com/mxgraph/costfunction/mxConstCostFunction.html
    index 253bfc795..d6026d1e5 100644
    --- a/java/docs/com/mxgraph/costfunction/mxConstCostFunction.html
    +++ b/java/docs/com/mxgraph/costfunction/mxConstCostFunction.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxConstCostFunction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxConstCostFunction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxConstCostFunction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxConstCostFunction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -282,7 +282,7 @@ extends <a href="mxCostFunction.html" title="class in com.mxgraph.costfunction">
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/costfunction/mxCostFunction.html b/java/docs/com/mxgraph/costfunction/mxCostFunction.html
    index 8b30a8b87..dd9ebf5d3 100644
    --- a/java/docs/com/mxgraph/costfunction/mxCostFunction.html
    +++ b/java/docs/com/mxgraph/costfunction/mxCostFunction.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxCostFunction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxCostFunction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxCostFunction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxCostFunction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -241,7 +241,7 @@ implements <a href="../analysis/mxICostFunction.html" title="interface in com.mx
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/costfunction/mxDoubleValCostFunction.html b/java/docs/com/mxgraph/costfunction/mxDoubleValCostFunction.html
    index f96279912..eab324f46 100644
    --- a/java/docs/com/mxgraph/costfunction/mxDoubleValCostFunction.html
    +++ b/java/docs/com/mxgraph/costfunction/mxDoubleValCostFunction.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxDoubleValCostFunction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxDoubleValCostFunction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxDoubleValCostFunction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxDoubleValCostFunction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -283,7 +283,7 @@ extends <a href="mxCostFunction.html" title="class in com.mxgraph.costfunction">
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/costfunction/package-summary.html b/java/docs/com/mxgraph/costfunction/package-summary.html
    index cc01f9278..88a2f3a51 100644
    --- a/java/docs/com/mxgraph/costfunction/package-summary.html
    +++ b/java/docs/com/mxgraph/costfunction/package-summary.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>com.mxgraph.costfunction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>com.mxgraph.costfunction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="com.mxgraph.costfunction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="com.mxgraph.costfunction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -148,7 +148,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/costfunction/package-tree.html b/java/docs/com/mxgraph/costfunction/package-tree.html
    index a4f45355c..ef28a5e83 100644
    --- a/java/docs/com/mxgraph/costfunction/package-tree.html
    +++ b/java/docs/com/mxgraph/costfunction/package-tree.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>com.mxgraph.costfunction Class Hierarchy (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>com.mxgraph.costfunction Class Hierarchy (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="com.mxgraph.costfunction Class Hierarchy (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="com.mxgraph.costfunction Class Hierarchy (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -140,7 +140,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/costfunction/package-use.html b/java/docs/com/mxgraph/costfunction/package-use.html
    index c0bff6693..3d86ab08e 100644
    --- a/java/docs/com/mxgraph/costfunction/package-use.html
    +++ b/java/docs/com/mxgraph/costfunction/package-use.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Package com.mxgraph.costfunction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Package com.mxgraph.costfunction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Package com.mxgraph.costfunction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Package com.mxgraph.costfunction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -179,7 +179,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/generatorfunction/class-use/mxGeneratorConstFunction.html b/java/docs/com/mxgraph/generatorfunction/class-use/mxGeneratorConstFunction.html
    index aba3c812b..0dfcf215d 100644
    --- a/java/docs/com/mxgraph/generatorfunction/class-use/mxGeneratorConstFunction.html
    +++ b/java/docs/com/mxgraph/generatorfunction/class-use/mxGeneratorConstFunction.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.generatorfunction.mxGeneratorConstFunction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.generatorfunction.mxGeneratorConstFunction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.generatorfunction.mxGeneratorConstFunction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.generatorfunction.mxGeneratorConstFunction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/generatorfunction/class-use/mxGeneratorFunction.html b/java/docs/com/mxgraph/generatorfunction/class-use/mxGeneratorFunction.html
    index b3e4dfe8b..67c1afb3c 100644
    --- a/java/docs/com/mxgraph/generatorfunction/class-use/mxGeneratorFunction.html
    +++ b/java/docs/com/mxgraph/generatorfunction/class-use/mxGeneratorFunction.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.generatorfunction.mxGeneratorFunction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.generatorfunction.mxGeneratorFunction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.generatorfunction.mxGeneratorFunction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.generatorfunction.mxGeneratorFunction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -225,7 +225,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/generatorfunction/class-use/mxGeneratorRandomFunction.html b/java/docs/com/mxgraph/generatorfunction/class-use/mxGeneratorRandomFunction.html
    index dff234987..64eef7722 100644
    --- a/java/docs/com/mxgraph/generatorfunction/class-use/mxGeneratorRandomFunction.html
    +++ b/java/docs/com/mxgraph/generatorfunction/class-use/mxGeneratorRandomFunction.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.generatorfunction.mxGeneratorRandomFunction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.generatorfunction.mxGeneratorRandomFunction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.generatorfunction.mxGeneratorRandomFunction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.generatorfunction.mxGeneratorRandomFunction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/generatorfunction/class-use/mxGeneratorRandomIntFunction.html b/java/docs/com/mxgraph/generatorfunction/class-use/mxGeneratorRandomIntFunction.html
    index 1c1dbea46..df6e51db5 100644
    --- a/java/docs/com/mxgraph/generatorfunction/class-use/mxGeneratorRandomIntFunction.html
    +++ b/java/docs/com/mxgraph/generatorfunction/class-use/mxGeneratorRandomIntFunction.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.generatorfunction.mxGeneratorRandomIntFunction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.generatorfunction.mxGeneratorRandomIntFunction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.generatorfunction.mxGeneratorRandomIntFunction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.generatorfunction.mxGeneratorRandomIntFunction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/generatorfunction/mxGeneratorConstFunction.html b/java/docs/com/mxgraph/generatorfunction/mxGeneratorConstFunction.html
    index d7563d97d..4fe246c73 100644
    --- a/java/docs/com/mxgraph/generatorfunction/mxGeneratorConstFunction.html
    +++ b/java/docs/com/mxgraph/generatorfunction/mxGeneratorConstFunction.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGeneratorConstFunction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGeneratorConstFunction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGeneratorConstFunction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGeneratorConstFunction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -282,7 +282,7 @@ extends <a href="mxGeneratorFunction.html" title="class in com.mxgraph.generator
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/generatorfunction/mxGeneratorFunction.html b/java/docs/com/mxgraph/generatorfunction/mxGeneratorFunction.html
    index a9aaefb25..3c17ab57f 100644
    --- a/java/docs/com/mxgraph/generatorfunction/mxGeneratorFunction.html
    +++ b/java/docs/com/mxgraph/generatorfunction/mxGeneratorFunction.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGeneratorFunction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGeneratorFunction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGeneratorFunction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGeneratorFunction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -241,7 +241,7 @@ implements <a href="../analysis/mxICostFunction.html" title="interface in com.mx
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/generatorfunction/mxGeneratorRandomFunction.html b/java/docs/com/mxgraph/generatorfunction/mxGeneratorRandomFunction.html
    index bbadc9c2f..bdca347a9 100644
    --- a/java/docs/com/mxgraph/generatorfunction/mxGeneratorRandomFunction.html
    +++ b/java/docs/com/mxgraph/generatorfunction/mxGeneratorRandomFunction.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGeneratorRandomFunction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGeneratorRandomFunction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGeneratorRandomFunction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGeneratorRandomFunction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -358,7 +358,7 @@ extends <a href="mxGeneratorFunction.html" title="class in com.mxgraph.generator
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/generatorfunction/mxGeneratorRandomIntFunction.html b/java/docs/com/mxgraph/generatorfunction/mxGeneratorRandomIntFunction.html
    index e3f3413c5..dba338b16 100644
    --- a/java/docs/com/mxgraph/generatorfunction/mxGeneratorRandomIntFunction.html
    +++ b/java/docs/com/mxgraph/generatorfunction/mxGeneratorRandomIntFunction.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGeneratorRandomIntFunction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGeneratorRandomIntFunction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGeneratorRandomIntFunction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGeneratorRandomIntFunction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -328,7 +328,7 @@ extends <a href="mxGeneratorFunction.html" title="class in com.mxgraph.generator
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/generatorfunction/package-summary.html b/java/docs/com/mxgraph/generatorfunction/package-summary.html
    index e3a506b5d..42b4efba0 100644
    --- a/java/docs/com/mxgraph/generatorfunction/package-summary.html
    +++ b/java/docs/com/mxgraph/generatorfunction/package-summary.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>com.mxgraph.generatorfunction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>com.mxgraph.generatorfunction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="com.mxgraph.generatorfunction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="com.mxgraph.generatorfunction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -150,7 +150,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/generatorfunction/package-tree.html b/java/docs/com/mxgraph/generatorfunction/package-tree.html
    index 74df88459..ae0159882 100644
    --- a/java/docs/com/mxgraph/generatorfunction/package-tree.html
    +++ b/java/docs/com/mxgraph/generatorfunction/package-tree.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>com.mxgraph.generatorfunction Class Hierarchy (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>com.mxgraph.generatorfunction Class Hierarchy (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="com.mxgraph.generatorfunction Class Hierarchy (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="com.mxgraph.generatorfunction Class Hierarchy (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -141,7 +141,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/generatorfunction/package-use.html b/java/docs/com/mxgraph/generatorfunction/package-use.html
    index f645dafa5..8a719927b 100644
    --- a/java/docs/com/mxgraph/generatorfunction/package-use.html
    +++ b/java/docs/com/mxgraph/generatorfunction/package-use.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Package com.mxgraph.generatorfunction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Package com.mxgraph.generatorfunction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Package com.mxgraph.generatorfunction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Package com.mxgraph.generatorfunction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -179,7 +179,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/io/class-use/mxCellCodec.html b/java/docs/com/mxgraph/io/class-use/mxCellCodec.html
    index 8452308dc..8cb2c6d09 100644
    --- a/java/docs/com/mxgraph/io/class-use/mxCellCodec.html
    +++ b/java/docs/com/mxgraph/io/class-use/mxCellCodec.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.io.mxCellCodec (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.io.mxCellCodec (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.io.mxCellCodec (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.io.mxCellCodec (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/io/class-use/mxChildChangeCodec.html b/java/docs/com/mxgraph/io/class-use/mxChildChangeCodec.html
    index a60b3c2fa..9eaf97f96 100644
    --- a/java/docs/com/mxgraph/io/class-use/mxChildChangeCodec.html
    +++ b/java/docs/com/mxgraph/io/class-use/mxChildChangeCodec.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.io.mxChildChangeCodec (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.io.mxChildChangeCodec (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.io.mxChildChangeCodec (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.io.mxChildChangeCodec (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/io/class-use/mxCodec.html b/java/docs/com/mxgraph/io/class-use/mxCodec.html
    index 45a631d61..f3e41c3c0 100644
    --- a/java/docs/com/mxgraph/io/class-use/mxCodec.html
    +++ b/java/docs/com/mxgraph/io/class-use/mxCodec.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.io.mxCodec (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.io.mxCodec (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.io.mxCodec (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.io.mxCodec (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -476,7 +476,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/io/class-use/mxCodecRegistry.html b/java/docs/com/mxgraph/io/class-use/mxCodecRegistry.html
    index b8eb9c294..63782aa36 100644
    --- a/java/docs/com/mxgraph/io/class-use/mxCodecRegistry.html
    +++ b/java/docs/com/mxgraph/io/class-use/mxCodecRegistry.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.io.mxCodecRegistry (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.io.mxCodecRegistry (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.io.mxCodecRegistry (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.io.mxCodecRegistry (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/io/class-use/mxGdCodec.html b/java/docs/com/mxgraph/io/class-use/mxGdCodec.html
    index 001af304a..503ea4874 100644
    --- a/java/docs/com/mxgraph/io/class-use/mxGdCodec.html
    +++ b/java/docs/com/mxgraph/io/class-use/mxGdCodec.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.io.mxGdCodec (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.io.mxGdCodec (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.io.mxGdCodec (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.io.mxGdCodec (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/io/class-use/mxGdCodec.mxGDParseState.html b/java/docs/com/mxgraph/io/class-use/mxGdCodec.mxGDParseState.html
    index 4d52d1d75..2b906d1c6 100644
    --- a/java/docs/com/mxgraph/io/class-use/mxGdCodec.mxGDParseState.html
    +++ b/java/docs/com/mxgraph/io/class-use/mxGdCodec.mxGDParseState.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.io.mxGdCodec.mxGDParseState (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.io.mxGdCodec.mxGDParseState (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.io.mxGdCodec.mxGDParseState (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.io.mxGdCodec.mxGDParseState (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -176,7 +176,7 @@ the order they are declared.</div>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/io/class-use/mxGenericChangeCodec.html b/java/docs/com/mxgraph/io/class-use/mxGenericChangeCodec.html
    index 82e9e3b7c..2c9c87dc3 100644
    --- a/java/docs/com/mxgraph/io/class-use/mxGenericChangeCodec.html
    +++ b/java/docs/com/mxgraph/io/class-use/mxGenericChangeCodec.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.io.mxGenericChangeCodec (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.io.mxGenericChangeCodec (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.io.mxGenericChangeCodec (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.io.mxGenericChangeCodec (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/io/class-use/mxModelCodec.html b/java/docs/com/mxgraph/io/class-use/mxModelCodec.html
    index 172664f40..8a73c6241 100644
    --- a/java/docs/com/mxgraph/io/class-use/mxModelCodec.html
    +++ b/java/docs/com/mxgraph/io/class-use/mxModelCodec.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.io.mxModelCodec (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.io.mxModelCodec (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.io.mxModelCodec (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.io.mxModelCodec (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/io/class-use/mxObjectCodec.html b/java/docs/com/mxgraph/io/class-use/mxObjectCodec.html
    index df0d94d62..b371ef848 100644
    --- a/java/docs/com/mxgraph/io/class-use/mxObjectCodec.html
    +++ b/java/docs/com/mxgraph/io/class-use/mxObjectCodec.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.io.mxObjectCodec (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.io.mxObjectCodec (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.io.mxObjectCodec (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.io.mxObjectCodec (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -271,7 +271,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/io/class-use/mxRootChangeCodec.html b/java/docs/com/mxgraph/io/class-use/mxRootChangeCodec.html
    index 1f0ce3861..5f245415b 100644
    --- a/java/docs/com/mxgraph/io/class-use/mxRootChangeCodec.html
    +++ b/java/docs/com/mxgraph/io/class-use/mxRootChangeCodec.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.io.mxRootChangeCodec (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.io.mxRootChangeCodec (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.io.mxRootChangeCodec (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.io.mxRootChangeCodec (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/io/class-use/mxStylesheetCodec.html b/java/docs/com/mxgraph/io/class-use/mxStylesheetCodec.html
    index 5f0bbc596..f7e5ee863 100644
    --- a/java/docs/com/mxgraph/io/class-use/mxStylesheetCodec.html
    +++ b/java/docs/com/mxgraph/io/class-use/mxStylesheetCodec.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.io.mxStylesheetCodec (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.io.mxStylesheetCodec (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.io.mxStylesheetCodec (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.io.mxStylesheetCodec (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/io/class-use/mxTerminalChangeCodec.html b/java/docs/com/mxgraph/io/class-use/mxTerminalChangeCodec.html
    index a77f06377..6ef87f339 100644
    --- a/java/docs/com/mxgraph/io/class-use/mxTerminalChangeCodec.html
    +++ b/java/docs/com/mxgraph/io/class-use/mxTerminalChangeCodec.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.io.mxTerminalChangeCodec (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.io.mxTerminalChangeCodec (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.io.mxTerminalChangeCodec (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.io.mxTerminalChangeCodec (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/io/mxCellCodec.html b/java/docs/com/mxgraph/io/mxCellCodec.html
    index acf33798b..af2e9e881 100644
    --- a/java/docs/com/mxgraph/io/mxCellCodec.html
    +++ b/java/docs/com/mxgraph/io/mxCellCodec.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxCellCodec (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxCellCodec (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxCellCodec (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxCellCodec (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -424,7 +424,7 @@ extends <a href="mxObjectCodec.html" title="class in com.mxgraph.io">mxObjectCod
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/io/mxChildChangeCodec.html b/java/docs/com/mxgraph/io/mxChildChangeCodec.html
    index 9005cf34f..b48eaf8ca 100644
    --- a/java/docs/com/mxgraph/io/mxChildChangeCodec.html
    +++ b/java/docs/com/mxgraph/io/mxChildChangeCodec.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxChildChangeCodec (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxChildChangeCodec (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxChildChangeCodec (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxChildChangeCodec (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -452,7 +452,7 @@ extends <a href="mxObjectCodec.html" title="class in com.mxgraph.io">mxObjectCod
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/io/mxCodec.html b/java/docs/com/mxgraph/io/mxCodec.html
    index 0ae9c34b8..ec215a47f 100644
    --- a/java/docs/com/mxgraph/io/mxCodec.html
    +++ b/java/docs/com/mxgraph/io/mxCodec.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxCodec (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxCodec (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxCodec (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxCodec (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -821,7 +821,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/io/mxCodecRegistry.html b/java/docs/com/mxgraph/io/mxCodecRegistry.html
    index 5f78775d4..def280ba1 100644
    --- a/java/docs/com/mxgraph/io/mxCodecRegistry.html
    +++ b/java/docs/com/mxgraph/io/mxCodecRegistry.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxCodecRegistry (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxCodecRegistry (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxCodecRegistry (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxCodecRegistry (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -489,7 +489,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/io/mxGdCodec.html b/java/docs/com/mxgraph/io/mxGdCodec.html
    index b8f30ca8d..a774cb529 100644
    --- a/java/docs/com/mxgraph/io/mxGdCodec.html
    +++ b/java/docs/com/mxgraph/io/mxGdCodec.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGdCodec (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGdCodec (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGdCodec (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGdCodec (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -370,7 +370,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/io/mxGdCodec.mxGDParseState.html b/java/docs/com/mxgraph/io/mxGdCodec.mxGDParseState.html
    index daa6a19c1..56117ec1e 100644
    --- a/java/docs/com/mxgraph/io/mxGdCodec.mxGDParseState.html
    +++ b/java/docs/com/mxgraph/io/mxGdCodec.mxGDParseState.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGdCodec.mxGDParseState (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGdCodec.mxGDParseState (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGdCodec.mxGDParseState (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGdCodec.mxGDParseState (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -366,7 +366,7 @@ not permitted.)</div>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/io/mxGenericChangeCodec.html b/java/docs/com/mxgraph/io/mxGenericChangeCodec.html
    index 91cac4b92..f307c9b76 100644
    --- a/java/docs/com/mxgraph/io/mxGenericChangeCodec.html
    +++ b/java/docs/com/mxgraph/io/mxGenericChangeCodec.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGenericChangeCodec (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGenericChangeCodec (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGenericChangeCodec (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGenericChangeCodec (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -377,7 +377,7 @@ extends <a href="mxObjectCodec.html" title="class in com.mxgraph.io">mxObjectCod
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/io/mxModelCodec.html b/java/docs/com/mxgraph/io/mxModelCodec.html
    index 278bcfb1b..0ab8ef3c7 100644
    --- a/java/docs/com/mxgraph/io/mxModelCodec.html
    +++ b/java/docs/com/mxgraph/io/mxModelCodec.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxModelCodec (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxModelCodec (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxModelCodec (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxModelCodec (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -386,7 +386,7 @@ extends <a href="mxObjectCodec.html" title="class in com.mxgraph.io">mxObjectCod
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/io/mxObjectCodec.html b/java/docs/com/mxgraph/io/mxObjectCodec.html
    index 05c12f47c..fb5224486 100644
    --- a/java/docs/com/mxgraph/io/mxObjectCodec.html
    +++ b/java/docs/com/mxgraph/io/mxObjectCodec.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxObjectCodec (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxObjectCodec (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxObjectCodec (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxObjectCodec (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -1512,7 +1512,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/io/mxRootChangeCodec.html b/java/docs/com/mxgraph/io/mxRootChangeCodec.html
    index 36b9209f4..03c8b1c16 100644
    --- a/java/docs/com/mxgraph/io/mxRootChangeCodec.html
    +++ b/java/docs/com/mxgraph/io/mxRootChangeCodec.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxRootChangeCodec (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxRootChangeCodec (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxRootChangeCodec (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxRootChangeCodec (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -411,7 +411,7 @@ extends <a href="mxObjectCodec.html" title="class in com.mxgraph.io">mxObjectCod
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/io/mxStylesheetCodec.html b/java/docs/com/mxgraph/io/mxStylesheetCodec.html
    index d763f7ef3..17ee4548b 100644
    --- a/java/docs/com/mxgraph/io/mxStylesheetCodec.html
    +++ b/java/docs/com/mxgraph/io/mxStylesheetCodec.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxStylesheetCodec (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxStylesheetCodec (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxStylesheetCodec (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxStylesheetCodec (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -399,7 +399,7 @@ extends <a href="mxObjectCodec.html" title="class in com.mxgraph.io">mxObjectCod
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/io/mxTerminalChangeCodec.html b/java/docs/com/mxgraph/io/mxTerminalChangeCodec.html
    index 1964dd9c3..8dc0fe747 100644
    --- a/java/docs/com/mxgraph/io/mxTerminalChangeCodec.html
    +++ b/java/docs/com/mxgraph/io/mxTerminalChangeCodec.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxTerminalChangeCodec (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxTerminalChangeCodec (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxTerminalChangeCodec (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxTerminalChangeCodec (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -341,7 +341,7 @@ extends <a href="mxObjectCodec.html" title="class in com.mxgraph.io">mxObjectCod
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/io/package-summary.html b/java/docs/com/mxgraph/io/package-summary.html
    index b13917fa3..2c4eebc09 100644
    --- a/java/docs/com/mxgraph/io/package-summary.html
    +++ b/java/docs/com/mxgraph/io/package-summary.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>com.mxgraph.io (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>com.mxgraph.io (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="com.mxgraph.io (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="com.mxgraph.io (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -224,7 +224,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/io/package-tree.html b/java/docs/com/mxgraph/io/package-tree.html
    index e05e5ae89..c756094f6 100644
    --- a/java/docs/com/mxgraph/io/package-tree.html
    +++ b/java/docs/com/mxgraph/io/package-tree.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>com.mxgraph.io Class Hierarchy (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>com.mxgraph.io Class Hierarchy (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="com.mxgraph.io Class Hierarchy (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="com.mxgraph.io Class Hierarchy (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -162,7 +162,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/io/package-use.html b/java/docs/com/mxgraph/io/package-use.html
    index 4715ac278..5a957adb1 100644
    --- a/java/docs/com/mxgraph/io/package-use.html
    +++ b/java/docs/com/mxgraph/io/package-use.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Package com.mxgraph.io (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Package com.mxgraph.io (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Package com.mxgraph.io (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Package com.mxgraph.io (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -171,7 +171,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/class-use/mxCircleLayout.html b/java/docs/com/mxgraph/layout/class-use/mxCircleLayout.html
    index 4af4dd9c0..ba59c2508 100644
    --- a/java/docs/com/mxgraph/layout/class-use/mxCircleLayout.html
    +++ b/java/docs/com/mxgraph/layout/class-use/mxCircleLayout.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.layout.mxCircleLayout (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.layout.mxCircleLayout (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.layout.mxCircleLayout (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.layout.mxCircleLayout (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/class-use/mxCompactTreeLayout.Polygon.html b/java/docs/com/mxgraph/layout/class-use/mxCompactTreeLayout.Polygon.html
    index c3c2cf4cf..3e86d2cb0 100644
    --- a/java/docs/com/mxgraph/layout/class-use/mxCompactTreeLayout.Polygon.html
    +++ b/java/docs/com/mxgraph/layout/class-use/mxCompactTreeLayout.Polygon.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.layout.mxCompactTreeLayout.Polygon (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.layout.mxCompactTreeLayout.Polygon (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.layout.mxCompactTreeLayout.Polygon (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.layout.mxCompactTreeLayout.Polygon (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -182,7 +182,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/class-use/mxCompactTreeLayout.Polyline.html b/java/docs/com/mxgraph/layout/class-use/mxCompactTreeLayout.Polyline.html
    index c5263d61f..444fab1e3 100644
    --- a/java/docs/com/mxgraph/layout/class-use/mxCompactTreeLayout.Polyline.html
    +++ b/java/docs/com/mxgraph/layout/class-use/mxCompactTreeLayout.Polyline.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.layout.mxCompactTreeLayout.Polyline (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.layout.mxCompactTreeLayout.Polyline (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.layout.mxCompactTreeLayout.Polyline (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.layout.mxCompactTreeLayout.Polyline (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -255,7 +255,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/class-use/mxCompactTreeLayout.TreeNode.html b/java/docs/com/mxgraph/layout/class-use/mxCompactTreeLayout.TreeNode.html
    index 26673c68f..1257414cf 100644
    --- a/java/docs/com/mxgraph/layout/class-use/mxCompactTreeLayout.TreeNode.html
    +++ b/java/docs/com/mxgraph/layout/class-use/mxCompactTreeLayout.TreeNode.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.layout.mxCompactTreeLayout.TreeNode (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.layout.mxCompactTreeLayout.TreeNode (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.layout.mxCompactTreeLayout.TreeNode (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.layout.mxCompactTreeLayout.TreeNode (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -296,7 +296,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/class-use/mxCompactTreeLayout.WeightedCellSorter.html b/java/docs/com/mxgraph/layout/class-use/mxCompactTreeLayout.WeightedCellSorter.html
    index 729a2fc30..030ddd9f8 100644
    --- a/java/docs/com/mxgraph/layout/class-use/mxCompactTreeLayout.WeightedCellSorter.html
    +++ b/java/docs/com/mxgraph/layout/class-use/mxCompactTreeLayout.WeightedCellSorter.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.layout.mxCompactTreeLayout.WeightedCellSorter (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.layout.mxCompactTreeLayout.WeightedCellSorter (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.layout.mxCompactTreeLayout.WeightedCellSorter (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.layout.mxCompactTreeLayout.WeightedCellSorter (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/class-use/mxCompactTreeLayout.html b/java/docs/com/mxgraph/layout/class-use/mxCompactTreeLayout.html
    index a1ddc1cfb..1f620ce68 100644
    --- a/java/docs/com/mxgraph/layout/class-use/mxCompactTreeLayout.html
    +++ b/java/docs/com/mxgraph/layout/class-use/mxCompactTreeLayout.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.layout.mxCompactTreeLayout (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.layout.mxCompactTreeLayout (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.layout.mxCompactTreeLayout (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.layout.mxCompactTreeLayout (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/class-use/mxEdgeLabelLayout.html b/java/docs/com/mxgraph/layout/class-use/mxEdgeLabelLayout.html
    index eb4d0feb1..10a674df2 100644
    --- a/java/docs/com/mxgraph/layout/class-use/mxEdgeLabelLayout.html
    +++ b/java/docs/com/mxgraph/layout/class-use/mxEdgeLabelLayout.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.layout.mxEdgeLabelLayout (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.layout.mxEdgeLabelLayout (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.layout.mxEdgeLabelLayout (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.layout.mxEdgeLabelLayout (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/class-use/mxFastOrganicLayout.html b/java/docs/com/mxgraph/layout/class-use/mxFastOrganicLayout.html
    index 692e87fb8..ee7d72a00 100644
    --- a/java/docs/com/mxgraph/layout/class-use/mxFastOrganicLayout.html
    +++ b/java/docs/com/mxgraph/layout/class-use/mxFastOrganicLayout.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.layout.mxFastOrganicLayout (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.layout.mxFastOrganicLayout (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.layout.mxFastOrganicLayout (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.layout.mxFastOrganicLayout (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/class-use/mxGraphLayout.html b/java/docs/com/mxgraph/layout/class-use/mxGraphLayout.html
    index 8bc812c52..89e8075ea 100644
    --- a/java/docs/com/mxgraph/layout/class-use/mxGraphLayout.html
    +++ b/java/docs/com/mxgraph/layout/class-use/mxGraphLayout.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.layout.mxGraphLayout (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.layout.mxGraphLayout (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.layout.mxGraphLayout (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.layout.mxGraphLayout (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -260,7 +260,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/class-use/mxIGraphLayout.html b/java/docs/com/mxgraph/layout/class-use/mxIGraphLayout.html
    index 4130929ea..fa5e7938c 100644
    --- a/java/docs/com/mxgraph/layout/class-use/mxIGraphLayout.html
    +++ b/java/docs/com/mxgraph/layout/class-use/mxIGraphLayout.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Interface com.mxgraph.layout.mxIGraphLayout (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Interface com.mxgraph.layout.mxIGraphLayout (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Interface com.mxgraph.layout.mxIGraphLayout (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Interface com.mxgraph.layout.mxIGraphLayout (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -312,7 +312,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/class-use/mxOrganicLayout.CellWrapper.html b/java/docs/com/mxgraph/layout/class-use/mxOrganicLayout.CellWrapper.html
    index c1f210bb0..1ab3c04e4 100644
    --- a/java/docs/com/mxgraph/layout/class-use/mxOrganicLayout.CellWrapper.html
    +++ b/java/docs/com/mxgraph/layout/class-use/mxOrganicLayout.CellWrapper.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.layout.mxOrganicLayout.CellWrapper (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.layout.mxOrganicLayout.CellWrapper (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.layout.mxOrganicLayout.CellWrapper (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.layout.mxOrganicLayout.CellWrapper (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -175,7 +175,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/class-use/mxOrganicLayout.html b/java/docs/com/mxgraph/layout/class-use/mxOrganicLayout.html
    index 1bd945c6b..2108d8296 100644
    --- a/java/docs/com/mxgraph/layout/class-use/mxOrganicLayout.html
    +++ b/java/docs/com/mxgraph/layout/class-use/mxOrganicLayout.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.layout.mxOrganicLayout (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.layout.mxOrganicLayout (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.layout.mxOrganicLayout (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.layout.mxOrganicLayout (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/class-use/mxParallelEdgeLayout.html b/java/docs/com/mxgraph/layout/class-use/mxParallelEdgeLayout.html
    index f3054ddc6..8362b6287 100644
    --- a/java/docs/com/mxgraph/layout/class-use/mxParallelEdgeLayout.html
    +++ b/java/docs/com/mxgraph/layout/class-use/mxParallelEdgeLayout.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.layout.mxParallelEdgeLayout (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.layout.mxParallelEdgeLayout (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.layout.mxParallelEdgeLayout (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.layout.mxParallelEdgeLayout (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/class-use/mxPartitionLayout.html b/java/docs/com/mxgraph/layout/class-use/mxPartitionLayout.html
    index 526bf3c47..2a75317e4 100644
    --- a/java/docs/com/mxgraph/layout/class-use/mxPartitionLayout.html
    +++ b/java/docs/com/mxgraph/layout/class-use/mxPartitionLayout.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.layout.mxPartitionLayout (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.layout.mxPartitionLayout (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.layout.mxPartitionLayout (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.layout.mxPartitionLayout (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/class-use/mxStackLayout.html b/java/docs/com/mxgraph/layout/class-use/mxStackLayout.html
    index 46e908aac..930d4ed0b 100644
    --- a/java/docs/com/mxgraph/layout/class-use/mxStackLayout.html
    +++ b/java/docs/com/mxgraph/layout/class-use/mxStackLayout.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.layout.mxStackLayout (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.layout.mxStackLayout (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.layout.mxStackLayout (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.layout.mxStackLayout (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/hierarchical/class-use/mxHierarchicalLayout.html b/java/docs/com/mxgraph/layout/hierarchical/class-use/mxHierarchicalLayout.html
    index 33545b687..8f8a16464 100644
    --- a/java/docs/com/mxgraph/layout/hierarchical/class-use/mxHierarchicalLayout.html
    +++ b/java/docs/com/mxgraph/layout/hierarchical/class-use/mxHierarchicalLayout.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.layout.hierarchical.mxHierarchicalLayout (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.layout.hierarchical.mxHierarchicalLayout (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.layout.hierarchical.mxHierarchicalLayout (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.layout.hierarchical.mxHierarchicalLayout (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -260,7 +260,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/hierarchical/model/class-use/mxGraphAbstractHierarchyCell.html b/java/docs/com/mxgraph/layout/hierarchical/model/class-use/mxGraphAbstractHierarchyCell.html
    index e8bc029ed..4d22d6835 100644
    --- a/java/docs/com/mxgraph/layout/hierarchical/model/class-use/mxGraphAbstractHierarchyCell.html
    +++ b/java/docs/com/mxgraph/layout/hierarchical/model/class-use/mxGraphAbstractHierarchyCell.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.layout.hierarchical.model.mxGraphAbstractHierarchyCell (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.layout.hierarchical.model.mxGraphAbstractHierarchyCell (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.layout.hierarchical.model.mxGraphAbstractHierarchyCell (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.layout.hierarchical.model.mxGraphAbstractHierarchyCell (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -324,7 +324,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/hierarchical/model/class-use/mxGraphHierarchyEdge.html b/java/docs/com/mxgraph/layout/hierarchical/model/class-use/mxGraphHierarchyEdge.html
    index fe4e82c31..b163cdfe7 100644
    --- a/java/docs/com/mxgraph/layout/hierarchical/model/class-use/mxGraphHierarchyEdge.html
    +++ b/java/docs/com/mxgraph/layout/hierarchical/model/class-use/mxGraphHierarchyEdge.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.layout.hierarchical.model.mxGraphHierarchyEdge (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.layout.hierarchical.model.mxGraphHierarchyEdge (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.layout.hierarchical.model.mxGraphHierarchyEdge (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.layout.hierarchical.model.mxGraphHierarchyEdge (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -312,7 +312,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/hierarchical/model/class-use/mxGraphHierarchyModel.CellVisitor.html b/java/docs/com/mxgraph/layout/hierarchical/model/class-use/mxGraphHierarchyModel.CellVisitor.html
    index 1b237bca3..e83bdb98b 100644
    --- a/java/docs/com/mxgraph/layout/hierarchical/model/class-use/mxGraphHierarchyModel.CellVisitor.html
    +++ b/java/docs/com/mxgraph/layout/hierarchical/model/class-use/mxGraphHierarchyModel.CellVisitor.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Interface com.mxgraph.layout.hierarchical.model.mxGraphHierarchyModel.CellVisitor (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Interface com.mxgraph.layout.hierarchical.model.mxGraphHierarchyModel.CellVisitor (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Interface com.mxgraph.layout.hierarchical.model.mxGraphHierarchyModel.CellVisitor (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Interface com.mxgraph.layout.hierarchical.model.mxGraphHierarchyModel.CellVisitor (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -195,7 +195,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/hierarchical/model/class-use/mxGraphHierarchyModel.html b/java/docs/com/mxgraph/layout/hierarchical/model/class-use/mxGraphHierarchyModel.html
    index 70e00b655..966337865 100644
    --- a/java/docs/com/mxgraph/layout/hierarchical/model/class-use/mxGraphHierarchyModel.html
    +++ b/java/docs/com/mxgraph/layout/hierarchical/model/class-use/mxGraphHierarchyModel.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.layout.hierarchical.model.mxGraphHierarchyModel (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.layout.hierarchical.model.mxGraphHierarchyModel (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.layout.hierarchical.model.mxGraphHierarchyModel (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.layout.hierarchical.model.mxGraphHierarchyModel (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -273,7 +273,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/hierarchical/model/class-use/mxGraphHierarchyNode.html b/java/docs/com/mxgraph/layout/hierarchical/model/class-use/mxGraphHierarchyNode.html
    index 56b30866c..b16c42ceb 100644
    --- a/java/docs/com/mxgraph/layout/hierarchical/model/class-use/mxGraphHierarchyNode.html
    +++ b/java/docs/com/mxgraph/layout/hierarchical/model/class-use/mxGraphHierarchyNode.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.layout.hierarchical.model.mxGraphHierarchyNode (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.layout.hierarchical.model.mxGraphHierarchyNode (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.layout.hierarchical.model.mxGraphHierarchyNode (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.layout.hierarchical.model.mxGraphHierarchyNode (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -328,7 +328,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/hierarchical/model/class-use/mxGraphHierarchyRank.html b/java/docs/com/mxgraph/layout/hierarchical/model/class-use/mxGraphHierarchyRank.html
    index 77db31674..ddfc80ab5 100644
    --- a/java/docs/com/mxgraph/layout/hierarchical/model/class-use/mxGraphHierarchyRank.html
    +++ b/java/docs/com/mxgraph/layout/hierarchical/model/class-use/mxGraphHierarchyRank.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.layout.hierarchical.model.mxGraphHierarchyRank (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.layout.hierarchical.model.mxGraphHierarchyRank (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.layout.hierarchical.model.mxGraphHierarchyRank (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.layout.hierarchical.model.mxGraphHierarchyRank (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -166,7 +166,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/hierarchical/model/mxGraphAbstractHierarchyCell.html b/java/docs/com/mxgraph/layout/hierarchical/model/mxGraphAbstractHierarchyCell.html
    index a1e651447..e89ed9bad 100644
    --- a/java/docs/com/mxgraph/layout/hierarchical/model/mxGraphAbstractHierarchyCell.html
    +++ b/java/docs/com/mxgraph/layout/hierarchical/model/mxGraphAbstractHierarchyCell.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphAbstractHierarchyCell (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphAbstractHierarchyCell (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphAbstractHierarchyCell (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphAbstractHierarchyCell (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -640,7 +640,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/hierarchical/model/mxGraphHierarchyEdge.html b/java/docs/com/mxgraph/layout/hierarchical/model/mxGraphHierarchyEdge.html
    index 65cba290a..cc300c191 100644
    --- a/java/docs/com/mxgraph/layout/hierarchical/model/mxGraphHierarchyEdge.html
    +++ b/java/docs/com/mxgraph/layout/hierarchical/model/mxGraphHierarchyEdge.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphHierarchyEdge (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphHierarchyEdge (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphHierarchyEdge (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphHierarchyEdge (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -569,7 +569,7 @@ extends <a href="mxGraphAbstractHierarchyCell.html" title="class in com.mxgraph.
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/hierarchical/model/mxGraphHierarchyModel.CellVisitor.html b/java/docs/com/mxgraph/layout/hierarchical/model/mxGraphHierarchyModel.CellVisitor.html
    index 09bdfb9ee..fe27f7a65 100644
    --- a/java/docs/com/mxgraph/layout/hierarchical/model/mxGraphHierarchyModel.CellVisitor.html
    +++ b/java/docs/com/mxgraph/layout/hierarchical/model/mxGraphHierarchyModel.CellVisitor.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphHierarchyModel.CellVisitor (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphHierarchyModel.CellVisitor (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphHierarchyModel.CellVisitor (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphHierarchyModel.CellVisitor (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -236,7 +236,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/hierarchical/model/mxGraphHierarchyModel.html b/java/docs/com/mxgraph/layout/hierarchical/model/mxGraphHierarchyModel.html
    index 0de961bd6..fed052c60 100644
    --- a/java/docs/com/mxgraph/layout/hierarchical/model/mxGraphHierarchyModel.html
    +++ b/java/docs/com/mxgraph/layout/hierarchical/model/mxGraphHierarchyModel.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphHierarchyModel (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphHierarchyModel (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphHierarchyModel (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphHierarchyModel (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -733,7 +733,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/hierarchical/model/mxGraphHierarchyNode.html b/java/docs/com/mxgraph/layout/hierarchical/model/mxGraphHierarchyNode.html
    index f85e5bb3f..8c365fc2c 100644
    --- a/java/docs/com/mxgraph/layout/hierarchical/model/mxGraphHierarchyNode.html
    +++ b/java/docs/com/mxgraph/layout/hierarchical/model/mxGraphHierarchyNode.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphHierarchyNode (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphHierarchyNode (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphHierarchyNode (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphHierarchyNode (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -566,7 +566,7 @@ extends <a href="mxGraphAbstractHierarchyCell.html" title="class in com.mxgraph.
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/hierarchical/model/mxGraphHierarchyRank.html b/java/docs/com/mxgraph/layout/hierarchical/model/mxGraphHierarchyRank.html
    index 3a602fc67..6cb6482ac 100644
    --- a/java/docs/com/mxgraph/layout/hierarchical/model/mxGraphHierarchyRank.html
    +++ b/java/docs/com/mxgraph/layout/hierarchical/model/mxGraphHierarchyRank.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphHierarchyRank (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphHierarchyRank (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphHierarchyRank (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphHierarchyRank (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -304,7 +304,7 @@ extends java.util.LinkedHashSet&lt;<a href="mxGraphAbstractHierarchyCell.html" t
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/hierarchical/model/package-summary.html b/java/docs/com/mxgraph/layout/hierarchical/model/package-summary.html
    index 47ea9b03c..bb8b45876 100644
    --- a/java/docs/com/mxgraph/layout/hierarchical/model/package-summary.html
    +++ b/java/docs/com/mxgraph/layout/hierarchical/model/package-summary.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>com.mxgraph.layout.hierarchical.model (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>com.mxgraph.layout.hierarchical.model (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="com.mxgraph.layout.hierarchical.model (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="com.mxgraph.layout.hierarchical.model (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -183,7 +183,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/hierarchical/model/package-tree.html b/java/docs/com/mxgraph/layout/hierarchical/model/package-tree.html
    index 90e44b041..44d6094d5 100644
    --- a/java/docs/com/mxgraph/layout/hierarchical/model/package-tree.html
    +++ b/java/docs/com/mxgraph/layout/hierarchical/model/package-tree.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>com.mxgraph.layout.hierarchical.model Class Hierarchy (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>com.mxgraph.layout.hierarchical.model Class Hierarchy (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="com.mxgraph.layout.hierarchical.model Class Hierarchy (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="com.mxgraph.layout.hierarchical.model Class Hierarchy (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -164,7 +164,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/hierarchical/model/package-use.html b/java/docs/com/mxgraph/layout/hierarchical/model/package-use.html
    index 7b39bccb4..85751bd3c 100644
    --- a/java/docs/com/mxgraph/layout/hierarchical/model/package-use.html
    +++ b/java/docs/com/mxgraph/layout/hierarchical/model/package-use.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Package com.mxgraph.layout.hierarchical.model (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Package com.mxgraph.layout.hierarchical.model (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Package com.mxgraph.layout.hierarchical.model (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Package com.mxgraph.layout.hierarchical.model (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -241,7 +241,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/hierarchical/mxHierarchicalLayout.html b/java/docs/com/mxgraph/layout/hierarchical/mxHierarchicalLayout.html
    index 70d230014..452531cb5 100644
    --- a/java/docs/com/mxgraph/layout/hierarchical/mxHierarchicalLayout.html
    +++ b/java/docs/com/mxgraph/layout/hierarchical/mxHierarchicalLayout.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxHierarchicalLayout (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxHierarchicalLayout (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxHierarchicalLayout (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxHierarchicalLayout (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -1201,7 +1201,7 @@ extends <a href="../mxGraphLayout.html" title="class in com.mxgraph.layout">mxGr
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/hierarchical/package-summary.html b/java/docs/com/mxgraph/layout/hierarchical/package-summary.html
    index 1ad8aee31..d02576138 100644
    --- a/java/docs/com/mxgraph/layout/hierarchical/package-summary.html
    +++ b/java/docs/com/mxgraph/layout/hierarchical/package-summary.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>com.mxgraph.layout.hierarchical (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>com.mxgraph.layout.hierarchical (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="com.mxgraph.layout.hierarchical (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="com.mxgraph.layout.hierarchical (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -140,7 +140,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/hierarchical/package-tree.html b/java/docs/com/mxgraph/layout/hierarchical/package-tree.html
    index 16fcd0cf6..4936daa74 100644
    --- a/java/docs/com/mxgraph/layout/hierarchical/package-tree.html
    +++ b/java/docs/com/mxgraph/layout/hierarchical/package-tree.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>com.mxgraph.layout.hierarchical Class Hierarchy (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>com.mxgraph.layout.hierarchical Class Hierarchy (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="com.mxgraph.layout.hierarchical Class Hierarchy (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="com.mxgraph.layout.hierarchical Class Hierarchy (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -139,7 +139,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/hierarchical/package-use.html b/java/docs/com/mxgraph/layout/hierarchical/package-use.html
    index b51d5afea..552c4d535 100644
    --- a/java/docs/com/mxgraph/layout/hierarchical/package-use.html
    +++ b/java/docs/com/mxgraph/layout/hierarchical/package-use.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Package com.mxgraph.layout.hierarchical (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Package com.mxgraph.layout.hierarchical (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Package com.mxgraph.layout.hierarchical (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Package com.mxgraph.layout.hierarchical (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -180,7 +180,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/hierarchical/stage/class-use/mxCoordinateAssignment.AreaSpatialCache.html b/java/docs/com/mxgraph/layout/hierarchical/stage/class-use/mxCoordinateAssignment.AreaSpatialCache.html
    index 2931fbd4e..12b12bb8c 100644
    --- a/java/docs/com/mxgraph/layout/hierarchical/stage/class-use/mxCoordinateAssignment.AreaSpatialCache.html
    +++ b/java/docs/com/mxgraph/layout/hierarchical/stage/class-use/mxCoordinateAssignment.AreaSpatialCache.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.layout.hierarchical.stage.mxCoordinateAssignment.AreaSpatialCache (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.layout.hierarchical.stage.mxCoordinateAssignment.AreaSpatialCache (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.layout.hierarchical.stage.mxCoordinateAssignment.AreaSpatialCache (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.layout.hierarchical.stage.mxCoordinateAssignment.AreaSpatialCache (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/hierarchical/stage/class-use/mxCoordinateAssignment.WeightedCellSorter.html b/java/docs/com/mxgraph/layout/hierarchical/stage/class-use/mxCoordinateAssignment.WeightedCellSorter.html
    index 33e18f1b4..da7c9179a 100644
    --- a/java/docs/com/mxgraph/layout/hierarchical/stage/class-use/mxCoordinateAssignment.WeightedCellSorter.html
    +++ b/java/docs/com/mxgraph/layout/hierarchical/stage/class-use/mxCoordinateAssignment.WeightedCellSorter.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.layout.hierarchical.stage.mxCoordinateAssignment.WeightedCellSorter (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.layout.hierarchical.stage.mxCoordinateAssignment.WeightedCellSorter (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.layout.hierarchical.stage.mxCoordinateAssignment.WeightedCellSorter (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.layout.hierarchical.stage.mxCoordinateAssignment.WeightedCellSorter (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/hierarchical/stage/class-use/mxCoordinateAssignment.html b/java/docs/com/mxgraph/layout/hierarchical/stage/class-use/mxCoordinateAssignment.html
    index 2dd3cd6b8..fc571980b 100644
    --- a/java/docs/com/mxgraph/layout/hierarchical/stage/class-use/mxCoordinateAssignment.html
    +++ b/java/docs/com/mxgraph/layout/hierarchical/stage/class-use/mxCoordinateAssignment.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.layout.hierarchical.stage.mxCoordinateAssignment (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.layout.hierarchical.stage.mxCoordinateAssignment (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.layout.hierarchical.stage.mxCoordinateAssignment (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.layout.hierarchical.stage.mxCoordinateAssignment (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/hierarchical/stage/class-use/mxHierarchicalLayoutStage.html b/java/docs/com/mxgraph/layout/hierarchical/stage/class-use/mxHierarchicalLayoutStage.html
    index 64861b29d..1cbb23e08 100644
    --- a/java/docs/com/mxgraph/layout/hierarchical/stage/class-use/mxHierarchicalLayoutStage.html
    +++ b/java/docs/com/mxgraph/layout/hierarchical/stage/class-use/mxHierarchicalLayoutStage.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Interface com.mxgraph.layout.hierarchical.stage.mxHierarchicalLayoutStage (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Interface com.mxgraph.layout.hierarchical.stage.mxHierarchicalLayoutStage (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Interface com.mxgraph.layout.hierarchical.stage.mxHierarchicalLayoutStage (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Interface com.mxgraph.layout.hierarchical.stage.mxHierarchicalLayoutStage (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -180,7 +180,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/hierarchical/stage/class-use/mxMedianHybridCrossingReduction.MedianCellSorter.html b/java/docs/com/mxgraph/layout/hierarchical/stage/class-use/mxMedianHybridCrossingReduction.MedianCellSorter.html
    index 16d631c44..127d39de2 100644
    --- a/java/docs/com/mxgraph/layout/hierarchical/stage/class-use/mxMedianHybridCrossingReduction.MedianCellSorter.html
    +++ b/java/docs/com/mxgraph/layout/hierarchical/stage/class-use/mxMedianHybridCrossingReduction.MedianCellSorter.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.layout.hierarchical.stage.mxMedianHybridCrossingReduction.MedianCellSorter (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.layout.hierarchical.stage.mxMedianHybridCrossingReduction.MedianCellSorter (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.layout.hierarchical.stage.mxMedianHybridCrossingReduction.MedianCellSorter (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.layout.hierarchical.stage.mxMedianHybridCrossingReduction.MedianCellSorter (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/hierarchical/stage/class-use/mxMedianHybridCrossingReduction.html b/java/docs/com/mxgraph/layout/hierarchical/stage/class-use/mxMedianHybridCrossingReduction.html
    index a76e39349..02b361e4f 100644
    --- a/java/docs/com/mxgraph/layout/hierarchical/stage/class-use/mxMedianHybridCrossingReduction.html
    +++ b/java/docs/com/mxgraph/layout/hierarchical/stage/class-use/mxMedianHybridCrossingReduction.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.layout.hierarchical.stage.mxMedianHybridCrossingReduction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.layout.hierarchical.stage.mxMedianHybridCrossingReduction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.layout.hierarchical.stage.mxMedianHybridCrossingReduction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.layout.hierarchical.stage.mxMedianHybridCrossingReduction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/hierarchical/stage/class-use/mxMinimumCycleRemover.html b/java/docs/com/mxgraph/layout/hierarchical/stage/class-use/mxMinimumCycleRemover.html
    index 3ec443014..833164186 100644
    --- a/java/docs/com/mxgraph/layout/hierarchical/stage/class-use/mxMinimumCycleRemover.html
    +++ b/java/docs/com/mxgraph/layout/hierarchical/stage/class-use/mxMinimumCycleRemover.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.layout.hierarchical.stage.mxMinimumCycleRemover (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.layout.hierarchical.stage.mxMinimumCycleRemover (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.layout.hierarchical.stage.mxMinimumCycleRemover (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.layout.hierarchical.stage.mxMinimumCycleRemover (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/hierarchical/stage/mxCoordinateAssignment.AreaSpatialCache.html b/java/docs/com/mxgraph/layout/hierarchical/stage/mxCoordinateAssignment.AreaSpatialCache.html
    index faebcfef7..00f772e97 100644
    --- a/java/docs/com/mxgraph/layout/hierarchical/stage/mxCoordinateAssignment.AreaSpatialCache.html
    +++ b/java/docs/com/mxgraph/layout/hierarchical/stage/mxCoordinateAssignment.AreaSpatialCache.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxCoordinateAssignment.AreaSpatialCache (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxCoordinateAssignment.AreaSpatialCache (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxCoordinateAssignment.AreaSpatialCache (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxCoordinateAssignment.AreaSpatialCache (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -350,7 +350,7 @@ extends java.awt.geom.Rectangle2D.Double</pre>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/hierarchical/stage/mxCoordinateAssignment.WeightedCellSorter.html b/java/docs/com/mxgraph/layout/hierarchical/stage/mxCoordinateAssignment.WeightedCellSorter.html
    index 2142cfdf3..f95a8ed5b 100644
    --- a/java/docs/com/mxgraph/layout/hierarchical/stage/mxCoordinateAssignment.WeightedCellSorter.html
    +++ b/java/docs/com/mxgraph/layout/hierarchical/stage/mxCoordinateAssignment.WeightedCellSorter.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxCoordinateAssignment.WeightedCellSorter (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxCoordinateAssignment.WeightedCellSorter (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxCoordinateAssignment.WeightedCellSorter (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxCoordinateAssignment.WeightedCellSorter (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -415,7 +415,7 @@ implements java.lang.Comparable&lt;java.lang.Object&gt;</pre>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/hierarchical/stage/mxCoordinateAssignment.html b/java/docs/com/mxgraph/layout/hierarchical/stage/mxCoordinateAssignment.html
    index b66cd0e9a..6aa503e3e 100644
    --- a/java/docs/com/mxgraph/layout/hierarchical/stage/mxCoordinateAssignment.html
    +++ b/java/docs/com/mxgraph/layout/hierarchical/stage/mxCoordinateAssignment.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxCoordinateAssignment (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxCoordinateAssignment (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxCoordinateAssignment (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxCoordinateAssignment (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -1301,7 +1301,7 @@ implements <a href="mxHierarchicalLayoutStage.html" title="interface in com.mxgr
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/hierarchical/stage/mxHierarchicalLayoutStage.html b/java/docs/com/mxgraph/layout/hierarchical/stage/mxHierarchicalLayoutStage.html
    index e609235ba..b42513212 100644
    --- a/java/docs/com/mxgraph/layout/hierarchical/stage/mxHierarchicalLayoutStage.html
    +++ b/java/docs/com/mxgraph/layout/hierarchical/stage/mxHierarchicalLayoutStage.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxHierarchicalLayoutStage (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxHierarchicalLayoutStage (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxHierarchicalLayoutStage (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxHierarchicalLayoutStage (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -221,7 +221,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/hierarchical/stage/mxMedianHybridCrossingReduction.MedianCellSorter.html b/java/docs/com/mxgraph/layout/hierarchical/stage/mxMedianHybridCrossingReduction.MedianCellSorter.html
    index 19a8b2709..5f132b8a2 100644
    --- a/java/docs/com/mxgraph/layout/hierarchical/stage/mxMedianHybridCrossingReduction.MedianCellSorter.html
    +++ b/java/docs/com/mxgraph/layout/hierarchical/stage/mxMedianHybridCrossingReduction.MedianCellSorter.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxMedianHybridCrossingReduction.MedianCellSorter (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxMedianHybridCrossingReduction.MedianCellSorter (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxMedianHybridCrossingReduction.MedianCellSorter (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxMedianHybridCrossingReduction.MedianCellSorter (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -333,7 +333,7 @@ implements java.lang.Comparable&lt;java.lang.Object&gt;</pre>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/hierarchical/stage/mxMedianHybridCrossingReduction.html b/java/docs/com/mxgraph/layout/hierarchical/stage/mxMedianHybridCrossingReduction.html
    index b7d2121c2..bc85833fb 100644
    --- a/java/docs/com/mxgraph/layout/hierarchical/stage/mxMedianHybridCrossingReduction.html
    +++ b/java/docs/com/mxgraph/layout/hierarchical/stage/mxMedianHybridCrossingReduction.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxMedianHybridCrossingReduction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxMedianHybridCrossingReduction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxMedianHybridCrossingReduction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxMedianHybridCrossingReduction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -463,7 +463,7 @@ implements <a href="mxHierarchicalLayoutStage.html" title="interface in com.mxgr
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/hierarchical/stage/mxMinimumCycleRemover.html b/java/docs/com/mxgraph/layout/hierarchical/stage/mxMinimumCycleRemover.html
    index 59e1824a1..cc22750bb 100644
    --- a/java/docs/com/mxgraph/layout/hierarchical/stage/mxMinimumCycleRemover.html
    +++ b/java/docs/com/mxgraph/layout/hierarchical/stage/mxMinimumCycleRemover.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxMinimumCycleRemover (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxMinimumCycleRemover (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxMinimumCycleRemover (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxMinimumCycleRemover (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -325,7 +325,7 @@ implements <a href="mxHierarchicalLayoutStage.html" title="interface in com.mxgr
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/hierarchical/stage/package-summary.html b/java/docs/com/mxgraph/layout/hierarchical/stage/package-summary.html
    index fa3a7b411..06c76f2df 100644
    --- a/java/docs/com/mxgraph/layout/hierarchical/stage/package-summary.html
    +++ b/java/docs/com/mxgraph/layout/hierarchical/stage/package-summary.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>com.mxgraph.layout.hierarchical.stage (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>com.mxgraph.layout.hierarchical.stage (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="com.mxgraph.layout.hierarchical.stage (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="com.mxgraph.layout.hierarchical.stage (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -169,7 +169,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/hierarchical/stage/package-tree.html b/java/docs/com/mxgraph/layout/hierarchical/stage/package-tree.html
    index 5cdb7e531..935c5f720 100644
    --- a/java/docs/com/mxgraph/layout/hierarchical/stage/package-tree.html
    +++ b/java/docs/com/mxgraph/layout/hierarchical/stage/package-tree.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>com.mxgraph.layout.hierarchical.stage Class Hierarchy (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>com.mxgraph.layout.hierarchical.stage Class Hierarchy (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="com.mxgraph.layout.hierarchical.stage Class Hierarchy (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="com.mxgraph.layout.hierarchical.stage Class Hierarchy (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -158,7 +158,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/hierarchical/stage/package-use.html b/java/docs/com/mxgraph/layout/hierarchical/stage/package-use.html
    index b48253d67..39f8a44de 100644
    --- a/java/docs/com/mxgraph/layout/hierarchical/stage/package-use.html
    +++ b/java/docs/com/mxgraph/layout/hierarchical/stage/package-use.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Package com.mxgraph.layout.hierarchical.stage (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Package com.mxgraph.layout.hierarchical.stage (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Package com.mxgraph.layout.hierarchical.stage (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Package com.mxgraph.layout.hierarchical.stage (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -157,7 +157,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/mxCircleLayout.html b/java/docs/com/mxgraph/layout/mxCircleLayout.html
    index f3212dae7..a4da92b09 100644
    --- a/java/docs/com/mxgraph/layout/mxCircleLayout.html
    +++ b/java/docs/com/mxgraph/layout/mxCircleLayout.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxCircleLayout (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxCircleLayout (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxCircleLayout (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxCircleLayout (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -701,7 +701,7 @@ extends <a href="mxGraphLayout.html" title="class in com.mxgraph.layout">mxGraph
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/mxCompactTreeLayout.Polygon.html b/java/docs/com/mxgraph/layout/mxCompactTreeLayout.Polygon.html
    index c10742c37..c19114749 100644
    --- a/java/docs/com/mxgraph/layout/mxCompactTreeLayout.Polygon.html
    +++ b/java/docs/com/mxgraph/layout/mxCompactTreeLayout.Polygon.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxCompactTreeLayout.Polygon (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxCompactTreeLayout.Polygon (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxCompactTreeLayout.Polygon (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxCompactTreeLayout.Polygon (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -315,7 +315,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/mxCompactTreeLayout.Polyline.html b/java/docs/com/mxgraph/layout/mxCompactTreeLayout.Polyline.html
    index 4fb491bc6..845ff295d 100644
    --- a/java/docs/com/mxgraph/layout/mxCompactTreeLayout.Polyline.html
    +++ b/java/docs/com/mxgraph/layout/mxCompactTreeLayout.Polyline.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxCompactTreeLayout.Polyline (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxCompactTreeLayout.Polyline (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxCompactTreeLayout.Polyline (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxCompactTreeLayout.Polyline (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -305,7 +305,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/mxCompactTreeLayout.TreeNode.html b/java/docs/com/mxgraph/layout/mxCompactTreeLayout.TreeNode.html
    index 1e9861fd9..fb4c7437b 100644
    --- a/java/docs/com/mxgraph/layout/mxCompactTreeLayout.TreeNode.html
    +++ b/java/docs/com/mxgraph/layout/mxCompactTreeLayout.TreeNode.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxCompactTreeLayout.TreeNode (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxCompactTreeLayout.TreeNode (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxCompactTreeLayout.TreeNode (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxCompactTreeLayout.TreeNode (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -397,7 +397,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/mxCompactTreeLayout.WeightedCellSorter.html b/java/docs/com/mxgraph/layout/mxCompactTreeLayout.WeightedCellSorter.html
    index 37334ffb3..04e7de95a 100644
    --- a/java/docs/com/mxgraph/layout/mxCompactTreeLayout.WeightedCellSorter.html
    +++ b/java/docs/com/mxgraph/layout/mxCompactTreeLayout.WeightedCellSorter.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxCompactTreeLayout.WeightedCellSorter (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxCompactTreeLayout.WeightedCellSorter (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxCompactTreeLayout.WeightedCellSorter (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxCompactTreeLayout.WeightedCellSorter (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -398,7 +398,7 @@ implements java.lang.Comparable&lt;java.lang.Object&gt;</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/mxCompactTreeLayout.html b/java/docs/com/mxgraph/layout/mxCompactTreeLayout.html
    index ad97a1043..351d81930 100644
    --- a/java/docs/com/mxgraph/layout/mxCompactTreeLayout.html
    +++ b/java/docs/com/mxgraph/layout/mxCompactTreeLayout.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxCompactTreeLayout (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxCompactTreeLayout (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxCompactTreeLayout (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxCompactTreeLayout (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -1375,7 +1375,7 @@ extends <a href="mxGraphLayout.html" title="class in com.mxgraph.layout">mxGraph
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/mxEdgeLabelLayout.html b/java/docs/com/mxgraph/layout/mxEdgeLabelLayout.html
    index 11ae6c045..662b54d64 100644
    --- a/java/docs/com/mxgraph/layout/mxEdgeLabelLayout.html
    +++ b/java/docs/com/mxgraph/layout/mxEdgeLabelLayout.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxEdgeLabelLayout (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxEdgeLabelLayout (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxEdgeLabelLayout (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxEdgeLabelLayout (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -345,7 +345,7 @@ extends <a href="mxGraphLayout.html" title="class in com.mxgraph.layout">mxGraph
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/mxFastOrganicLayout.html b/java/docs/com/mxgraph/layout/mxFastOrganicLayout.html
    index 509c0c206..51270c64f 100644
    --- a/java/docs/com/mxgraph/layout/mxFastOrganicLayout.html
    +++ b/java/docs/com/mxgraph/layout/mxFastOrganicLayout.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxFastOrganicLayout (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxFastOrganicLayout (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxFastOrganicLayout (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxFastOrganicLayout (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -1114,7 +1114,7 @@ extends <a href="mxGraphLayout.html" title="class in com.mxgraph.layout">mxGraph
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/mxGraphLayout.html b/java/docs/com/mxgraph/layout/mxGraphLayout.html
    index 200e64e78..09d34e33d 100644
    --- a/java/docs/com/mxgraph/layout/mxGraphLayout.html
    +++ b/java/docs/com/mxgraph/layout/mxGraphLayout.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphLayout (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphLayout (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphLayout (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphLayout (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -737,7 +737,7 @@ implements <a href="mxIGraphLayout.html" title="interface in com.mxgraph.layout"
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/mxIGraphLayout.html b/java/docs/com/mxgraph/layout/mxIGraphLayout.html
    index a5e4ada98..68d2fd7b3 100644
    --- a/java/docs/com/mxgraph/layout/mxIGraphLayout.html
    +++ b/java/docs/com/mxgraph/layout/mxIGraphLayout.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxIGraphLayout (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxIGraphLayout (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxIGraphLayout (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxIGraphLayout (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -250,7 +250,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/mxOrganicLayout.CellWrapper.html b/java/docs/com/mxgraph/layout/mxOrganicLayout.CellWrapper.html
    index ab7fc8859..65becb2e5 100644
    --- a/java/docs/com/mxgraph/layout/mxOrganicLayout.CellWrapper.html
    +++ b/java/docs/com/mxgraph/layout/mxOrganicLayout.CellWrapper.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxOrganicLayout.CellWrapper (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxOrganicLayout.CellWrapper (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxOrganicLayout.CellWrapper (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxOrganicLayout.CellWrapper (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -756,7 +756,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/mxOrganicLayout.html b/java/docs/com/mxgraph/layout/mxOrganicLayout.html
    index cded90af5..d4509ca6c 100644
    --- a/java/docs/com/mxgraph/layout/mxOrganicLayout.html
    +++ b/java/docs/com/mxgraph/layout/mxOrganicLayout.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxOrganicLayout (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxOrganicLayout (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxOrganicLayout (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxOrganicLayout (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -2451,7 +2451,7 @@ extends <a href="mxGraphLayout.html" title="class in com.mxgraph.layout">mxGraph
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/mxParallelEdgeLayout.html b/java/docs/com/mxgraph/layout/mxParallelEdgeLayout.html
    index eb94171b3..4d1167614 100644
    --- a/java/docs/com/mxgraph/layout/mxParallelEdgeLayout.html
    +++ b/java/docs/com/mxgraph/layout/mxParallelEdgeLayout.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxParallelEdgeLayout (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxParallelEdgeLayout (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxParallelEdgeLayout (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxParallelEdgeLayout (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -428,7 +428,7 @@ extends <a href="mxGraphLayout.html" title="class in com.mxgraph.layout">mxGraph
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/mxPartitionLayout.html b/java/docs/com/mxgraph/layout/mxPartitionLayout.html
    index 5377149eb..6fd9c891b 100644
    --- a/java/docs/com/mxgraph/layout/mxPartitionLayout.html
    +++ b/java/docs/com/mxgraph/layout/mxPartitionLayout.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxPartitionLayout (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxPartitionLayout (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxPartitionLayout (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxPartitionLayout (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -523,7 +523,7 @@ extends <a href="mxGraphLayout.html" title="class in com.mxgraph.layout">mxGraph
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/mxStackLayout.html b/java/docs/com/mxgraph/layout/mxStackLayout.html
    index c19c0b1bd..f0c3af2ce 100644
    --- a/java/docs/com/mxgraph/layout/mxStackLayout.html
    +++ b/java/docs/com/mxgraph/layout/mxStackLayout.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxStackLayout (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxStackLayout (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxStackLayout (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxStackLayout (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -608,7 +608,7 @@ extends <a href="mxGraphLayout.html" title="class in com.mxgraph.layout">mxGraph
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/orthogonal/class-use/mxOrthogonalLayout.html b/java/docs/com/mxgraph/layout/orthogonal/class-use/mxOrthogonalLayout.html
    index 724d9c6f7..8a5e73491 100644
    --- a/java/docs/com/mxgraph/layout/orthogonal/class-use/mxOrthogonalLayout.html
    +++ b/java/docs/com/mxgraph/layout/orthogonal/class-use/mxOrthogonalLayout.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.layout.orthogonal.mxOrthogonalLayout (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.layout.orthogonal.mxOrthogonalLayout (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.layout.orthogonal.mxOrthogonalLayout (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.layout.orthogonal.mxOrthogonalLayout (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/orthogonal/model/class-use/mxOrthogonalModel.html b/java/docs/com/mxgraph/layout/orthogonal/model/class-use/mxOrthogonalModel.html
    index 4e9516ebd..e45974888 100644
    --- a/java/docs/com/mxgraph/layout/orthogonal/model/class-use/mxOrthogonalModel.html
    +++ b/java/docs/com/mxgraph/layout/orthogonal/model/class-use/mxOrthogonalModel.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.layout.orthogonal.model.mxOrthogonalModel (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.layout.orthogonal.model.mxOrthogonalModel (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.layout.orthogonal.model.mxOrthogonalModel (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.layout.orthogonal.model.mxOrthogonalModel (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -164,7 +164,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/orthogonal/model/class-use/mxPointPair.html b/java/docs/com/mxgraph/layout/orthogonal/model/class-use/mxPointPair.html
    index ab3f3a67c..af9e7bea6 100644
    --- a/java/docs/com/mxgraph/layout/orthogonal/model/class-use/mxPointPair.html
    +++ b/java/docs/com/mxgraph/layout/orthogonal/model/class-use/mxPointPair.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.layout.orthogonal.model.mxPointPair (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.layout.orthogonal.model.mxPointPair (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.layout.orthogonal.model.mxPointPair (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.layout.orthogonal.model.mxPointPair (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/orthogonal/model/class-use/mxPointSequence.html b/java/docs/com/mxgraph/layout/orthogonal/model/class-use/mxPointSequence.html
    index 355b983bd..00df65b7e 100644
    --- a/java/docs/com/mxgraph/layout/orthogonal/model/class-use/mxPointSequence.html
    +++ b/java/docs/com/mxgraph/layout/orthogonal/model/class-use/mxPointSequence.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.layout.orthogonal.model.mxPointSequence (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.layout.orthogonal.model.mxPointSequence (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.layout.orthogonal.model.mxPointSequence (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.layout.orthogonal.model.mxPointSequence (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/orthogonal/model/class-use/mxSegment.html b/java/docs/com/mxgraph/layout/orthogonal/model/class-use/mxSegment.html
    index fafd773fb..8ca99bb5f 100644
    --- a/java/docs/com/mxgraph/layout/orthogonal/model/class-use/mxSegment.html
    +++ b/java/docs/com/mxgraph/layout/orthogonal/model/class-use/mxSegment.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.layout.orthogonal.model.mxSegment (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.layout.orthogonal.model.mxSegment (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.layout.orthogonal.model.mxSegment (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.layout.orthogonal.model.mxSegment (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/orthogonal/model/mxOrthogonalModel.html b/java/docs/com/mxgraph/layout/orthogonal/model/mxOrthogonalModel.html
    index 9a264fac8..ce95eb748 100644
    --- a/java/docs/com/mxgraph/layout/orthogonal/model/mxOrthogonalModel.html
    +++ b/java/docs/com/mxgraph/layout/orthogonal/model/mxOrthogonalModel.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxOrthogonalModel (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxOrthogonalModel (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxOrthogonalModel (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxOrthogonalModel (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -226,7 +226,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/orthogonal/model/mxPointPair.html b/java/docs/com/mxgraph/layout/orthogonal/model/mxPointPair.html
    index f549fa8db..c5d70c2ab 100644
    --- a/java/docs/com/mxgraph/layout/orthogonal/model/mxPointPair.html
    +++ b/java/docs/com/mxgraph/layout/orthogonal/model/mxPointPair.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxPointPair (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxPointPair (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxPointPair (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxPointPair (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -225,7 +225,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/orthogonal/model/mxPointSequence.html b/java/docs/com/mxgraph/layout/orthogonal/model/mxPointSequence.html
    index 667eb902c..5807dd99e 100644
    --- a/java/docs/com/mxgraph/layout/orthogonal/model/mxPointSequence.html
    +++ b/java/docs/com/mxgraph/layout/orthogonal/model/mxPointSequence.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxPointSequence (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxPointSequence (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxPointSequence (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxPointSequence (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -225,7 +225,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/orthogonal/model/mxSegment.html b/java/docs/com/mxgraph/layout/orthogonal/model/mxSegment.html
    index 415d7f03b..50eee0160 100644
    --- a/java/docs/com/mxgraph/layout/orthogonal/model/mxSegment.html
    +++ b/java/docs/com/mxgraph/layout/orthogonal/model/mxSegment.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxSegment (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxSegment (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxSegment (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxSegment (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -225,7 +225,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/orthogonal/model/package-summary.html b/java/docs/com/mxgraph/layout/orthogonal/model/package-summary.html
    index aa1ce5172..175b1f147 100644
    --- a/java/docs/com/mxgraph/layout/orthogonal/model/package-summary.html
    +++ b/java/docs/com/mxgraph/layout/orthogonal/model/package-summary.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>com.mxgraph.layout.orthogonal.model (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>com.mxgraph.layout.orthogonal.model (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="com.mxgraph.layout.orthogonal.model (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="com.mxgraph.layout.orthogonal.model (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -152,7 +152,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/orthogonal/model/package-tree.html b/java/docs/com/mxgraph/layout/orthogonal/model/package-tree.html
    index 360f35c22..3d9fa8fa6 100644
    --- a/java/docs/com/mxgraph/layout/orthogonal/model/package-tree.html
    +++ b/java/docs/com/mxgraph/layout/orthogonal/model/package-tree.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>com.mxgraph.layout.orthogonal.model Class Hierarchy (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>com.mxgraph.layout.orthogonal.model Class Hierarchy (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="com.mxgraph.layout.orthogonal.model Class Hierarchy (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="com.mxgraph.layout.orthogonal.model Class Hierarchy (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -138,7 +138,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/orthogonal/model/package-use.html b/java/docs/com/mxgraph/layout/orthogonal/model/package-use.html
    index 76508034d..415b162e0 100644
    --- a/java/docs/com/mxgraph/layout/orthogonal/model/package-use.html
    +++ b/java/docs/com/mxgraph/layout/orthogonal/model/package-use.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Package com.mxgraph.layout.orthogonal.model (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Package com.mxgraph.layout.orthogonal.model (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Package com.mxgraph.layout.orthogonal.model (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Package com.mxgraph.layout.orthogonal.model (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -157,7 +157,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/orthogonal/mxOrthogonalLayout.html b/java/docs/com/mxgraph/layout/orthogonal/mxOrthogonalLayout.html
    index 48fd31751..e55e5d297 100644
    --- a/java/docs/com/mxgraph/layout/orthogonal/mxOrthogonalLayout.html
    +++ b/java/docs/com/mxgraph/layout/orthogonal/mxOrthogonalLayout.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxOrthogonalLayout (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxOrthogonalLayout (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxOrthogonalLayout (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxOrthogonalLayout (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -359,7 +359,7 @@ extends <a href="../mxGraphLayout.html" title="class in com.mxgraph.layout">mxGr
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/orthogonal/package-summary.html b/java/docs/com/mxgraph/layout/orthogonal/package-summary.html
    index ea7274b8b..f988b8ed9 100644
    --- a/java/docs/com/mxgraph/layout/orthogonal/package-summary.html
    +++ b/java/docs/com/mxgraph/layout/orthogonal/package-summary.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>com.mxgraph.layout.orthogonal (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>com.mxgraph.layout.orthogonal (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="com.mxgraph.layout.orthogonal (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="com.mxgraph.layout.orthogonal (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -138,7 +138,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/orthogonal/package-tree.html b/java/docs/com/mxgraph/layout/orthogonal/package-tree.html
    index 06fe21e42..d373ff5e5 100644
    --- a/java/docs/com/mxgraph/layout/orthogonal/package-tree.html
    +++ b/java/docs/com/mxgraph/layout/orthogonal/package-tree.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>com.mxgraph.layout.orthogonal Class Hierarchy (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>com.mxgraph.layout.orthogonal Class Hierarchy (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="com.mxgraph.layout.orthogonal Class Hierarchy (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="com.mxgraph.layout.orthogonal Class Hierarchy (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -139,7 +139,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/orthogonal/package-use.html b/java/docs/com/mxgraph/layout/orthogonal/package-use.html
    index fc76422aa..c892fa6fe 100644
    --- a/java/docs/com/mxgraph/layout/orthogonal/package-use.html
    +++ b/java/docs/com/mxgraph/layout/orthogonal/package-use.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Package com.mxgraph.layout.orthogonal (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Package com.mxgraph.layout.orthogonal (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Package com.mxgraph.layout.orthogonal (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Package com.mxgraph.layout.orthogonal (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/package-summary.html b/java/docs/com/mxgraph/layout/package-summary.html
    index 3bc56ddbc..d239f60db 100644
    --- a/java/docs/com/mxgraph/layout/package-summary.html
    +++ b/java/docs/com/mxgraph/layout/package-summary.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>com.mxgraph.layout (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>com.mxgraph.layout (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="com.mxgraph.layout (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="com.mxgraph.layout (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -211,7 +211,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/package-tree.html b/java/docs/com/mxgraph/layout/package-tree.html
    index 0cde5d240..86af6b517 100644
    --- a/java/docs/com/mxgraph/layout/package-tree.html
    +++ b/java/docs/com/mxgraph/layout/package-tree.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>com.mxgraph.layout Class Hierarchy (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>com.mxgraph.layout Class Hierarchy (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="com.mxgraph.layout Class Hierarchy (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="com.mxgraph.layout Class Hierarchy (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -157,7 +157,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/layout/package-use.html b/java/docs/com/mxgraph/layout/package-use.html
    index 241020eeb..e7395cc88 100644
    --- a/java/docs/com/mxgraph/layout/package-use.html
    +++ b/java/docs/com/mxgraph/layout/package-use.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Package com.mxgraph.layout (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Package com.mxgraph.layout (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Package com.mxgraph.layout (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Package com.mxgraph.layout (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -268,7 +268,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/model/class-use/mxCell.html b/java/docs/com/mxgraph/model/class-use/mxCell.html
    index 0bf24f5e3..ab92ec427 100644
    --- a/java/docs/com/mxgraph/model/class-use/mxCell.html
    +++ b/java/docs/com/mxgraph/model/class-use/mxCell.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.model.mxCell (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.model.mxCell (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.model.mxCell (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.model.mxCell (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/model/class-use/mxCellPath.html b/java/docs/com/mxgraph/model/class-use/mxCellPath.html
    index b7c82502c..2f1e2042e 100644
    --- a/java/docs/com/mxgraph/model/class-use/mxCellPath.html
    +++ b/java/docs/com/mxgraph/model/class-use/mxCellPath.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.model.mxCellPath (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.model.mxCellPath (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.model.mxCellPath (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.model.mxCellPath (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/model/class-use/mxGeometry.html b/java/docs/com/mxgraph/model/class-use/mxGeometry.html
    index ce3cf1f4a..d817446fa 100644
    --- a/java/docs/com/mxgraph/model/class-use/mxGeometry.html
    +++ b/java/docs/com/mxgraph/model/class-use/mxGeometry.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.model.mxGeometry (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.model.mxGeometry (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.model.mxGeometry (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.model.mxGeometry (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -399,7 +399,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/model/class-use/mxGraphModel.Filter.html b/java/docs/com/mxgraph/model/class-use/mxGraphModel.Filter.html
    index 2673b703d..5c72b2d6b 100644
    --- a/java/docs/com/mxgraph/model/class-use/mxGraphModel.Filter.html
    +++ b/java/docs/com/mxgraph/model/class-use/mxGraphModel.Filter.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Interface com.mxgraph.model.mxGraphModel.Filter (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Interface com.mxgraph.model.mxGraphModel.Filter (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Interface com.mxgraph.model.mxGraphModel.Filter (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Interface com.mxgraph.model.mxGraphModel.Filter (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -184,7 +184,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/model/class-use/mxGraphModel.html b/java/docs/com/mxgraph/model/class-use/mxGraphModel.html
    index 67e1480e6..e9e3043af 100644
    --- a/java/docs/com/mxgraph/model/class-use/mxGraphModel.html
    +++ b/java/docs/com/mxgraph/model/class-use/mxGraphModel.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.model.mxGraphModel (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.model.mxGraphModel (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.model.mxGraphModel (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.model.mxGraphModel (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -215,7 +215,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/model/class-use/mxGraphModel.mxChildChange.html b/java/docs/com/mxgraph/model/class-use/mxGraphModel.mxChildChange.html
    index 27079fe48..6b63aba3a 100644
    --- a/java/docs/com/mxgraph/model/class-use/mxGraphModel.mxChildChange.html
    +++ b/java/docs/com/mxgraph/model/class-use/mxGraphModel.mxChildChange.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.model.mxGraphModel.mxChildChange (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.model.mxGraphModel.mxChildChange (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.model.mxGraphModel.mxChildChange (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.model.mxGraphModel.mxChildChange (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/model/class-use/mxGraphModel.mxCollapseChange.html b/java/docs/com/mxgraph/model/class-use/mxGraphModel.mxCollapseChange.html
    index 255f91754..73e056eb0 100644
    --- a/java/docs/com/mxgraph/model/class-use/mxGraphModel.mxCollapseChange.html
    +++ b/java/docs/com/mxgraph/model/class-use/mxGraphModel.mxCollapseChange.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.model.mxGraphModel.mxCollapseChange (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.model.mxGraphModel.mxCollapseChange (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.model.mxGraphModel.mxCollapseChange (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.model.mxGraphModel.mxCollapseChange (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/model/class-use/mxGraphModel.mxGeometryChange.html b/java/docs/com/mxgraph/model/class-use/mxGraphModel.mxGeometryChange.html
    index f96e3d96e..5aa392654 100644
    --- a/java/docs/com/mxgraph/model/class-use/mxGraphModel.mxGeometryChange.html
    +++ b/java/docs/com/mxgraph/model/class-use/mxGraphModel.mxGeometryChange.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.model.mxGraphModel.mxGeometryChange (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.model.mxGraphModel.mxGeometryChange (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.model.mxGraphModel.mxGeometryChange (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.model.mxGraphModel.mxGeometryChange (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/model/class-use/mxGraphModel.mxRootChange.html b/java/docs/com/mxgraph/model/class-use/mxGraphModel.mxRootChange.html
    index 1b979be97..2b20ad855 100644
    --- a/java/docs/com/mxgraph/model/class-use/mxGraphModel.mxRootChange.html
    +++ b/java/docs/com/mxgraph/model/class-use/mxGraphModel.mxRootChange.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.model.mxGraphModel.mxRootChange (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.model.mxGraphModel.mxRootChange (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.model.mxGraphModel.mxRootChange (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.model.mxGraphModel.mxRootChange (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/model/class-use/mxGraphModel.mxStyleChange.html b/java/docs/com/mxgraph/model/class-use/mxGraphModel.mxStyleChange.html
    index 44146c3df..4b9c51c71 100644
    --- a/java/docs/com/mxgraph/model/class-use/mxGraphModel.mxStyleChange.html
    +++ b/java/docs/com/mxgraph/model/class-use/mxGraphModel.mxStyleChange.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.model.mxGraphModel.mxStyleChange (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.model.mxGraphModel.mxStyleChange (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.model.mxGraphModel.mxStyleChange (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.model.mxGraphModel.mxStyleChange (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/model/class-use/mxGraphModel.mxTerminalChange.html b/java/docs/com/mxgraph/model/class-use/mxGraphModel.mxTerminalChange.html
    index 0560f7de6..ea2da047b 100644
    --- a/java/docs/com/mxgraph/model/class-use/mxGraphModel.mxTerminalChange.html
    +++ b/java/docs/com/mxgraph/model/class-use/mxGraphModel.mxTerminalChange.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.model.mxGraphModel.mxTerminalChange (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.model.mxGraphModel.mxTerminalChange (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.model.mxGraphModel.mxTerminalChange (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.model.mxGraphModel.mxTerminalChange (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/model/class-use/mxGraphModel.mxValueChange.html b/java/docs/com/mxgraph/model/class-use/mxGraphModel.mxValueChange.html
    index f8e2f5c05..4fa74e301 100644
    --- a/java/docs/com/mxgraph/model/class-use/mxGraphModel.mxValueChange.html
    +++ b/java/docs/com/mxgraph/model/class-use/mxGraphModel.mxValueChange.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.model.mxGraphModel.mxValueChange (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.model.mxGraphModel.mxValueChange (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.model.mxGraphModel.mxValueChange (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.model.mxGraphModel.mxValueChange (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/model/class-use/mxGraphModel.mxVisibleChange.html b/java/docs/com/mxgraph/model/class-use/mxGraphModel.mxVisibleChange.html
    index 75b6033f2..0f28292b0 100644
    --- a/java/docs/com/mxgraph/model/class-use/mxGraphModel.mxVisibleChange.html
    +++ b/java/docs/com/mxgraph/model/class-use/mxGraphModel.mxVisibleChange.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.model.mxGraphModel.mxVisibleChange (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.model.mxGraphModel.mxVisibleChange (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.model.mxGraphModel.mxVisibleChange (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.model.mxGraphModel.mxVisibleChange (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/model/class-use/mxICell.html b/java/docs/com/mxgraph/model/class-use/mxICell.html
    index 6e15946e0..ac8d4b950 100644
    --- a/java/docs/com/mxgraph/model/class-use/mxICell.html
    +++ b/java/docs/com/mxgraph/model/class-use/mxICell.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Interface com.mxgraph.model.mxICell (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Interface com.mxgraph.model.mxICell (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Interface com.mxgraph.model.mxICell (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Interface com.mxgraph.model.mxICell (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -623,7 +623,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/model/class-use/mxIGraphModel.html b/java/docs/com/mxgraph/model/class-use/mxIGraphModel.html
    index 48c29c2fe..e68f40822 100644
    --- a/java/docs/com/mxgraph/model/class-use/mxIGraphModel.html
    +++ b/java/docs/com/mxgraph/model/class-use/mxIGraphModel.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Interface com.mxgraph.model.mxIGraphModel (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Interface com.mxgraph.model.mxIGraphModel (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Interface com.mxgraph.model.mxIGraphModel (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Interface com.mxgraph.model.mxIGraphModel (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -593,7 +593,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/model/class-use/mxIGraphModel.mxAtomicGraphModelChange.html b/java/docs/com/mxgraph/model/class-use/mxIGraphModel.mxAtomicGraphModelChange.html
    index 7c3e3c9bf..b7f70bf21 100644
    --- a/java/docs/com/mxgraph/model/class-use/mxIGraphModel.mxAtomicGraphModelChange.html
    +++ b/java/docs/com/mxgraph/model/class-use/mxIGraphModel.mxAtomicGraphModelChange.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.model.mxIGraphModel.mxAtomicGraphModelChange (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.model.mxIGraphModel.mxAtomicGraphModelChange (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.model.mxIGraphModel.mxAtomicGraphModelChange (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.model.mxIGraphModel.mxAtomicGraphModelChange (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -218,7 +218,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/model/mxCell.html b/java/docs/com/mxgraph/model/mxCell.html
    index a3b55d5b5..3153f393f 100644
    --- a/java/docs/com/mxgraph/model/mxCell.html
    +++ b/java/docs/com/mxgraph/model/mxCell.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxCell (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxCell (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxCell (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxCell (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -1709,7 +1709,7 @@ implements <a href="mxICell.html" title="interface in com.mxgraph.model">mxICell
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/model/mxCellPath.html b/java/docs/com/mxgraph/model/mxCellPath.html
    index 0493858bb..d567ccd44 100644
    --- a/java/docs/com/mxgraph/model/mxCellPath.html
    +++ b/java/docs/com/mxgraph/model/mxCellPath.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxCellPath (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxCellPath (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxCellPath (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxCellPath (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -393,7 +393,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/model/mxGeometry.html b/java/docs/com/mxgraph/model/mxGeometry.html
    index c0afffd50..3021a20c4 100644
    --- a/java/docs/com/mxgraph/model/mxGeometry.html
    +++ b/java/docs/com/mxgraph/model/mxGeometry.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGeometry (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGeometry (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGeometry (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGeometry (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -864,7 +864,7 @@ extends <a href="../util/mxRectangle.html" title="class in com.mxgraph.util">mxR
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/model/mxGraphModel.Filter.html b/java/docs/com/mxgraph/model/mxGraphModel.Filter.html
    index f4ccfbe4d..3963468bf 100644
    --- a/java/docs/com/mxgraph/model/mxGraphModel.Filter.html
    +++ b/java/docs/com/mxgraph/model/mxGraphModel.Filter.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphModel.Filter (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphModel.Filter (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphModel.Filter (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphModel.Filter (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -211,7 +211,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/model/mxGraphModel.html b/java/docs/com/mxgraph/model/mxGraphModel.html
    index 99b66dca4..9ecfbe756 100644
    --- a/java/docs/com/mxgraph/model/mxGraphModel.html
    +++ b/java/docs/com/mxgraph/model/mxGraphModel.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphModel (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphModel (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphModel (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphModel (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -2728,7 +2728,7 @@ implements <a href="mxIGraphModel.html" title="interface in com.mxgraph.model">m
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/model/mxGraphModel.mxChildChange.html b/java/docs/com/mxgraph/model/mxGraphModel.mxChildChange.html
    index 472d03e66..c6d6dfe83 100644
    --- a/java/docs/com/mxgraph/model/mxGraphModel.mxChildChange.html
    +++ b/java/docs/com/mxgraph/model/mxGraphModel.mxChildChange.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphModel.mxChildChange (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphModel.mxChildChange (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphModel.mxChildChange (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphModel.mxChildChange (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -676,7 +676,7 @@ extends <a href="mxIGraphModel.mxAtomicGraphModelChange.html" title="class in co
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/model/mxGraphModel.mxCollapseChange.html b/java/docs/com/mxgraph/model/mxGraphModel.mxCollapseChange.html
    index 252374bfd..fc95c6252 100644
    --- a/java/docs/com/mxgraph/model/mxGraphModel.mxCollapseChange.html
    +++ b/java/docs/com/mxgraph/model/mxGraphModel.mxCollapseChange.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphModel.mxCollapseChange (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphModel.mxCollapseChange (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphModel.mxCollapseChange (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphModel.mxCollapseChange (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -482,7 +482,7 @@ extends <a href="mxIGraphModel.mxAtomicGraphModelChange.html" title="class in co
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/model/mxGraphModel.mxGeometryChange.html b/java/docs/com/mxgraph/model/mxGraphModel.mxGeometryChange.html
    index 9e8711e72..ba755f6e8 100644
    --- a/java/docs/com/mxgraph/model/mxGraphModel.mxGeometryChange.html
    +++ b/java/docs/com/mxgraph/model/mxGraphModel.mxGeometryChange.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphModel.mxGeometryChange (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphModel.mxGeometryChange (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphModel.mxGeometryChange (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphModel.mxGeometryChange (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -482,7 +482,7 @@ extends <a href="mxIGraphModel.mxAtomicGraphModelChange.html" title="class in co
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/model/mxGraphModel.mxRootChange.html b/java/docs/com/mxgraph/model/mxGraphModel.mxRootChange.html
    index d4f985440..c1d2ff137 100644
    --- a/java/docs/com/mxgraph/model/mxGraphModel.mxRootChange.html
    +++ b/java/docs/com/mxgraph/model/mxGraphModel.mxRootChange.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphModel.mxRootChange (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphModel.mxRootChange (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphModel.mxRootChange (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphModel.mxRootChange (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -440,7 +440,7 @@ extends <a href="mxIGraphModel.mxAtomicGraphModelChange.html" title="class in co
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/model/mxGraphModel.mxStyleChange.html b/java/docs/com/mxgraph/model/mxGraphModel.mxStyleChange.html
    index 38a89ec65..66f4fe66a 100644
    --- a/java/docs/com/mxgraph/model/mxGraphModel.mxStyleChange.html
    +++ b/java/docs/com/mxgraph/model/mxGraphModel.mxStyleChange.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphModel.mxStyleChange (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphModel.mxStyleChange (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphModel.mxStyleChange (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphModel.mxStyleChange (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -482,7 +482,7 @@ extends <a href="mxIGraphModel.mxAtomicGraphModelChange.html" title="class in co
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/model/mxGraphModel.mxTerminalChange.html b/java/docs/com/mxgraph/model/mxGraphModel.mxTerminalChange.html
    index 8052f28f9..108afee94 100644
    --- a/java/docs/com/mxgraph/model/mxGraphModel.mxTerminalChange.html
    +++ b/java/docs/com/mxgraph/model/mxGraphModel.mxTerminalChange.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphModel.mxTerminalChange (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphModel.mxTerminalChange (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphModel.mxTerminalChange (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphModel.mxTerminalChange (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -530,7 +530,7 @@ extends <a href="mxIGraphModel.mxAtomicGraphModelChange.html" title="class in co
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/model/mxGraphModel.mxValueChange.html b/java/docs/com/mxgraph/model/mxGraphModel.mxValueChange.html
    index db69371e7..1071055fa 100644
    --- a/java/docs/com/mxgraph/model/mxGraphModel.mxValueChange.html
    +++ b/java/docs/com/mxgraph/model/mxGraphModel.mxValueChange.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphModel.mxValueChange (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphModel.mxValueChange (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphModel.mxValueChange (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphModel.mxValueChange (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -482,7 +482,7 @@ extends <a href="mxIGraphModel.mxAtomicGraphModelChange.html" title="class in co
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/model/mxGraphModel.mxVisibleChange.html b/java/docs/com/mxgraph/model/mxGraphModel.mxVisibleChange.html
    index c408da72f..98f0a3326 100644
    --- a/java/docs/com/mxgraph/model/mxGraphModel.mxVisibleChange.html
    +++ b/java/docs/com/mxgraph/model/mxGraphModel.mxVisibleChange.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphModel.mxVisibleChange (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphModel.mxVisibleChange (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphModel.mxVisibleChange (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphModel.mxVisibleChange (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -482,7 +482,7 @@ extends <a href="mxIGraphModel.mxAtomicGraphModelChange.html" title="class in co
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/model/mxICell.html b/java/docs/com/mxgraph/model/mxICell.html
    index 51aa3dd38..bbd63a0f4 100644
    --- a/java/docs/com/mxgraph/model/mxICell.html
    +++ b/java/docs/com/mxgraph/model/mxICell.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxICell (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxICell (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxICell (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxICell (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -955,7 +955,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/model/mxIGraphModel.html b/java/docs/com/mxgraph/model/mxIGraphModel.html
    index b3367b150..7262a11d5 100644
    --- a/java/docs/com/mxgraph/model/mxIGraphModel.html
    +++ b/java/docs/com/mxgraph/model/mxIGraphModel.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxIGraphModel (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxIGraphModel (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxIGraphModel (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxIGraphModel (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -996,7 +996,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/model/mxIGraphModel.mxAtomicGraphModelChange.html b/java/docs/com/mxgraph/model/mxIGraphModel.mxAtomicGraphModelChange.html
    index 9939e0830..c3dbb4669 100644
    --- a/java/docs/com/mxgraph/model/mxIGraphModel.mxAtomicGraphModelChange.html
    +++ b/java/docs/com/mxgraph/model/mxIGraphModel.mxAtomicGraphModelChange.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxIGraphModel.mxAtomicGraphModelChange (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxIGraphModel.mxAtomicGraphModelChange (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxIGraphModel.mxAtomicGraphModelChange (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxIGraphModel.mxAtomicGraphModelChange (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -382,7 +382,7 @@ implements <a href="../util/mxUndoableEdit.mxUndoableChange.html" title="interfa
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/model/package-summary.html b/java/docs/com/mxgraph/model/package-summary.html
    index 04aaa939c..a66b1b0bb 100644
    --- a/java/docs/com/mxgraph/model/package-summary.html
    +++ b/java/docs/com/mxgraph/model/package-summary.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>com.mxgraph.model (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>com.mxgraph.model (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="com.mxgraph.model (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="com.mxgraph.model (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -228,7 +228,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/model/package-tree.html b/java/docs/com/mxgraph/model/package-tree.html
    index 1c7aa25ac..62187141f 100644
    --- a/java/docs/com/mxgraph/model/package-tree.html
    +++ b/java/docs/com/mxgraph/model/package-tree.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>com.mxgraph.model Class Hierarchy (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>com.mxgraph.model Class Hierarchy (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="com.mxgraph.model Class Hierarchy (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="com.mxgraph.model Class Hierarchy (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -170,7 +170,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/model/package-use.html b/java/docs/com/mxgraph/model/package-use.html
    index 67c98ff8f..cef2c076c 100644
    --- a/java/docs/com/mxgraph/model/package-use.html
    +++ b/java/docs/com/mxgraph/model/package-use.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Package com.mxgraph.model (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Package com.mxgraph.model (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Package com.mxgraph.model (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Package com.mxgraph.model (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -271,7 +271,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/reader/class-use/mxDomOutputParser.IElementHandler.html b/java/docs/com/mxgraph/reader/class-use/mxDomOutputParser.IElementHandler.html
    index 7d561eb06..3ca80f7d2 100644
    --- a/java/docs/com/mxgraph/reader/class-use/mxDomOutputParser.IElementHandler.html
    +++ b/java/docs/com/mxgraph/reader/class-use/mxDomOutputParser.IElementHandler.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Interface com.mxgraph.reader.mxDomOutputParser.IElementHandler (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Interface com.mxgraph.reader.mxDomOutputParser.IElementHandler (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Interface com.mxgraph.reader.mxDomOutputParser.IElementHandler (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Interface com.mxgraph.reader.mxDomOutputParser.IElementHandler (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -167,7 +167,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/reader/class-use/mxDomOutputParser.html b/java/docs/com/mxgraph/reader/class-use/mxDomOutputParser.html
    index e8886e4fb..8749e6202 100644
    --- a/java/docs/com/mxgraph/reader/class-use/mxDomOutputParser.html
    +++ b/java/docs/com/mxgraph/reader/class-use/mxDomOutputParser.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.reader.mxDomOutputParser (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.reader.mxDomOutputParser (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.reader.mxDomOutputParser (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.reader.mxDomOutputParser (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/reader/class-use/mxGraphViewImageReader.html b/java/docs/com/mxgraph/reader/class-use/mxGraphViewImageReader.html
    index 805d9d051..8c89c5694 100644
    --- a/java/docs/com/mxgraph/reader/class-use/mxGraphViewImageReader.html
    +++ b/java/docs/com/mxgraph/reader/class-use/mxGraphViewImageReader.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.reader.mxGraphViewImageReader (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.reader.mxGraphViewImageReader (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.reader.mxGraphViewImageReader (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.reader.mxGraphViewImageReader (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -178,7 +178,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/reader/class-use/mxGraphViewReader.html b/java/docs/com/mxgraph/reader/class-use/mxGraphViewReader.html
    index 0b080aff7..8e1702af9 100644
    --- a/java/docs/com/mxgraph/reader/class-use/mxGraphViewReader.html
    +++ b/java/docs/com/mxgraph/reader/class-use/mxGraphViewReader.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.reader.mxGraphViewReader (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.reader.mxGraphViewReader (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.reader.mxGraphViewReader (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.reader.mxGraphViewReader (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -169,7 +169,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/reader/class-use/mxSaxOutputHandler.IElementHandler.html b/java/docs/com/mxgraph/reader/class-use/mxSaxOutputHandler.IElementHandler.html
    index f556bb606..5f4b3d672 100644
    --- a/java/docs/com/mxgraph/reader/class-use/mxSaxOutputHandler.IElementHandler.html
    +++ b/java/docs/com/mxgraph/reader/class-use/mxSaxOutputHandler.IElementHandler.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Interface com.mxgraph.reader.mxSaxOutputHandler.IElementHandler (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Interface com.mxgraph.reader.mxSaxOutputHandler.IElementHandler (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Interface com.mxgraph.reader.mxSaxOutputHandler.IElementHandler (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Interface com.mxgraph.reader.mxSaxOutputHandler.IElementHandler (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -167,7 +167,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/reader/class-use/mxSaxOutputHandler.html b/java/docs/com/mxgraph/reader/class-use/mxSaxOutputHandler.html
    index ada71380a..5452dde49 100644
    --- a/java/docs/com/mxgraph/reader/class-use/mxSaxOutputHandler.html
    +++ b/java/docs/com/mxgraph/reader/class-use/mxSaxOutputHandler.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.reader.mxSaxOutputHandler (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.reader.mxSaxOutputHandler (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.reader.mxSaxOutputHandler (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.reader.mxSaxOutputHandler (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/reader/mxDomOutputParser.IElementHandler.html b/java/docs/com/mxgraph/reader/mxDomOutputParser.IElementHandler.html
    index cc115ac9b..0ca791447 100644
    --- a/java/docs/com/mxgraph/reader/mxDomOutputParser.IElementHandler.html
    +++ b/java/docs/com/mxgraph/reader/mxDomOutputParser.IElementHandler.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxDomOutputParser.IElementHandler (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxDomOutputParser.IElementHandler (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxDomOutputParser.IElementHandler (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxDomOutputParser.IElementHandler (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -211,7 +211,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/reader/mxDomOutputParser.html b/java/docs/com/mxgraph/reader/mxDomOutputParser.html
    index fe9e7e9a5..54da80f74 100644
    --- a/java/docs/com/mxgraph/reader/mxDomOutputParser.html
    +++ b/java/docs/com/mxgraph/reader/mxDomOutputParser.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxDomOutputParser (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxDomOutputParser (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxDomOutputParser (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxDomOutputParser (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -416,7 +416,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/reader/mxGraphViewImageReader.html b/java/docs/com/mxgraph/reader/mxGraphViewImageReader.html
    index a2ddfd308..f611bb77b 100644
    --- a/java/docs/com/mxgraph/reader/mxGraphViewImageReader.html
    +++ b/java/docs/com/mxgraph/reader/mxGraphViewImageReader.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphViewImageReader (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphViewImageReader (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphViewImageReader (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphViewImageReader (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -732,7 +732,7 @@ extends <a href="mxGraphViewReader.html" title="class in com.mxgraph.reader">mxG
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/reader/mxGraphViewReader.html b/java/docs/com/mxgraph/reader/mxGraphViewReader.html
    index e875a3f73..313e57dc1 100644
    --- a/java/docs/com/mxgraph/reader/mxGraphViewReader.html
    +++ b/java/docs/com/mxgraph/reader/mxGraphViewReader.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphViewReader (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphViewReader (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphViewReader (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphViewReader (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -527,7 +527,7 @@ extends org.xml.sax.helpers.DefaultHandler</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/reader/mxSaxOutputHandler.IElementHandler.html b/java/docs/com/mxgraph/reader/mxSaxOutputHandler.IElementHandler.html
    index f0d3a0e33..7e1a2f959 100644
    --- a/java/docs/com/mxgraph/reader/mxSaxOutputHandler.IElementHandler.html
    +++ b/java/docs/com/mxgraph/reader/mxSaxOutputHandler.IElementHandler.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxSaxOutputHandler.IElementHandler (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxSaxOutputHandler.IElementHandler (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxSaxOutputHandler.IElementHandler (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxSaxOutputHandler.IElementHandler (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -211,7 +211,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/reader/mxSaxOutputHandler.html b/java/docs/com/mxgraph/reader/mxSaxOutputHandler.html
    index 75bf8c5e8..483ee6d35 100644
    --- a/java/docs/com/mxgraph/reader/mxSaxOutputHandler.html
    +++ b/java/docs/com/mxgraph/reader/mxSaxOutputHandler.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxSaxOutputHandler (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxSaxOutputHandler (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxSaxOutputHandler (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxSaxOutputHandler (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -447,7 +447,7 @@ extends org.xml.sax.helpers.DefaultHandler</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/reader/package-summary.html b/java/docs/com/mxgraph/reader/package-summary.html
    index 40612882f..e18b4234c 100644
    --- a/java/docs/com/mxgraph/reader/package-summary.html
    +++ b/java/docs/com/mxgraph/reader/package-summary.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>com.mxgraph.reader (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>com.mxgraph.reader (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="com.mxgraph.reader (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="com.mxgraph.reader (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -225,7 +225,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/reader/package-tree.html b/java/docs/com/mxgraph/reader/package-tree.html
    index 9d26ffa66..42f4e9c4a 100644
    --- a/java/docs/com/mxgraph/reader/package-tree.html
    +++ b/java/docs/com/mxgraph/reader/package-tree.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>com.mxgraph.reader Class Hierarchy (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>com.mxgraph.reader Class Hierarchy (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="com.mxgraph.reader Class Hierarchy (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="com.mxgraph.reader Class Hierarchy (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -152,7 +152,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/reader/package-use.html b/java/docs/com/mxgraph/reader/package-use.html
    index 9e4ed7a64..0bd4b5fe7 100644
    --- a/java/docs/com/mxgraph/reader/package-use.html
    +++ b/java/docs/com/mxgraph/reader/package-use.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Package com.mxgraph.reader (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Package com.mxgraph.reader (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Package com.mxgraph.reader (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Package com.mxgraph.reader (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -174,7 +174,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/class-use/mxActorShape.html b/java/docs/com/mxgraph/shape/class-use/mxActorShape.html
    index 42938fb51..02bdb8b87 100644
    --- a/java/docs/com/mxgraph/shape/class-use/mxActorShape.html
    +++ b/java/docs/com/mxgraph/shape/class-use/mxActorShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.shape.mxActorShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.shape.mxActorShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.shape.mxActorShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.shape.mxActorShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/class-use/mxArrowShape.html b/java/docs/com/mxgraph/shape/class-use/mxArrowShape.html
    index 56ea845af..56f8d5af7 100644
    --- a/java/docs/com/mxgraph/shape/class-use/mxArrowShape.html
    +++ b/java/docs/com/mxgraph/shape/class-use/mxArrowShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.shape.mxArrowShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.shape.mxArrowShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.shape.mxArrowShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.shape.mxArrowShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/class-use/mxBasicShape.html b/java/docs/com/mxgraph/shape/class-use/mxBasicShape.html
    index 5213bc1bc..11fabd338 100644
    --- a/java/docs/com/mxgraph/shape/class-use/mxBasicShape.html
    +++ b/java/docs/com/mxgraph/shape/class-use/mxBasicShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.shape.mxBasicShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.shape.mxBasicShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.shape.mxBasicShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.shape.mxBasicShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -254,7 +254,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/class-use/mxCloudShape.html b/java/docs/com/mxgraph/shape/class-use/mxCloudShape.html
    index 9a1d878b0..08c2a4049 100644
    --- a/java/docs/com/mxgraph/shape/class-use/mxCloudShape.html
    +++ b/java/docs/com/mxgraph/shape/class-use/mxCloudShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.shape.mxCloudShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.shape.mxCloudShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.shape.mxCloudShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.shape.mxCloudShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/class-use/mxConnectorShape.html b/java/docs/com/mxgraph/shape/class-use/mxConnectorShape.html
    index 6ac5809d3..346aaf920 100644
    --- a/java/docs/com/mxgraph/shape/class-use/mxConnectorShape.html
    +++ b/java/docs/com/mxgraph/shape/class-use/mxConnectorShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.shape.mxConnectorShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.shape.mxConnectorShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.shape.mxConnectorShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.shape.mxConnectorShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -164,7 +164,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/class-use/mxCurveLabelShape.LabelGlyphCache.html b/java/docs/com/mxgraph/shape/class-use/mxCurveLabelShape.LabelGlyphCache.html
    index e82a6a399..14a6287e5 100644
    --- a/java/docs/com/mxgraph/shape/class-use/mxCurveLabelShape.LabelGlyphCache.html
    +++ b/java/docs/com/mxgraph/shape/class-use/mxCurveLabelShape.LabelGlyphCache.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.shape.mxCurveLabelShape.LabelGlyphCache (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.shape.mxCurveLabelShape.LabelGlyphCache (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.shape.mxCurveLabelShape.LabelGlyphCache (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.shape.mxCurveLabelShape.LabelGlyphCache (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -167,7 +167,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/class-use/mxCurveLabelShape.LabelPosition.html b/java/docs/com/mxgraph/shape/class-use/mxCurveLabelShape.LabelPosition.html
    index c1d43fc4d..1dbb6689e 100644
    --- a/java/docs/com/mxgraph/shape/class-use/mxCurveLabelShape.LabelPosition.html
    +++ b/java/docs/com/mxgraph/shape/class-use/mxCurveLabelShape.LabelPosition.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.shape.mxCurveLabelShape.LabelPosition (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.shape.mxCurveLabelShape.LabelPosition (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.shape.mxCurveLabelShape.LabelPosition (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.shape.mxCurveLabelShape.LabelPosition (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -166,7 +166,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/class-use/mxCurveLabelShape.html b/java/docs/com/mxgraph/shape/class-use/mxCurveLabelShape.html
    index 26a346828..7c71ab339 100644
    --- a/java/docs/com/mxgraph/shape/class-use/mxCurveLabelShape.html
    +++ b/java/docs/com/mxgraph/shape/class-use/mxCurveLabelShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.shape.mxCurveLabelShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.shape.mxCurveLabelShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.shape.mxCurveLabelShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.shape.mxCurveLabelShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/class-use/mxCurveShape.html b/java/docs/com/mxgraph/shape/class-use/mxCurveShape.html
    index 1e6ea7bd8..9ebb46284 100644
    --- a/java/docs/com/mxgraph/shape/class-use/mxCurveShape.html
    +++ b/java/docs/com/mxgraph/shape/class-use/mxCurveShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.shape.mxCurveShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.shape.mxCurveShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.shape.mxCurveShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.shape.mxCurveShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/class-use/mxCylinderShape.html b/java/docs/com/mxgraph/shape/class-use/mxCylinderShape.html
    index 6ff3080c2..b627808d1 100644
    --- a/java/docs/com/mxgraph/shape/class-use/mxCylinderShape.html
    +++ b/java/docs/com/mxgraph/shape/class-use/mxCylinderShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.shape.mxCylinderShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.shape.mxCylinderShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.shape.mxCylinderShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.shape.mxCylinderShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/class-use/mxDefaultTextShape.html b/java/docs/com/mxgraph/shape/class-use/mxDefaultTextShape.html
    index 0476c24a2..173f297fa 100644
    --- a/java/docs/com/mxgraph/shape/class-use/mxDefaultTextShape.html
    +++ b/java/docs/com/mxgraph/shape/class-use/mxDefaultTextShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.shape.mxDefaultTextShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.shape.mxDefaultTextShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.shape.mxDefaultTextShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.shape.mxDefaultTextShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/class-use/mxDoubleEllipseShape.html b/java/docs/com/mxgraph/shape/class-use/mxDoubleEllipseShape.html
    index 02eca862f..a0766f8bf 100644
    --- a/java/docs/com/mxgraph/shape/class-use/mxDoubleEllipseShape.html
    +++ b/java/docs/com/mxgraph/shape/class-use/mxDoubleEllipseShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.shape.mxDoubleEllipseShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.shape.mxDoubleEllipseShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.shape.mxDoubleEllipseShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.shape.mxDoubleEllipseShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/class-use/mxDoubleRectangleShape.html b/java/docs/com/mxgraph/shape/class-use/mxDoubleRectangleShape.html
    index 08dde9dce..aa7d90d88 100644
    --- a/java/docs/com/mxgraph/shape/class-use/mxDoubleRectangleShape.html
    +++ b/java/docs/com/mxgraph/shape/class-use/mxDoubleRectangleShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.shape.mxDoubleRectangleShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.shape.mxDoubleRectangleShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.shape.mxDoubleRectangleShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.shape.mxDoubleRectangleShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/class-use/mxEllipseShape.html b/java/docs/com/mxgraph/shape/class-use/mxEllipseShape.html
    index 5feb6c375..ea7d7f847 100644
    --- a/java/docs/com/mxgraph/shape/class-use/mxEllipseShape.html
    +++ b/java/docs/com/mxgraph/shape/class-use/mxEllipseShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.shape.mxEllipseShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.shape.mxEllipseShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.shape.mxEllipseShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.shape.mxEllipseShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -164,7 +164,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/class-use/mxHexagonShape.html b/java/docs/com/mxgraph/shape/class-use/mxHexagonShape.html
    index 293b83c14..198125579 100644
    --- a/java/docs/com/mxgraph/shape/class-use/mxHexagonShape.html
    +++ b/java/docs/com/mxgraph/shape/class-use/mxHexagonShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.shape.mxHexagonShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.shape.mxHexagonShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.shape.mxHexagonShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.shape.mxHexagonShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/class-use/mxHtmlTextShape.html b/java/docs/com/mxgraph/shape/class-use/mxHtmlTextShape.html
    index db5feb9ab..3841b132d 100644
    --- a/java/docs/com/mxgraph/shape/class-use/mxHtmlTextShape.html
    +++ b/java/docs/com/mxgraph/shape/class-use/mxHtmlTextShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.shape.mxHtmlTextShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.shape.mxHtmlTextShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.shape.mxHtmlTextShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.shape.mxHtmlTextShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/class-use/mxIMarker.html b/java/docs/com/mxgraph/shape/class-use/mxIMarker.html
    index 0a3a9cfc8..47a8adcd1 100644
    --- a/java/docs/com/mxgraph/shape/class-use/mxIMarker.html
    +++ b/java/docs/com/mxgraph/shape/class-use/mxIMarker.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Interface com.mxgraph.shape.mxIMarker (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Interface com.mxgraph.shape.mxIMarker (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Interface com.mxgraph.shape.mxIMarker (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Interface com.mxgraph.shape.mxIMarker (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -195,7 +195,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/class-use/mxIShape.html b/java/docs/com/mxgraph/shape/class-use/mxIShape.html
    index 104394772..3c6743c0e 100644
    --- a/java/docs/com/mxgraph/shape/class-use/mxIShape.html
    +++ b/java/docs/com/mxgraph/shape/class-use/mxIShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Interface com.mxgraph.shape.mxIShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Interface com.mxgraph.shape.mxIShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Interface com.mxgraph.shape.mxIShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Interface com.mxgraph.shape.mxIShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -328,7 +328,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/class-use/mxITextShape.html b/java/docs/com/mxgraph/shape/class-use/mxITextShape.html
    index 8a34b3c29..31b7fdfe1 100644
    --- a/java/docs/com/mxgraph/shape/class-use/mxITextShape.html
    +++ b/java/docs/com/mxgraph/shape/class-use/mxITextShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Interface com.mxgraph.shape.mxITextShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Interface com.mxgraph.shape.mxITextShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Interface com.mxgraph.shape.mxITextShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Interface com.mxgraph.shape.mxITextShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -242,7 +242,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/class-use/mxImageShape.html b/java/docs/com/mxgraph/shape/class-use/mxImageShape.html
    index 504993198..564ff956e 100644
    --- a/java/docs/com/mxgraph/shape/class-use/mxImageShape.html
    +++ b/java/docs/com/mxgraph/shape/class-use/mxImageShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.shape.mxImageShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.shape.mxImageShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.shape.mxImageShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.shape.mxImageShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -164,7 +164,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/class-use/mxLabelShape.html b/java/docs/com/mxgraph/shape/class-use/mxLabelShape.html
    index c8349838c..508ca2347 100644
    --- a/java/docs/com/mxgraph/shape/class-use/mxLabelShape.html
    +++ b/java/docs/com/mxgraph/shape/class-use/mxLabelShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.shape.mxLabelShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.shape.mxLabelShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.shape.mxLabelShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.shape.mxLabelShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/class-use/mxLineShape.html b/java/docs/com/mxgraph/shape/class-use/mxLineShape.html
    index 432f4c09a..77cbda7b1 100644
    --- a/java/docs/com/mxgraph/shape/class-use/mxLineShape.html
    +++ b/java/docs/com/mxgraph/shape/class-use/mxLineShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.shape.mxLineShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.shape.mxLineShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.shape.mxLineShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.shape.mxLineShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/class-use/mxMarkerRegistry.html b/java/docs/com/mxgraph/shape/class-use/mxMarkerRegistry.html
    index 384aa971b..c655c09e7 100644
    --- a/java/docs/com/mxgraph/shape/class-use/mxMarkerRegistry.html
    +++ b/java/docs/com/mxgraph/shape/class-use/mxMarkerRegistry.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.shape.mxMarkerRegistry (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.shape.mxMarkerRegistry (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.shape.mxMarkerRegistry (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.shape.mxMarkerRegistry (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/class-use/mxRectangleShape.html b/java/docs/com/mxgraph/shape/class-use/mxRectangleShape.html
    index c5f13777a..200e6f84b 100644
    --- a/java/docs/com/mxgraph/shape/class-use/mxRectangleShape.html
    +++ b/java/docs/com/mxgraph/shape/class-use/mxRectangleShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.shape.mxRectangleShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.shape.mxRectangleShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.shape.mxRectangleShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.shape.mxRectangleShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -176,7 +176,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/class-use/mxRhombusShape.html b/java/docs/com/mxgraph/shape/class-use/mxRhombusShape.html
    index 3ff45f91e..e4e9580d4 100644
    --- a/java/docs/com/mxgraph/shape/class-use/mxRhombusShape.html
    +++ b/java/docs/com/mxgraph/shape/class-use/mxRhombusShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.shape.mxRhombusShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.shape.mxRhombusShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.shape.mxRhombusShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.shape.mxRhombusShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/class-use/mxStencil.html b/java/docs/com/mxgraph/shape/class-use/mxStencil.html
    index 419ab1975..fc62903ea 100644
    --- a/java/docs/com/mxgraph/shape/class-use/mxStencil.html
    +++ b/java/docs/com/mxgraph/shape/class-use/mxStencil.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.shape.mxStencil (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.shape.mxStencil (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.shape.mxStencil (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.shape.mxStencil (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -199,7 +199,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/class-use/mxStencilRegistry.html b/java/docs/com/mxgraph/shape/class-use/mxStencilRegistry.html
    index cea5f1dca..a5c8e9952 100644
    --- a/java/docs/com/mxgraph/shape/class-use/mxStencilRegistry.html
    +++ b/java/docs/com/mxgraph/shape/class-use/mxStencilRegistry.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.shape.mxStencilRegistry (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.shape.mxStencilRegistry (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.shape.mxStencilRegistry (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.shape.mxStencilRegistry (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/class-use/mxStencilShape.html b/java/docs/com/mxgraph/shape/class-use/mxStencilShape.html
    index 9f61b7aff..98164e602 100644
    --- a/java/docs/com/mxgraph/shape/class-use/mxStencilShape.html
    +++ b/java/docs/com/mxgraph/shape/class-use/mxStencilShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.shape.mxStencilShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.shape.mxStencilShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.shape.mxStencilShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.shape.mxStencilShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/class-use/mxStencilShape.svgShape.html b/java/docs/com/mxgraph/shape/class-use/mxStencilShape.svgShape.html
    index 4bf921f2c..dfb6ebf9a 100644
    --- a/java/docs/com/mxgraph/shape/class-use/mxStencilShape.svgShape.html
    +++ b/java/docs/com/mxgraph/shape/class-use/mxStencilShape.svgShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.shape.mxStencilShape.svgShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.shape.mxStencilShape.svgShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.shape.mxStencilShape.svgShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.shape.mxStencilShape.svgShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -222,7 +222,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/class-use/mxSwimlaneShape.html b/java/docs/com/mxgraph/shape/class-use/mxSwimlaneShape.html
    index 35f0aad77..23d77f43d 100644
    --- a/java/docs/com/mxgraph/shape/class-use/mxSwimlaneShape.html
    +++ b/java/docs/com/mxgraph/shape/class-use/mxSwimlaneShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.shape.mxSwimlaneShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.shape.mxSwimlaneShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.shape.mxSwimlaneShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.shape.mxSwimlaneShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/class-use/mxTriangleShape.html b/java/docs/com/mxgraph/shape/class-use/mxTriangleShape.html
    index 8d07f58cf..4ee8f39bf 100644
    --- a/java/docs/com/mxgraph/shape/class-use/mxTriangleShape.html
    +++ b/java/docs/com/mxgraph/shape/class-use/mxTriangleShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.shape.mxTriangleShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.shape.mxTriangleShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.shape.mxTriangleShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.shape.mxTriangleShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/mxActorShape.html b/java/docs/com/mxgraph/shape/mxActorShape.html
    index 98314fdc8..ab3a427bd 100644
    --- a/java/docs/com/mxgraph/shape/mxActorShape.html
    +++ b/java/docs/com/mxgraph/shape/mxActorShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxActorShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxActorShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxActorShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxActorShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -285,7 +285,7 @@ extends <a href="mxBasicShape.html" title="class in com.mxgraph.shape">mxBasicSh
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/mxArrowShape.html b/java/docs/com/mxgraph/shape/mxArrowShape.html
    index 3b3472b86..5a35253cb 100644
    --- a/java/docs/com/mxgraph/shape/mxArrowShape.html
    +++ b/java/docs/com/mxgraph/shape/mxArrowShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxArrowShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxArrowShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxArrowShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxArrowShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -285,7 +285,7 @@ extends <a href="mxBasicShape.html" title="class in com.mxgraph.shape">mxBasicSh
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/mxBasicShape.html b/java/docs/com/mxgraph/shape/mxBasicShape.html
    index 29a47520f..06709b714 100644
    --- a/java/docs/com/mxgraph/shape/mxBasicShape.html
    +++ b/java/docs/com/mxgraph/shape/mxBasicShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxBasicShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxBasicShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxBasicShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxBasicShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -404,7 +404,7 @@ implements <a href="mxIShape.html" title="interface in com.mxgraph.shape">mxISha
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/mxCloudShape.html b/java/docs/com/mxgraph/shape/mxCloudShape.html
    index e26a31dba..2e32dd45c 100644
    --- a/java/docs/com/mxgraph/shape/mxCloudShape.html
    +++ b/java/docs/com/mxgraph/shape/mxCloudShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxCloudShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxCloudShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxCloudShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxCloudShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -285,7 +285,7 @@ extends <a href="mxBasicShape.html" title="class in com.mxgraph.shape">mxBasicSh
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/mxConnectorShape.html b/java/docs/com/mxgraph/shape/mxConnectorShape.html
    index cfeace4d8..3f8281f7b 100644
    --- a/java/docs/com/mxgraph/shape/mxConnectorShape.html
    +++ b/java/docs/com/mxgraph/shape/mxConnectorShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxConnectorShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxConnectorShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxConnectorShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxConnectorShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -381,7 +381,7 @@ extends <a href="mxBasicShape.html" title="class in com.mxgraph.shape">mxBasicSh
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/mxCurveLabelShape.LabelGlyphCache.html b/java/docs/com/mxgraph/shape/mxCurveLabelShape.LabelGlyphCache.html
    index 042b95e87..60237b1f1 100644
    --- a/java/docs/com/mxgraph/shape/mxCurveLabelShape.LabelGlyphCache.html
    +++ b/java/docs/com/mxgraph/shape/mxCurveLabelShape.LabelGlyphCache.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxCurveLabelShape.LabelGlyphCache (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxCurveLabelShape.LabelGlyphCache (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxCurveLabelShape.LabelGlyphCache (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxCurveLabelShape.LabelGlyphCache (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -366,7 +366,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/mxCurveLabelShape.LabelPosition.html b/java/docs/com/mxgraph/shape/mxCurveLabelShape.LabelPosition.html
    index 16d9ea170..39cc72c40 100644
    --- a/java/docs/com/mxgraph/shape/mxCurveLabelShape.LabelPosition.html
    +++ b/java/docs/com/mxgraph/shape/mxCurveLabelShape.LabelPosition.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxCurveLabelShape.LabelPosition (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxCurveLabelShape.LabelPosition (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxCurveLabelShape.LabelPosition (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxCurveLabelShape.LabelPosition (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -301,7 +301,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/mxCurveLabelShape.html b/java/docs/com/mxgraph/shape/mxCurveLabelShape.html
    index 6d700d483..35a033167 100644
    --- a/java/docs/com/mxgraph/shape/mxCurveLabelShape.html
    +++ b/java/docs/com/mxgraph/shape/mxCurveLabelShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxCurveLabelShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxCurveLabelShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxCurveLabelShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxCurveLabelShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -840,7 +840,7 @@ implements <a href="mxITextShape.html" title="interface in com.mxgraph.shape">mx
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/mxCurveShape.html b/java/docs/com/mxgraph/shape/mxCurveShape.html
    index c4dcf3516..c4482a7ad 100644
    --- a/java/docs/com/mxgraph/shape/mxCurveShape.html
    +++ b/java/docs/com/mxgraph/shape/mxCurveShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxCurveShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxCurveShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxCurveShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxCurveShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -455,7 +455,7 @@ extends <a href="mxConnectorShape.html" title="class in com.mxgraph.shape">mxCon
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/mxCylinderShape.html b/java/docs/com/mxgraph/shape/mxCylinderShape.html
    index d0891ab5c..8600b307b 100644
    --- a/java/docs/com/mxgraph/shape/mxCylinderShape.html
    +++ b/java/docs/com/mxgraph/shape/mxCylinderShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxCylinderShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxCylinderShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxCylinderShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxCylinderShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -290,7 +290,7 @@ extends <a href="mxBasicShape.html" title="class in com.mxgraph.shape">mxBasicSh
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/mxDefaultTextShape.html b/java/docs/com/mxgraph/shape/mxDefaultTextShape.html
    index fa9abfd88..91e698b8f 100644
    --- a/java/docs/com/mxgraph/shape/mxDefaultTextShape.html
    +++ b/java/docs/com/mxgraph/shape/mxDefaultTextShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxDefaultTextShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxDefaultTextShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxDefaultTextShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxDefaultTextShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -314,7 +314,7 @@ implements <a href="mxITextShape.html" title="interface in com.mxgraph.shape">mx
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/mxDoubleEllipseShape.html b/java/docs/com/mxgraph/shape/mxDoubleEllipseShape.html
    index 5fb9aaa4a..ea8dae814 100644
    --- a/java/docs/com/mxgraph/shape/mxDoubleEllipseShape.html
    +++ b/java/docs/com/mxgraph/shape/mxDoubleEllipseShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxDoubleEllipseShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxDoubleEllipseShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxDoubleEllipseShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxDoubleEllipseShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -299,7 +299,7 @@ extends <a href="mxEllipseShape.html" title="class in com.mxgraph.shape">mxEllip
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/mxDoubleRectangleShape.html b/java/docs/com/mxgraph/shape/mxDoubleRectangleShape.html
    index be54abe89..c95349020 100644
    --- a/java/docs/com/mxgraph/shape/mxDoubleRectangleShape.html
    +++ b/java/docs/com/mxgraph/shape/mxDoubleRectangleShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxDoubleRectangleShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxDoubleRectangleShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxDoubleRectangleShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxDoubleRectangleShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -299,7 +299,7 @@ extends <a href="mxRectangleShape.html" title="class in com.mxgraph.shape">mxRec
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/mxEllipseShape.html b/java/docs/com/mxgraph/shape/mxEllipseShape.html
    index 8b5876c10..bb4f853f5 100644
    --- a/java/docs/com/mxgraph/shape/mxEllipseShape.html
    +++ b/java/docs/com/mxgraph/shape/mxEllipseShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxEllipseShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxEllipseShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxEllipseShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxEllipseShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -289,7 +289,7 @@ extends <a href="mxBasicShape.html" title="class in com.mxgraph.shape">mxBasicSh
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/mxHexagonShape.html b/java/docs/com/mxgraph/shape/mxHexagonShape.html
    index e0c0cd1d4..793dad37a 100644
    --- a/java/docs/com/mxgraph/shape/mxHexagonShape.html
    +++ b/java/docs/com/mxgraph/shape/mxHexagonShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxHexagonShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxHexagonShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxHexagonShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxHexagonShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -285,7 +285,7 @@ extends <a href="mxBasicShape.html" title="class in com.mxgraph.shape">mxBasicSh
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/mxHtmlTextShape.html b/java/docs/com/mxgraph/shape/mxHtmlTextShape.html
    index 518ccdf19..52fbcf350 100644
    --- a/java/docs/com/mxgraph/shape/mxHtmlTextShape.html
    +++ b/java/docs/com/mxgraph/shape/mxHtmlTextShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxHtmlTextShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxHtmlTextShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxHtmlTextShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxHtmlTextShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -393,7 +393,7 @@ implements <a href="mxITextShape.html" title="interface in com.mxgraph.shape">mx
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/mxIMarker.html b/java/docs/com/mxgraph/shape/mxIMarker.html
    index 889a38b16..e63c51460 100644
    --- a/java/docs/com/mxgraph/shape/mxIMarker.html
    +++ b/java/docs/com/mxgraph/shape/mxIMarker.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxIMarker (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxIMarker (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxIMarker (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxIMarker (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -221,7 +221,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/mxIShape.html b/java/docs/com/mxgraph/shape/mxIShape.html
    index 89c3e0c0c..196f5d670 100644
    --- a/java/docs/com/mxgraph/shape/mxIShape.html
    +++ b/java/docs/com/mxgraph/shape/mxIShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxIShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxIShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxIShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxIShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -213,7 +213,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/mxITextShape.html b/java/docs/com/mxgraph/shape/mxITextShape.html
    index 3138fa353..8d510b012 100644
    --- a/java/docs/com/mxgraph/shape/mxITextShape.html
    +++ b/java/docs/com/mxgraph/shape/mxITextShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxITextShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxITextShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxITextShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxITextShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -217,7 +217,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/mxImageShape.html b/java/docs/com/mxgraph/shape/mxImageShape.html
    index 326023b2c..83caea97a 100644
    --- a/java/docs/com/mxgraph/shape/mxImageShape.html
    +++ b/java/docs/com/mxgraph/shape/mxImageShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxImageShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxImageShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxImageShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxImageShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -397,7 +397,7 @@ extends <a href="mxRectangleShape.html" title="class in com.mxgraph.shape">mxRec
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/mxLabelShape.html b/java/docs/com/mxgraph/shape/mxLabelShape.html
    index 811f746d6..a9b52c033 100644
    --- a/java/docs/com/mxgraph/shape/mxLabelShape.html
    +++ b/java/docs/com/mxgraph/shape/mxLabelShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxLabelShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxLabelShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxLabelShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxLabelShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -410,7 +410,7 @@ extends <a href="mxImageShape.html" title="class in com.mxgraph.shape">mxImageSh
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/mxLineShape.html b/java/docs/com/mxgraph/shape/mxLineShape.html
    index 7bd3cfaa1..13d9a8186 100644
    --- a/java/docs/com/mxgraph/shape/mxLineShape.html
    +++ b/java/docs/com/mxgraph/shape/mxLineShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxLineShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxLineShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxLineShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxLineShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -303,7 +303,7 @@ extends <a href="mxBasicShape.html" title="class in com.mxgraph.shape">mxBasicSh
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/mxMarkerRegistry.html b/java/docs/com/mxgraph/shape/mxMarkerRegistry.html
    index 06e35f662..0d8fa9c1f 100644
    --- a/java/docs/com/mxgraph/shape/mxMarkerRegistry.html
    +++ b/java/docs/com/mxgraph/shape/mxMarkerRegistry.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxMarkerRegistry (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxMarkerRegistry (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxMarkerRegistry (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxMarkerRegistry (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -321,7 +321,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/mxRectangleShape.html b/java/docs/com/mxgraph/shape/mxRectangleShape.html
    index 7c9dd6b53..745f5f2cc 100644
    --- a/java/docs/com/mxgraph/shape/mxRectangleShape.html
    +++ b/java/docs/com/mxgraph/shape/mxRectangleShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxRectangleShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxRectangleShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxRectangleShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxRectangleShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -312,7 +312,7 @@ extends <a href="mxBasicShape.html" title="class in com.mxgraph.shape">mxBasicSh
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/mxRhombusShape.html b/java/docs/com/mxgraph/shape/mxRhombusShape.html
    index 7a503ed9b..ea229f577 100644
    --- a/java/docs/com/mxgraph/shape/mxRhombusShape.html
    +++ b/java/docs/com/mxgraph/shape/mxRhombusShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxRhombusShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxRhombusShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxRhombusShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxRhombusShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -285,7 +285,7 @@ extends <a href="mxBasicShape.html" title="class in com.mxgraph.shape">mxBasicSh
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/mxStencil.html b/java/docs/com/mxgraph/shape/mxStencil.html
    index 835b81841..296d0b4e0 100644
    --- a/java/docs/com/mxgraph/shape/mxStencil.html
    +++ b/java/docs/com/mxgraph/shape/mxStencil.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxStencil (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxStencil (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxStencil (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxStencil (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -743,7 +743,7 @@ implements <a href="mxIShape.html" title="interface in com.mxgraph.shape">mxISha
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/mxStencilRegistry.html b/java/docs/com/mxgraph/shape/mxStencilRegistry.html
    index ef39ae80a..2fa7d6340 100644
    --- a/java/docs/com/mxgraph/shape/mxStencilRegistry.html
    +++ b/java/docs/com/mxgraph/shape/mxStencilRegistry.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxStencilRegistry (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxStencilRegistry (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxStencilRegistry (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxStencilRegistry (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -327,7 +327,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/mxStencilShape.html b/java/docs/com/mxgraph/shape/mxStencilShape.html
    index cf64c3d1c..067dd9381 100644
    --- a/java/docs/com/mxgraph/shape/mxStencilShape.html
    +++ b/java/docs/com/mxgraph/shape/mxStencilShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxStencilShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxStencilShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxStencilShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxStencilShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -683,7 +683,7 @@ extends <a href="mxBasicShape.html" title="class in com.mxgraph.shape">mxBasicSh
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/mxStencilShape.svgShape.html b/java/docs/com/mxgraph/shape/mxStencilShape.svgShape.html
    index 52c4af6bf..468cc5b9e 100644
    --- a/java/docs/com/mxgraph/shape/mxStencilShape.svgShape.html
    +++ b/java/docs/com/mxgraph/shape/mxStencilShape.svgShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxStencilShape.svgShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxStencilShape.svgShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxStencilShape.svgShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxStencilShape.svgShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -420,7 +420,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/mxSwimlaneShape.html b/java/docs/com/mxgraph/shape/mxSwimlaneShape.html
    index 84c4a70f9..9c8e94514 100644
    --- a/java/docs/com/mxgraph/shape/mxSwimlaneShape.html
    +++ b/java/docs/com/mxgraph/shape/mxSwimlaneShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxSwimlaneShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxSwimlaneShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxSwimlaneShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxSwimlaneShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -446,7 +446,7 @@ extends <a href="mxBasicShape.html" title="class in com.mxgraph.shape">mxBasicSh
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/mxTriangleShape.html b/java/docs/com/mxgraph/shape/mxTriangleShape.html
    index d166a0519..eb24c8d4d 100644
    --- a/java/docs/com/mxgraph/shape/mxTriangleShape.html
    +++ b/java/docs/com/mxgraph/shape/mxTriangleShape.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxTriangleShape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxTriangleShape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxTriangleShape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxTriangleShape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -285,7 +285,7 @@ extends <a href="mxBasicShape.html" title="class in com.mxgraph.shape">mxBasicSh
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/package-summary.html b/java/docs/com/mxgraph/shape/package-summary.html
    index 4e54b2ee5..696780b25 100644
    --- a/java/docs/com/mxgraph/shape/package-summary.html
    +++ b/java/docs/com/mxgraph/shape/package-summary.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>com.mxgraph.shape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>com.mxgraph.shape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="com.mxgraph.shape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="com.mxgraph.shape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -269,7 +269,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/package-tree.html b/java/docs/com/mxgraph/shape/package-tree.html
    index 856313ade..fa22869b5 100644
    --- a/java/docs/com/mxgraph/shape/package-tree.html
    +++ b/java/docs/com/mxgraph/shape/package-tree.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>com.mxgraph.shape Class Hierarchy (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>com.mxgraph.shape Class Hierarchy (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="com.mxgraph.shape Class Hierarchy (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="com.mxgraph.shape Class Hierarchy (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -185,7 +185,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/shape/package-use.html b/java/docs/com/mxgraph/shape/package-use.html
    index 8b38100c8..af5033024 100644
    --- a/java/docs/com/mxgraph/shape/package-use.html
    +++ b/java/docs/com/mxgraph/shape/package-use.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Package com.mxgraph.shape (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Package com.mxgraph.shape (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Package com.mxgraph.shape (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Package com.mxgraph.shape (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -237,7 +237,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/class-use/mxGraphComponent.html b/java/docs/com/mxgraph/swing/class-use/mxGraphComponent.html
    index eff2cd450..8579be7f6 100644
    --- a/java/docs/com/mxgraph/swing/class-use/mxGraphComponent.html
    +++ b/java/docs/com/mxgraph/swing/class-use/mxGraphComponent.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.swing.mxGraphComponent (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.swing.mxGraphComponent (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.swing.mxGraphComponent (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.swing.mxGraphComponent (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -687,7 +687,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/class-use/mxGraphComponent.mxGraphControl.html b/java/docs/com/mxgraph/swing/class-use/mxGraphComponent.mxGraphControl.html
    index 8bc3a703f..d729220b6 100644
    --- a/java/docs/com/mxgraph/swing/class-use/mxGraphComponent.mxGraphControl.html
    +++ b/java/docs/com/mxgraph/swing/class-use/mxGraphComponent.mxGraphControl.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.swing.mxGraphComponent.mxGraphControl (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.swing.mxGraphComponent.mxGraphControl (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.swing.mxGraphComponent.mxGraphControl (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.swing.mxGraphComponent.mxGraphControl (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -190,7 +190,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/class-use/mxGraphComponent.mxMouseRedirector.html b/java/docs/com/mxgraph/swing/class-use/mxGraphComponent.mxMouseRedirector.html
    index e0b749a19..d7aefb00e 100644
    --- a/java/docs/com/mxgraph/swing/class-use/mxGraphComponent.mxMouseRedirector.html
    +++ b/java/docs/com/mxgraph/swing/class-use/mxGraphComponent.mxMouseRedirector.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.swing.mxGraphComponent.mxMouseRedirector (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.swing.mxGraphComponent.mxMouseRedirector (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.swing.mxGraphComponent.mxMouseRedirector (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.swing.mxGraphComponent.mxMouseRedirector (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/class-use/mxGraphOutline.MouseTracker.html b/java/docs/com/mxgraph/swing/class-use/mxGraphOutline.MouseTracker.html
    index 3d6406a4e..eb1ccd72f 100644
    --- a/java/docs/com/mxgraph/swing/class-use/mxGraphOutline.MouseTracker.html
    +++ b/java/docs/com/mxgraph/swing/class-use/mxGraphOutline.MouseTracker.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.swing.mxGraphOutline.MouseTracker (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.swing.mxGraphOutline.MouseTracker (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.swing.mxGraphOutline.MouseTracker (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.swing.mxGraphOutline.MouseTracker (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -167,7 +167,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/class-use/mxGraphOutline.html b/java/docs/com/mxgraph/swing/class-use/mxGraphOutline.html
    index bed27a0f6..0141020da 100644
    --- a/java/docs/com/mxgraph/swing/class-use/mxGraphOutline.html
    +++ b/java/docs/com/mxgraph/swing/class-use/mxGraphOutline.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.swing.mxGraphOutline (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.swing.mxGraphOutline (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.swing.mxGraphOutline (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.swing.mxGraphOutline (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/handler/class-use/mxCellHandler.html b/java/docs/com/mxgraph/swing/handler/class-use/mxCellHandler.html
    index 4a255b5e3..d4d2ffb94 100644
    --- a/java/docs/com/mxgraph/swing/handler/class-use/mxCellHandler.html
    +++ b/java/docs/com/mxgraph/swing/handler/class-use/mxCellHandler.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.swing.handler.mxCellHandler (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.swing.handler.mxCellHandler (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.swing.handler.mxCellHandler (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.swing.handler.mxCellHandler (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -238,7 +238,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/handler/class-use/mxCellMarker.html b/java/docs/com/mxgraph/swing/handler/class-use/mxCellMarker.html
    index 52f897ba5..719a41630 100644
    --- a/java/docs/com/mxgraph/swing/handler/class-use/mxCellMarker.html
    +++ b/java/docs/com/mxgraph/swing/handler/class-use/mxCellMarker.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.swing.handler.mxCellMarker (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.swing.handler.mxCellMarker (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.swing.handler.mxCellMarker (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.swing.handler.mxCellMarker (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -239,7 +239,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/handler/class-use/mxCellTracker.html b/java/docs/com/mxgraph/swing/handler/class-use/mxCellTracker.html
    index 9767df1c1..a436607a8 100644
    --- a/java/docs/com/mxgraph/swing/handler/class-use/mxCellTracker.html
    +++ b/java/docs/com/mxgraph/swing/handler/class-use/mxCellTracker.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.swing.handler.mxCellTracker (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.swing.handler.mxCellTracker (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.swing.handler.mxCellTracker (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.swing.handler.mxCellTracker (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/handler/class-use/mxConnectPreview.html b/java/docs/com/mxgraph/swing/handler/class-use/mxConnectPreview.html
    index d76b9c88d..f164bcc58 100644
    --- a/java/docs/com/mxgraph/swing/handler/class-use/mxConnectPreview.html
    +++ b/java/docs/com/mxgraph/swing/handler/class-use/mxConnectPreview.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.swing.handler.mxConnectPreview (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.swing.handler.mxConnectPreview (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.swing.handler.mxConnectPreview (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.swing.handler.mxConnectPreview (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -202,7 +202,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/handler/class-use/mxConnectionHandler.html b/java/docs/com/mxgraph/swing/handler/class-use/mxConnectionHandler.html
    index 3d010c3e1..d62c280cc 100644
    --- a/java/docs/com/mxgraph/swing/handler/class-use/mxConnectionHandler.html
    +++ b/java/docs/com/mxgraph/swing/handler/class-use/mxConnectionHandler.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.swing.handler.mxConnectionHandler (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.swing.handler.mxConnectionHandler (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.swing.handler.mxConnectionHandler (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.swing.handler.mxConnectionHandler (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -187,7 +187,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/handler/class-use/mxEdgeHandler.html b/java/docs/com/mxgraph/swing/handler/class-use/mxEdgeHandler.html
    index 9e8d41171..5fb50be28 100644
    --- a/java/docs/com/mxgraph/swing/handler/class-use/mxEdgeHandler.html
    +++ b/java/docs/com/mxgraph/swing/handler/class-use/mxEdgeHandler.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.swing.handler.mxEdgeHandler (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.swing.handler.mxEdgeHandler (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.swing.handler.mxEdgeHandler (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.swing.handler.mxEdgeHandler (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -167,7 +167,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/handler/class-use/mxElbowEdgeHandler.html b/java/docs/com/mxgraph/swing/handler/class-use/mxElbowEdgeHandler.html
    index c2b802acf..799f33722 100644
    --- a/java/docs/com/mxgraph/swing/handler/class-use/mxElbowEdgeHandler.html
    +++ b/java/docs/com/mxgraph/swing/handler/class-use/mxElbowEdgeHandler.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.swing.handler.mxElbowEdgeHandler (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.swing.handler.mxElbowEdgeHandler (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.swing.handler.mxElbowEdgeHandler (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.swing.handler.mxElbowEdgeHandler (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/handler/class-use/mxGraphHandler.html b/java/docs/com/mxgraph/swing/handler/class-use/mxGraphHandler.html
    index 44da672f2..53f2c0805 100644
    --- a/java/docs/com/mxgraph/swing/handler/class-use/mxGraphHandler.html
    +++ b/java/docs/com/mxgraph/swing/handler/class-use/mxGraphHandler.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.swing.handler.mxGraphHandler (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.swing.handler.mxGraphHandler (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.swing.handler.mxGraphHandler (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.swing.handler.mxGraphHandler (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -187,7 +187,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/handler/class-use/mxGraphTransferHandler.html b/java/docs/com/mxgraph/swing/handler/class-use/mxGraphTransferHandler.html
    index f218d7b97..54c589638 100644
    --- a/java/docs/com/mxgraph/swing/handler/class-use/mxGraphTransferHandler.html
    +++ b/java/docs/com/mxgraph/swing/handler/class-use/mxGraphTransferHandler.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.swing.handler.mxGraphTransferHandler (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.swing.handler.mxGraphTransferHandler (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.swing.handler.mxGraphTransferHandler (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.swing.handler.mxGraphTransferHandler (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -169,7 +169,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/handler/class-use/mxInsertHandler.html b/java/docs/com/mxgraph/swing/handler/class-use/mxInsertHandler.html
    index f9099790d..0c49bcf42 100644
    --- a/java/docs/com/mxgraph/swing/handler/class-use/mxInsertHandler.html
    +++ b/java/docs/com/mxgraph/swing/handler/class-use/mxInsertHandler.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.swing.handler.mxInsertHandler (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.swing.handler.mxInsertHandler (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.swing.handler.mxInsertHandler (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.swing.handler.mxInsertHandler (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/handler/class-use/mxKeyboardHandler.html b/java/docs/com/mxgraph/swing/handler/class-use/mxKeyboardHandler.html
    index e9dd50ca1..f8b6b2303 100644
    --- a/java/docs/com/mxgraph/swing/handler/class-use/mxKeyboardHandler.html
    +++ b/java/docs/com/mxgraph/swing/handler/class-use/mxKeyboardHandler.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.swing.handler.mxKeyboardHandler (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.swing.handler.mxKeyboardHandler (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.swing.handler.mxKeyboardHandler (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.swing.handler.mxKeyboardHandler (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/handler/class-use/mxMovePreview.html b/java/docs/com/mxgraph/swing/handler/class-use/mxMovePreview.html
    index 0d3a346f1..7b2501ce7 100644
    --- a/java/docs/com/mxgraph/swing/handler/class-use/mxMovePreview.html
    +++ b/java/docs/com/mxgraph/swing/handler/class-use/mxMovePreview.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.swing.handler.mxMovePreview (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.swing.handler.mxMovePreview (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.swing.handler.mxMovePreview (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.swing.handler.mxMovePreview (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -187,7 +187,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/handler/class-use/mxPanningHandler.html b/java/docs/com/mxgraph/swing/handler/class-use/mxPanningHandler.html
    index c2b3ece21..79095a0d4 100644
    --- a/java/docs/com/mxgraph/swing/handler/class-use/mxPanningHandler.html
    +++ b/java/docs/com/mxgraph/swing/handler/class-use/mxPanningHandler.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.swing.handler.mxPanningHandler (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.swing.handler.mxPanningHandler (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.swing.handler.mxPanningHandler (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.swing.handler.mxPanningHandler (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -187,7 +187,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/handler/class-use/mxRotationHandler.html b/java/docs/com/mxgraph/swing/handler/class-use/mxRotationHandler.html
    index 4516afdf4..c0724d033 100644
    --- a/java/docs/com/mxgraph/swing/handler/class-use/mxRotationHandler.html
    +++ b/java/docs/com/mxgraph/swing/handler/class-use/mxRotationHandler.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.swing.handler.mxRotationHandler (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.swing.handler.mxRotationHandler (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.swing.handler.mxRotationHandler (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.swing.handler.mxRotationHandler (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/handler/class-use/mxRubberband.html b/java/docs/com/mxgraph/swing/handler/class-use/mxRubberband.html
    index 422edc6c0..5adc62dc8 100644
    --- a/java/docs/com/mxgraph/swing/handler/class-use/mxRubberband.html
    +++ b/java/docs/com/mxgraph/swing/handler/class-use/mxRubberband.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.swing.handler.mxRubberband (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.swing.handler.mxRubberband (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.swing.handler.mxRubberband (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.swing.handler.mxRubberband (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/handler/class-use/mxSelectionCellsHandler.html b/java/docs/com/mxgraph/swing/handler/class-use/mxSelectionCellsHandler.html
    index 156e3528f..6ad6d0abc 100644
    --- a/java/docs/com/mxgraph/swing/handler/class-use/mxSelectionCellsHandler.html
    +++ b/java/docs/com/mxgraph/swing/handler/class-use/mxSelectionCellsHandler.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.swing.handler.mxSelectionCellsHandler (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.swing.handler.mxSelectionCellsHandler (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.swing.handler.mxSelectionCellsHandler (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.swing.handler.mxSelectionCellsHandler (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -187,7 +187,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/handler/class-use/mxVertexHandler.html b/java/docs/com/mxgraph/swing/handler/class-use/mxVertexHandler.html
    index 7c843cc54..69dc6838f 100644
    --- a/java/docs/com/mxgraph/swing/handler/class-use/mxVertexHandler.html
    +++ b/java/docs/com/mxgraph/swing/handler/class-use/mxVertexHandler.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.swing.handler.mxVertexHandler (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.swing.handler.mxVertexHandler (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.swing.handler.mxVertexHandler (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.swing.handler.mxVertexHandler (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/handler/mxCellHandler.html b/java/docs/com/mxgraph/swing/handler/mxCellHandler.html
    index 8ef1326a4..675c563cf 100644
    --- a/java/docs/com/mxgraph/swing/handler/mxCellHandler.html
    +++ b/java/docs/com/mxgraph/swing/handler/mxCellHandler.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxCellHandler (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxCellHandler (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxCellHandler (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxCellHandler (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -966,7 +966,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/handler/mxCellMarker.html b/java/docs/com/mxgraph/swing/handler/mxCellMarker.html
    index a7f0f2f67..c6a95b0a4 100644
    --- a/java/docs/com/mxgraph/swing/handler/mxCellMarker.html
    +++ b/java/docs/com/mxgraph/swing/handler/mxCellMarker.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxCellMarker (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxCellMarker (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxCellMarker (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxCellMarker (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -1381,7 +1381,7 @@ extends javax.swing.JComponent</pre>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/handler/mxCellTracker.html b/java/docs/com/mxgraph/swing/handler/mxCellTracker.html
    index 79769576e..d09630f8d 100644
    --- a/java/docs/com/mxgraph/swing/handler/mxCellTracker.html
    +++ b/java/docs/com/mxgraph/swing/handler/mxCellTracker.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxCellTracker (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxCellTracker (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxCellTracker (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxCellTracker (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -521,7 +521,7 @@ implements java.awt.event.MouseListener, java.awt.event.MouseMotionListener</pre
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/handler/mxConnectPreview.html b/java/docs/com/mxgraph/swing/handler/mxConnectPreview.html
    index 51958196a..b5b2fb038 100644
    --- a/java/docs/com/mxgraph/swing/handler/mxConnectPreview.html
    +++ b/java/docs/com/mxgraph/swing/handler/mxConnectPreview.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxConnectPreview (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxConnectPreview (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxConnectPreview (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxConnectPreview (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -610,7 +610,7 @@ extends <a href="../../util/mxEventSource.html" title="class in com.mxgraph.util
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/handler/mxConnectionHandler.html b/java/docs/com/mxgraph/swing/handler/mxConnectionHandler.html
    index b949aee2a..b6c041216 100644
    --- a/java/docs/com/mxgraph/swing/handler/mxConnectionHandler.html
    +++ b/java/docs/com/mxgraph/swing/handler/mxConnectionHandler.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxConnectionHandler (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxConnectionHandler (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxConnectionHandler (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxConnectionHandler (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -1194,7 +1194,7 @@ extends <a href="../util/mxMouseAdapter.html" title="class in com.mxgraph.swing.
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/handler/mxEdgeHandler.html b/java/docs/com/mxgraph/swing/handler/mxEdgeHandler.html
    index 393c461e0..e4100afe5 100644
    --- a/java/docs/com/mxgraph/swing/handler/mxEdgeHandler.html
    +++ b/java/docs/com/mxgraph/swing/handler/mxEdgeHandler.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxEdgeHandler (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxEdgeHandler (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxEdgeHandler (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxEdgeHandler (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -980,7 +980,7 @@ extends <a href="mxCellHandler.html" title="class in com.mxgraph.swing.handler">
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/handler/mxElbowEdgeHandler.html b/java/docs/com/mxgraph/swing/handler/mxElbowEdgeHandler.html
    index cefc67186..11f7d96ec 100644
    --- a/java/docs/com/mxgraph/swing/handler/mxElbowEdgeHandler.html
    +++ b/java/docs/com/mxgraph/swing/handler/mxElbowEdgeHandler.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxElbowEdgeHandler (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxElbowEdgeHandler (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxElbowEdgeHandler (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxElbowEdgeHandler (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -388,7 +388,7 @@ extends <a href="mxEdgeHandler.html" title="class in com.mxgraph.swing.handler">
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/handler/mxGraphHandler.html b/java/docs/com/mxgraph/swing/handler/mxGraphHandler.html
    index 8e0674d7f..3aaf325d6 100644
    --- a/java/docs/com/mxgraph/swing/handler/mxGraphHandler.html
    +++ b/java/docs/com/mxgraph/swing/handler/mxGraphHandler.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphHandler (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphHandler (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphHandler (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphHandler (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -1617,7 +1617,7 @@ implements java.awt.dnd.DropTargetListener</pre>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/handler/mxGraphTransferHandler.html b/java/docs/com/mxgraph/swing/handler/mxGraphTransferHandler.html
    index f90ec2342..8c14309b3 100644
    --- a/java/docs/com/mxgraph/swing/handler/mxGraphTransferHandler.html
    +++ b/java/docs/com/mxgraph/swing/handler/mxGraphTransferHandler.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphTransferHandler (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphTransferHandler (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphTransferHandler (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphTransferHandler (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -884,7 +884,7 @@ extends javax.swing.TransferHandler</pre>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/handler/mxInsertHandler.html b/java/docs/com/mxgraph/swing/handler/mxInsertHandler.html
    index 80b33198e..cea33d8be 100644
    --- a/java/docs/com/mxgraph/swing/handler/mxInsertHandler.html
    +++ b/java/docs/com/mxgraph/swing/handler/mxInsertHandler.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxInsertHandler (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxInsertHandler (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxInsertHandler (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxInsertHandler (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -645,7 +645,7 @@ extends <a href="../util/mxMouseAdapter.html" title="class in com.mxgraph.swing.
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/handler/mxKeyboardHandler.html b/java/docs/com/mxgraph/swing/handler/mxKeyboardHandler.html
    index 0aa9f416e..c7d66d36c 100644
    --- a/java/docs/com/mxgraph/swing/handler/mxKeyboardHandler.html
    +++ b/java/docs/com/mxgraph/swing/handler/mxKeyboardHandler.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxKeyboardHandler (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxKeyboardHandler (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxKeyboardHandler (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxKeyboardHandler (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -304,7 +304,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/handler/mxMovePreview.html b/java/docs/com/mxgraph/swing/handler/mxMovePreview.html
    index a80a3fa10..730867cea 100644
    --- a/java/docs/com/mxgraph/swing/handler/mxMovePreview.html
    +++ b/java/docs/com/mxgraph/swing/handler/mxMovePreview.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxMovePreview (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxMovePreview (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxMovePreview (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxMovePreview (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -880,7 +880,7 @@ extends <a href="../../util/mxEventSource.html" title="class in com.mxgraph.util
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/handler/mxPanningHandler.html b/java/docs/com/mxgraph/swing/handler/mxPanningHandler.html
    index 379b524b1..a5a6057d6 100644
    --- a/java/docs/com/mxgraph/swing/handler/mxPanningHandler.html
    +++ b/java/docs/com/mxgraph/swing/handler/mxPanningHandler.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxPanningHandler (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxPanningHandler (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxPanningHandler (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxPanningHandler (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -448,7 +448,7 @@ extends <a href="../util/mxMouseAdapter.html" title="class in com.mxgraph.swing.
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/handler/mxRotationHandler.html b/java/docs/com/mxgraph/swing/handler/mxRotationHandler.html
    index 83e683a30..ff5e45667 100644
    --- a/java/docs/com/mxgraph/swing/handler/mxRotationHandler.html
    +++ b/java/docs/com/mxgraph/swing/handler/mxRotationHandler.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxRotationHandler (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxRotationHandler (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxRotationHandler (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxRotationHandler (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -612,7 +612,7 @@ extends <a href="../util/mxMouseAdapter.html" title="class in com.mxgraph.swing.
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/handler/mxRubberband.html b/java/docs/com/mxgraph/swing/handler/mxRubberband.html
    index 96464cc32..c93373981 100644
    --- a/java/docs/com/mxgraph/swing/handler/mxRubberband.html
    +++ b/java/docs/com/mxgraph/swing/handler/mxRubberband.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxRubberband (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxRubberband (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxRubberband (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxRubberband (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -708,7 +708,7 @@ implements java.awt.event.MouseListener, java.awt.event.MouseMotionListener</pre
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/handler/mxSelectionCellsHandler.html b/java/docs/com/mxgraph/swing/handler/mxSelectionCellsHandler.html
    index 25f06e873..c6bb21405 100644
    --- a/java/docs/com/mxgraph/swing/handler/mxSelectionCellsHandler.html
    +++ b/java/docs/com/mxgraph/swing/handler/mxSelectionCellsHandler.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxSelectionCellsHandler (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxSelectionCellsHandler (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxSelectionCellsHandler (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxSelectionCellsHandler (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -774,7 +774,7 @@ implements java.awt.event.MouseListener, java.awt.event.MouseMotionListener</pre
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/handler/mxVertexHandler.html b/java/docs/com/mxgraph/swing/handler/mxVertexHandler.html
    index f9d9b573b..088586608 100644
    --- a/java/docs/com/mxgraph/swing/handler/mxVertexHandler.html
    +++ b/java/docs/com/mxgraph/swing/handler/mxVertexHandler.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxVertexHandler (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxVertexHandler (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxVertexHandler (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxVertexHandler (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -590,7 +590,7 @@ extends <a href="mxCellHandler.html" title="class in com.mxgraph.swing.handler">
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/handler/package-summary.html b/java/docs/com/mxgraph/swing/handler/package-summary.html
    index ec91a4eb4..135a34c1d 100644
    --- a/java/docs/com/mxgraph/swing/handler/package-summary.html
    +++ b/java/docs/com/mxgraph/swing/handler/package-summary.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>com.mxgraph.swing.handler (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>com.mxgraph.swing.handler (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="com.mxgraph.swing.handler (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="com.mxgraph.swing.handler (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -224,7 +224,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/handler/package-tree.html b/java/docs/com/mxgraph/swing/handler/package-tree.html
    index 5aa8a8499..1cf6ad6e7 100644
    --- a/java/docs/com/mxgraph/swing/handler/package-tree.html
    +++ b/java/docs/com/mxgraph/swing/handler/package-tree.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>com.mxgraph.swing.handler Class Hierarchy (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>com.mxgraph.swing.handler Class Hierarchy (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="com.mxgraph.swing.handler Class Hierarchy (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="com.mxgraph.swing.handler Class Hierarchy (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -184,7 +184,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/handler/package-use.html b/java/docs/com/mxgraph/swing/handler/package-use.html
    index dd88351ab..92dcb083d 100644
    --- a/java/docs/com/mxgraph/swing/handler/package-use.html
    +++ b/java/docs/com/mxgraph/swing/handler/package-use.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Package com.mxgraph.swing.handler (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Package com.mxgraph.swing.handler (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Package com.mxgraph.swing.handler (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Package com.mxgraph.swing.handler (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -226,7 +226,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/mxGraphComponent.html b/java/docs/com/mxgraph/swing/mxGraphComponent.html
    index 30a5dc330..38a59be04 100644
    --- a/java/docs/com/mxgraph/swing/mxGraphComponent.html
    +++ b/java/docs/com/mxgraph/swing/mxGraphComponent.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphComponent (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphComponent (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphComponent (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphComponent (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -5121,7 +5121,7 @@ implements java.awt.print.Printable</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/mxGraphComponent.mxGraphControl.html b/java/docs/com/mxgraph/swing/mxGraphComponent.mxGraphControl.html
    index 8cc07d647..7f04091d9 100644
    --- a/java/docs/com/mxgraph/swing/mxGraphComponent.mxGraphControl.html
    +++ b/java/docs/com/mxgraph/swing/mxGraphComponent.mxGraphControl.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphComponent.mxGraphControl (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphComponent.mxGraphControl (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphComponent.mxGraphControl (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphComponent.mxGraphControl (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -712,7 +712,7 @@ extends javax.swing.JComponent</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/mxGraphComponent.mxMouseRedirector.html b/java/docs/com/mxgraph/swing/mxGraphComponent.mxMouseRedirector.html
    index 83b25adf0..cc2b15e4e 100644
    --- a/java/docs/com/mxgraph/swing/mxGraphComponent.mxMouseRedirector.html
    +++ b/java/docs/com/mxgraph/swing/mxGraphComponent.mxMouseRedirector.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphComponent.mxMouseRedirector (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphComponent.mxMouseRedirector (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphComponent.mxMouseRedirector (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphComponent.mxMouseRedirector (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -426,7 +426,7 @@ implements java.awt.event.MouseListener, java.awt.event.MouseMotionListener</pre
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/mxGraphOutline.MouseTracker.html b/java/docs/com/mxgraph/swing/mxGraphOutline.MouseTracker.html
    index 956937260..a52a689e4 100644
    --- a/java/docs/com/mxgraph/swing/mxGraphOutline.MouseTracker.html
    +++ b/java/docs/com/mxgraph/swing/mxGraphOutline.MouseTracker.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphOutline.MouseTracker (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphOutline.MouseTracker (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphOutline.MouseTracker (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphOutline.MouseTracker (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -442,7 +442,7 @@ implements java.awt.event.MouseListener, java.awt.event.MouseMotionListener</pre
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/mxGraphOutline.html b/java/docs/com/mxgraph/swing/mxGraphOutline.html
    index 3a554ce7e..db62df335 100644
    --- a/java/docs/com/mxgraph/swing/mxGraphOutline.html
    +++ b/java/docs/com/mxgraph/swing/mxGraphOutline.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphOutline (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphOutline (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphOutline (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphOutline (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -1161,7 +1161,7 @@ extends javax.swing.JComponent</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/package-summary.html b/java/docs/com/mxgraph/swing/package-summary.html
    index 0d853c3f0..934d77fcc 100644
    --- a/java/docs/com/mxgraph/swing/package-summary.html
    +++ b/java/docs/com/mxgraph/swing/package-summary.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>com.mxgraph.swing (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>com.mxgraph.swing (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="com.mxgraph.swing (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="com.mxgraph.swing (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -157,7 +157,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/package-tree.html b/java/docs/com/mxgraph/swing/package-tree.html
    index 47297c011..09fc2fff2 100644
    --- a/java/docs/com/mxgraph/swing/package-tree.html
    +++ b/java/docs/com/mxgraph/swing/package-tree.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>com.mxgraph.swing Class Hierarchy (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>com.mxgraph.swing Class Hierarchy (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="com.mxgraph.swing Class Hierarchy (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="com.mxgraph.swing Class Hierarchy (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -155,7 +155,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/package-use.html b/java/docs/com/mxgraph/swing/package-use.html
    index 6f5d4b3b8..e10ee35f3 100644
    --- a/java/docs/com/mxgraph/swing/package-use.html
    +++ b/java/docs/com/mxgraph/swing/package-use.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Package com.mxgraph.swing (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Package com.mxgraph.swing (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Package com.mxgraph.swing (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Package com.mxgraph.swing (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -251,7 +251,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/util/class-use/mxAnimation.html b/java/docs/com/mxgraph/swing/util/class-use/mxAnimation.html
    index a9af2bff3..00bd6fd56 100644
    --- a/java/docs/com/mxgraph/swing/util/class-use/mxAnimation.html
    +++ b/java/docs/com/mxgraph/swing/util/class-use/mxAnimation.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.swing.util.mxAnimation (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.swing.util.mxAnimation (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.swing.util.mxAnimation (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.swing.util.mxAnimation (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -169,7 +169,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/util/class-use/mxCellOverlay.html b/java/docs/com/mxgraph/swing/util/class-use/mxCellOverlay.html
    index 867834064..420686cf7 100644
    --- a/java/docs/com/mxgraph/swing/util/class-use/mxCellOverlay.html
    +++ b/java/docs/com/mxgraph/swing/util/class-use/mxCellOverlay.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.swing.util.mxCellOverlay (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.swing.util.mxCellOverlay (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.swing.util.mxCellOverlay (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.swing.util.mxCellOverlay (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/util/class-use/mxGraphActions.DeleteAction.html b/java/docs/com/mxgraph/swing/util/class-use/mxGraphActions.DeleteAction.html
    index ed13cb7b3..57238a46c 100644
    --- a/java/docs/com/mxgraph/swing/util/class-use/mxGraphActions.DeleteAction.html
    +++ b/java/docs/com/mxgraph/swing/util/class-use/mxGraphActions.DeleteAction.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.swing.util.mxGraphActions.DeleteAction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.swing.util.mxGraphActions.DeleteAction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.swing.util.mxGraphActions.DeleteAction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.swing.util.mxGraphActions.DeleteAction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/util/class-use/mxGraphActions.DrillAction.html b/java/docs/com/mxgraph/swing/util/class-use/mxGraphActions.DrillAction.html
    index eb8447a2d..48c11bc64 100644
    --- a/java/docs/com/mxgraph/swing/util/class-use/mxGraphActions.DrillAction.html
    +++ b/java/docs/com/mxgraph/swing/util/class-use/mxGraphActions.DrillAction.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.swing.util.mxGraphActions.DrillAction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.swing.util.mxGraphActions.DrillAction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.swing.util.mxGraphActions.DrillAction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.swing.util.mxGraphActions.DrillAction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/util/class-use/mxGraphActions.EditAction.html b/java/docs/com/mxgraph/swing/util/class-use/mxGraphActions.EditAction.html
    index 0101a2a01..701391a09 100644
    --- a/java/docs/com/mxgraph/swing/util/class-use/mxGraphActions.EditAction.html
    +++ b/java/docs/com/mxgraph/swing/util/class-use/mxGraphActions.EditAction.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.swing.util.mxGraphActions.EditAction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.swing.util.mxGraphActions.EditAction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.swing.util.mxGraphActions.EditAction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.swing.util.mxGraphActions.EditAction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/util/class-use/mxGraphActions.FoldAction.html b/java/docs/com/mxgraph/swing/util/class-use/mxGraphActions.FoldAction.html
    index 219891d25..5ee72b1a7 100644
    --- a/java/docs/com/mxgraph/swing/util/class-use/mxGraphActions.FoldAction.html
    +++ b/java/docs/com/mxgraph/swing/util/class-use/mxGraphActions.FoldAction.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.swing.util.mxGraphActions.FoldAction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.swing.util.mxGraphActions.FoldAction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.swing.util.mxGraphActions.FoldAction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.swing.util.mxGraphActions.FoldAction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/util/class-use/mxGraphActions.GroupAction.html b/java/docs/com/mxgraph/swing/util/class-use/mxGraphActions.GroupAction.html
    index 6583da191..37946a4b3 100644
    --- a/java/docs/com/mxgraph/swing/util/class-use/mxGraphActions.GroupAction.html
    +++ b/java/docs/com/mxgraph/swing/util/class-use/mxGraphActions.GroupAction.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.swing.util.mxGraphActions.GroupAction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.swing.util.mxGraphActions.GroupAction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.swing.util.mxGraphActions.GroupAction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.swing.util.mxGraphActions.GroupAction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/util/class-use/mxGraphActions.LayerAction.html b/java/docs/com/mxgraph/swing/util/class-use/mxGraphActions.LayerAction.html
    index 2da45ae04..8993bcce9 100644
    --- a/java/docs/com/mxgraph/swing/util/class-use/mxGraphActions.LayerAction.html
    +++ b/java/docs/com/mxgraph/swing/util/class-use/mxGraphActions.LayerAction.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.swing.util.mxGraphActions.LayerAction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.swing.util.mxGraphActions.LayerAction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.swing.util.mxGraphActions.LayerAction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.swing.util.mxGraphActions.LayerAction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/util/class-use/mxGraphActions.RemoveFromParentAction.html b/java/docs/com/mxgraph/swing/util/class-use/mxGraphActions.RemoveFromParentAction.html
    index 548e991c3..fb092b699 100644
    --- a/java/docs/com/mxgraph/swing/util/class-use/mxGraphActions.RemoveFromParentAction.html
    +++ b/java/docs/com/mxgraph/swing/util/class-use/mxGraphActions.RemoveFromParentAction.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.swing.util.mxGraphActions.RemoveFromParentAction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.swing.util.mxGraphActions.RemoveFromParentAction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.swing.util.mxGraphActions.RemoveFromParentAction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.swing.util.mxGraphActions.RemoveFromParentAction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/util/class-use/mxGraphActions.SelectAction.html b/java/docs/com/mxgraph/swing/util/class-use/mxGraphActions.SelectAction.html
    index 9d77b7c1f..445117cce 100644
    --- a/java/docs/com/mxgraph/swing/util/class-use/mxGraphActions.SelectAction.html
    +++ b/java/docs/com/mxgraph/swing/util/class-use/mxGraphActions.SelectAction.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.swing.util.mxGraphActions.SelectAction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.swing.util.mxGraphActions.SelectAction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.swing.util.mxGraphActions.SelectAction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.swing.util.mxGraphActions.SelectAction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/util/class-use/mxGraphActions.UngroupAction.html b/java/docs/com/mxgraph/swing/util/class-use/mxGraphActions.UngroupAction.html
    index a8168ae68..08a2b4df9 100644
    --- a/java/docs/com/mxgraph/swing/util/class-use/mxGraphActions.UngroupAction.html
    +++ b/java/docs/com/mxgraph/swing/util/class-use/mxGraphActions.UngroupAction.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.swing.util.mxGraphActions.UngroupAction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.swing.util.mxGraphActions.UngroupAction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.swing.util.mxGraphActions.UngroupAction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.swing.util.mxGraphActions.UngroupAction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/util/class-use/mxGraphActions.UpdateGroupBoundsAction.html b/java/docs/com/mxgraph/swing/util/class-use/mxGraphActions.UpdateGroupBoundsAction.html
    index eedb8684b..0cfe1d2f0 100644
    --- a/java/docs/com/mxgraph/swing/util/class-use/mxGraphActions.UpdateGroupBoundsAction.html
    +++ b/java/docs/com/mxgraph/swing/util/class-use/mxGraphActions.UpdateGroupBoundsAction.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.swing.util.mxGraphActions.UpdateGroupBoundsAction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.swing.util.mxGraphActions.UpdateGroupBoundsAction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.swing.util.mxGraphActions.UpdateGroupBoundsAction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.swing.util.mxGraphActions.UpdateGroupBoundsAction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/util/class-use/mxGraphActions.ZoomAction.html b/java/docs/com/mxgraph/swing/util/class-use/mxGraphActions.ZoomAction.html
    index 4fef27847..ef93f1c90 100644
    --- a/java/docs/com/mxgraph/swing/util/class-use/mxGraphActions.ZoomAction.html
    +++ b/java/docs/com/mxgraph/swing/util/class-use/mxGraphActions.ZoomAction.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.swing.util.mxGraphActions.ZoomAction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.swing.util.mxGraphActions.ZoomAction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.swing.util.mxGraphActions.ZoomAction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.swing.util.mxGraphActions.ZoomAction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/util/class-use/mxGraphActions.html b/java/docs/com/mxgraph/swing/util/class-use/mxGraphActions.html
    index a3b428597..c4871fc64 100644
    --- a/java/docs/com/mxgraph/swing/util/class-use/mxGraphActions.html
    +++ b/java/docs/com/mxgraph/swing/util/class-use/mxGraphActions.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.swing.util.mxGraphActions (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.swing.util.mxGraphActions (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.swing.util.mxGraphActions (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.swing.util.mxGraphActions (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/util/class-use/mxGraphTransferable.html b/java/docs/com/mxgraph/swing/util/class-use/mxGraphTransferable.html
    index 928ee9975..c6a0db011 100644
    --- a/java/docs/com/mxgraph/swing/util/class-use/mxGraphTransferable.html
    +++ b/java/docs/com/mxgraph/swing/util/class-use/mxGraphTransferable.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.swing.util.mxGraphTransferable (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.swing.util.mxGraphTransferable (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.swing.util.mxGraphTransferable (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.swing.util.mxGraphTransferable (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -216,7 +216,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/util/class-use/mxICellOverlay.html b/java/docs/com/mxgraph/swing/util/class-use/mxICellOverlay.html
    index fbe9a5a55..306578d5d 100644
    --- a/java/docs/com/mxgraph/swing/util/class-use/mxICellOverlay.html
    +++ b/java/docs/com/mxgraph/swing/util/class-use/mxICellOverlay.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Interface com.mxgraph.swing.util.mxICellOverlay (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Interface com.mxgraph.swing.util.mxICellOverlay (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Interface com.mxgraph.swing.util.mxICellOverlay (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Interface com.mxgraph.swing.util.mxICellOverlay (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -294,7 +294,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/util/class-use/mxMorphing.html b/java/docs/com/mxgraph/swing/util/class-use/mxMorphing.html
    index ca180e6a6..33ea14a12 100644
    --- a/java/docs/com/mxgraph/swing/util/class-use/mxMorphing.html
    +++ b/java/docs/com/mxgraph/swing/util/class-use/mxMorphing.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.swing.util.mxMorphing (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.swing.util.mxMorphing (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.swing.util.mxMorphing (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.swing.util.mxMorphing (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/util/class-use/mxMouseAdapter.html b/java/docs/com/mxgraph/swing/util/class-use/mxMouseAdapter.html
    index edca9a51f..5b22d2fd4 100644
    --- a/java/docs/com/mxgraph/swing/util/class-use/mxMouseAdapter.html
    +++ b/java/docs/com/mxgraph/swing/util/class-use/mxMouseAdapter.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.swing.util.mxMouseAdapter (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.swing.util.mxMouseAdapter (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.swing.util.mxMouseAdapter (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.swing.util.mxMouseAdapter (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -191,7 +191,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/util/class-use/mxSwingConstants.html b/java/docs/com/mxgraph/swing/util/class-use/mxSwingConstants.html
    index 71c22efe6..982c4144e 100644
    --- a/java/docs/com/mxgraph/swing/util/class-use/mxSwingConstants.html
    +++ b/java/docs/com/mxgraph/swing/util/class-use/mxSwingConstants.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.swing.util.mxSwingConstants (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.swing.util.mxSwingConstants (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.swing.util.mxSwingConstants (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.swing.util.mxSwingConstants (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/util/mxAnimation.html b/java/docs/com/mxgraph/swing/util/mxAnimation.html
    index 638614a20..7b00684a7 100644
    --- a/java/docs/com/mxgraph/swing/util/mxAnimation.html
    +++ b/java/docs/com/mxgraph/swing/util/mxAnimation.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxAnimation (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxAnimation (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxAnimation (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxAnimation (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -494,7 +494,7 @@ extends <a href="../../util/mxEventSource.html" title="class in com.mxgraph.util
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/util/mxCellOverlay.html b/java/docs/com/mxgraph/swing/util/mxCellOverlay.html
    index 7e89dc5f9..377ba71e2 100644
    --- a/java/docs/com/mxgraph/swing/util/mxCellOverlay.html
    +++ b/java/docs/com/mxgraph/swing/util/mxCellOverlay.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxCellOverlay (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxCellOverlay (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxCellOverlay (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxCellOverlay (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -557,7 +557,7 @@ implements <a href="mxICellOverlay.html" title="interface in com.mxgraph.swing.u
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/util/mxGraphActions.DeleteAction.html b/java/docs/com/mxgraph/swing/util/mxGraphActions.DeleteAction.html
    index 2d999e18e..41c9cd0ed 100644
    --- a/java/docs/com/mxgraph/swing/util/mxGraphActions.DeleteAction.html
    +++ b/java/docs/com/mxgraph/swing/util/mxGraphActions.DeleteAction.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphActions.DeleteAction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphActions.DeleteAction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphActions.DeleteAction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphActions.DeleteAction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -322,7 +322,7 @@ extends javax.swing.AbstractAction</pre>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/util/mxGraphActions.DrillAction.html b/java/docs/com/mxgraph/swing/util/mxGraphActions.DrillAction.html
    index 488a3cefb..b856616a0 100644
    --- a/java/docs/com/mxgraph/swing/util/mxGraphActions.DrillAction.html
    +++ b/java/docs/com/mxgraph/swing/util/mxGraphActions.DrillAction.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphActions.DrillAction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphActions.DrillAction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphActions.DrillAction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphActions.DrillAction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -322,7 +322,7 @@ extends javax.swing.AbstractAction</pre>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/util/mxGraphActions.EditAction.html b/java/docs/com/mxgraph/swing/util/mxGraphActions.EditAction.html
    index c6d4e844d..9950931e8 100644
    --- a/java/docs/com/mxgraph/swing/util/mxGraphActions.EditAction.html
    +++ b/java/docs/com/mxgraph/swing/util/mxGraphActions.EditAction.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphActions.EditAction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphActions.EditAction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphActions.EditAction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphActions.EditAction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -322,7 +322,7 @@ extends javax.swing.AbstractAction</pre>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/util/mxGraphActions.FoldAction.html b/java/docs/com/mxgraph/swing/util/mxGraphActions.FoldAction.html
    index 80b75d337..7735dc59e 100644
    --- a/java/docs/com/mxgraph/swing/util/mxGraphActions.FoldAction.html
    +++ b/java/docs/com/mxgraph/swing/util/mxGraphActions.FoldAction.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphActions.FoldAction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphActions.FoldAction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphActions.FoldAction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphActions.FoldAction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -322,7 +322,7 @@ extends javax.swing.AbstractAction</pre>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/util/mxGraphActions.GroupAction.html b/java/docs/com/mxgraph/swing/util/mxGraphActions.GroupAction.html
    index 73118b8f1..4ae0138ac 100644
    --- a/java/docs/com/mxgraph/swing/util/mxGraphActions.GroupAction.html
    +++ b/java/docs/com/mxgraph/swing/util/mxGraphActions.GroupAction.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphActions.GroupAction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphActions.GroupAction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphActions.GroupAction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphActions.GroupAction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -336,7 +336,7 @@ extends javax.swing.AbstractAction</pre>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/util/mxGraphActions.LayerAction.html b/java/docs/com/mxgraph/swing/util/mxGraphActions.LayerAction.html
    index bde560d07..55c62f718 100644
    --- a/java/docs/com/mxgraph/swing/util/mxGraphActions.LayerAction.html
    +++ b/java/docs/com/mxgraph/swing/util/mxGraphActions.LayerAction.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphActions.LayerAction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphActions.LayerAction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphActions.LayerAction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphActions.LayerAction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -322,7 +322,7 @@ extends javax.swing.AbstractAction</pre>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/util/mxGraphActions.RemoveFromParentAction.html b/java/docs/com/mxgraph/swing/util/mxGraphActions.RemoveFromParentAction.html
    index 1921f9c3f..0f11901c1 100644
    --- a/java/docs/com/mxgraph/swing/util/mxGraphActions.RemoveFromParentAction.html
    +++ b/java/docs/com/mxgraph/swing/util/mxGraphActions.RemoveFromParentAction.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphActions.RemoveFromParentAction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphActions.RemoveFromParentAction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphActions.RemoveFromParentAction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphActions.RemoveFromParentAction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -322,7 +322,7 @@ extends javax.swing.AbstractAction</pre>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/util/mxGraphActions.SelectAction.html b/java/docs/com/mxgraph/swing/util/mxGraphActions.SelectAction.html
    index d91c2cde7..860afb5e4 100644
    --- a/java/docs/com/mxgraph/swing/util/mxGraphActions.SelectAction.html
    +++ b/java/docs/com/mxgraph/swing/util/mxGraphActions.SelectAction.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphActions.SelectAction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphActions.SelectAction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphActions.SelectAction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphActions.SelectAction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -322,7 +322,7 @@ extends javax.swing.AbstractAction</pre>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/util/mxGraphActions.UngroupAction.html b/java/docs/com/mxgraph/swing/util/mxGraphActions.UngroupAction.html
    index b12d6f656..b876600af 100644
    --- a/java/docs/com/mxgraph/swing/util/mxGraphActions.UngroupAction.html
    +++ b/java/docs/com/mxgraph/swing/util/mxGraphActions.UngroupAction.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphActions.UngroupAction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphActions.UngroupAction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphActions.UngroupAction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphActions.UngroupAction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -322,7 +322,7 @@ extends javax.swing.AbstractAction</pre>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/util/mxGraphActions.UpdateGroupBoundsAction.html b/java/docs/com/mxgraph/swing/util/mxGraphActions.UpdateGroupBoundsAction.html
    index 93df854eb..82b57ae11 100644
    --- a/java/docs/com/mxgraph/swing/util/mxGraphActions.UpdateGroupBoundsAction.html
    +++ b/java/docs/com/mxgraph/swing/util/mxGraphActions.UpdateGroupBoundsAction.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphActions.UpdateGroupBoundsAction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphActions.UpdateGroupBoundsAction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphActions.UpdateGroupBoundsAction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphActions.UpdateGroupBoundsAction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -336,7 +336,7 @@ extends javax.swing.AbstractAction</pre>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/util/mxGraphActions.ZoomAction.html b/java/docs/com/mxgraph/swing/util/mxGraphActions.ZoomAction.html
    index a312be1bd..b9a30f75b 100644
    --- a/java/docs/com/mxgraph/swing/util/mxGraphActions.ZoomAction.html
    +++ b/java/docs/com/mxgraph/swing/util/mxGraphActions.ZoomAction.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphActions.ZoomAction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphActions.ZoomAction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphActions.ZoomAction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphActions.ZoomAction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -322,7 +322,7 @@ extends javax.swing.AbstractAction</pre>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/util/mxGraphActions.html b/java/docs/com/mxgraph/swing/util/mxGraphActions.html
    index 87bb392cc..2e756d510 100644
    --- a/java/docs/com/mxgraph/swing/util/mxGraphActions.html
    +++ b/java/docs/com/mxgraph/swing/util/mxGraphActions.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphActions (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphActions (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphActions (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphActions (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -774,7 +774,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/util/mxGraphTransferable.html b/java/docs/com/mxgraph/swing/util/mxGraphTransferable.html
    index 516335227..40f74e218 100644
    --- a/java/docs/com/mxgraph/swing/util/mxGraphTransferable.html
    +++ b/java/docs/com/mxgraph/swing/util/mxGraphTransferable.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphTransferable (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphTransferable (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphTransferable (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphTransferable (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -772,7 +772,7 @@ implements java.awt.datatransfer.Transferable, javax.swing.plaf.UIResource, java
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/util/mxICellOverlay.html b/java/docs/com/mxgraph/swing/util/mxICellOverlay.html
    index b56229c0b..4cb933d0d 100644
    --- a/java/docs/com/mxgraph/swing/util/mxICellOverlay.html
    +++ b/java/docs/com/mxgraph/swing/util/mxICellOverlay.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxICellOverlay (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxICellOverlay (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxICellOverlay (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxICellOverlay (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -211,7 +211,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/util/mxMorphing.html b/java/docs/com/mxgraph/swing/util/mxMorphing.html
    index a89bf9c9b..6d34bdc42 100644
    --- a/java/docs/com/mxgraph/swing/util/mxMorphing.html
    +++ b/java/docs/com/mxgraph/swing/util/mxMorphing.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxMorphing (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxMorphing (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxMorphing (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxMorphing (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -729,7 +729,7 @@ extends <a href="mxAnimation.html" title="class in com.mxgraph.swing.util">mxAni
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/util/mxMouseAdapter.html b/java/docs/com/mxgraph/swing/util/mxMouseAdapter.html
    index dad4b01e7..1dbb16ba4 100644
    --- a/java/docs/com/mxgraph/swing/util/mxMouseAdapter.html
    +++ b/java/docs/com/mxgraph/swing/util/mxMouseAdapter.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxMouseAdapter (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxMouseAdapter (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxMouseAdapter (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxMouseAdapter (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -384,7 +384,7 @@ implements java.awt.event.MouseMotionListener, java.awt.event.MouseListener</pre
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/util/mxSwingConstants.html b/java/docs/com/mxgraph/swing/util/mxSwingConstants.html
    index 96f677aca..114e2d62b 100644
    --- a/java/docs/com/mxgraph/swing/util/mxSwingConstants.html
    +++ b/java/docs/com/mxgraph/swing/util/mxSwingConstants.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxSwingConstants (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxSwingConstants (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxSwingConstants (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxSwingConstants (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -548,7 +548,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/util/package-summary.html b/java/docs/com/mxgraph/swing/util/package-summary.html
    index e53f1691d..31b603580 100644
    --- a/java/docs/com/mxgraph/swing/util/package-summary.html
    +++ b/java/docs/com/mxgraph/swing/util/package-summary.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>com.mxgraph.swing.util (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>com.mxgraph.swing.util (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="com.mxgraph.swing.util (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="com.mxgraph.swing.util (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -231,7 +231,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/util/package-tree.html b/java/docs/com/mxgraph/swing/util/package-tree.html
    index 6c637e6b8..41578aacf 100644
    --- a/java/docs/com/mxgraph/swing/util/package-tree.html
    +++ b/java/docs/com/mxgraph/swing/util/package-tree.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>com.mxgraph.swing.util Class Hierarchy (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>com.mxgraph.swing.util Class Hierarchy (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="com.mxgraph.swing.util Class Hierarchy (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="com.mxgraph.swing.util Class Hierarchy (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -181,7 +181,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/util/package-use.html b/java/docs/com/mxgraph/swing/util/package-use.html
    index 9ca7bb71f..79f0179e8 100644
    --- a/java/docs/com/mxgraph/swing/util/package-use.html
    +++ b/java/docs/com/mxgraph/swing/util/package-use.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Package com.mxgraph.swing.util (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Package com.mxgraph.swing.util (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Package com.mxgraph.swing.util (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Package com.mxgraph.swing.util (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -216,7 +216,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/view/class-use/mxCellEditor.html b/java/docs/com/mxgraph/swing/view/class-use/mxCellEditor.html
    index b110d76f9..a089d09b3 100644
    --- a/java/docs/com/mxgraph/swing/view/class-use/mxCellEditor.html
    +++ b/java/docs/com/mxgraph/swing/view/class-use/mxCellEditor.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.swing.view.mxCellEditor (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.swing.view.mxCellEditor (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.swing.view.mxCellEditor (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.swing.view.mxCellEditor (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/view/class-use/mxCellStatePreview.html b/java/docs/com/mxgraph/swing/view/class-use/mxCellStatePreview.html
    index d85011603..ea9dd2a1d 100644
    --- a/java/docs/com/mxgraph/swing/view/class-use/mxCellStatePreview.html
    +++ b/java/docs/com/mxgraph/swing/view/class-use/mxCellStatePreview.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.swing.view.mxCellStatePreview (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.swing.view.mxCellStatePreview (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.swing.view.mxCellStatePreview (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.swing.view.mxCellStatePreview (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -237,7 +237,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/view/class-use/mxICellEditor.html b/java/docs/com/mxgraph/swing/view/class-use/mxICellEditor.html
    index 86cafaa82..b568d0eca 100644
    --- a/java/docs/com/mxgraph/swing/view/class-use/mxICellEditor.html
    +++ b/java/docs/com/mxgraph/swing/view/class-use/mxICellEditor.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Interface com.mxgraph.swing.view.mxICellEditor (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Interface com.mxgraph.swing.view.mxICellEditor (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Interface com.mxgraph.swing.view.mxICellEditor (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Interface com.mxgraph.swing.view.mxICellEditor (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -234,7 +234,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/view/class-use/mxInteractiveCanvas.html b/java/docs/com/mxgraph/swing/view/class-use/mxInteractiveCanvas.html
    index 0423cee11..6e71a7558 100644
    --- a/java/docs/com/mxgraph/swing/view/class-use/mxInteractiveCanvas.html
    +++ b/java/docs/com/mxgraph/swing/view/class-use/mxInteractiveCanvas.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.swing.view.mxInteractiveCanvas (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.swing.view.mxInteractiveCanvas (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.swing.view.mxInteractiveCanvas (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.swing.view.mxInteractiveCanvas (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -190,7 +190,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/view/mxCellEditor.html b/java/docs/com/mxgraph/swing/view/mxCellEditor.html
    index 4f2298567..1db8bb5ae 100644
    --- a/java/docs/com/mxgraph/swing/view/mxCellEditor.html
    +++ b/java/docs/com/mxgraph/swing/view/mxCellEditor.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxCellEditor (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxCellEditor (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxCellEditor (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxCellEditor (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -950,7 +950,7 @@ implements <a href="mxICellEditor.html" title="interface in com.mxgraph.swing.vi
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/view/mxCellStatePreview.html b/java/docs/com/mxgraph/swing/view/mxCellStatePreview.html
    index ab99dd726..57387e28b 100644
    --- a/java/docs/com/mxgraph/swing/view/mxCellStatePreview.html
    +++ b/java/docs/com/mxgraph/swing/view/mxCellStatePreview.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxCellStatePreview (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxCellStatePreview (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxCellStatePreview (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxCellStatePreview (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -688,7 +688,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/view/mxICellEditor.html b/java/docs/com/mxgraph/swing/view/mxICellEditor.html
    index 06e43efa8..d9fb52488 100644
    --- a/java/docs/com/mxgraph/swing/view/mxICellEditor.html
    +++ b/java/docs/com/mxgraph/swing/view/mxICellEditor.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxICellEditor (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxICellEditor (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxICellEditor (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxICellEditor (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -250,7 +250,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/view/mxInteractiveCanvas.html b/java/docs/com/mxgraph/swing/view/mxInteractiveCanvas.html
    index 6f4e08501..6915a040d 100644
    --- a/java/docs/com/mxgraph/swing/view/mxInteractiveCanvas.html
    +++ b/java/docs/com/mxgraph/swing/view/mxInteractiveCanvas.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxInteractiveCanvas (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxInteractiveCanvas (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxInteractiveCanvas (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxInteractiveCanvas (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -483,7 +483,7 @@ extends <a href="../../canvas/mxGraphics2DCanvas.html" title="class in com.mxgra
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/view/package-summary.html b/java/docs/com/mxgraph/swing/view/package-summary.html
    index eb0feb988..8471a1736 100644
    --- a/java/docs/com/mxgraph/swing/view/package-summary.html
    +++ b/java/docs/com/mxgraph/swing/view/package-summary.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>com.mxgraph.swing.view (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>com.mxgraph.swing.view (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="com.mxgraph.swing.view (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="com.mxgraph.swing.view (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -172,7 +172,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/view/package-tree.html b/java/docs/com/mxgraph/swing/view/package-tree.html
    index 04a283516..202145fe0 100644
    --- a/java/docs/com/mxgraph/swing/view/package-tree.html
    +++ b/java/docs/com/mxgraph/swing/view/package-tree.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>com.mxgraph.swing.view Class Hierarchy (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>com.mxgraph.swing.view Class Hierarchy (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="com.mxgraph.swing.view Class Hierarchy (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="com.mxgraph.swing.view Class Hierarchy (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -151,7 +151,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/swing/view/package-use.html b/java/docs/com/mxgraph/swing/view/package-use.html
    index 357fe2296..166403c82 100644
    --- a/java/docs/com/mxgraph/swing/view/package-use.html
    +++ b/java/docs/com/mxgraph/swing/view/package-use.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Package com.mxgraph.swing.view (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Package com.mxgraph.swing.view (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Package com.mxgraph.swing.view (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Package com.mxgraph.swing.view (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -239,7 +239,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/class-use/mxBase64.html b/java/docs/com/mxgraph/util/class-use/mxBase64.html
    index 8a963a2c2..4725914c1 100644
    --- a/java/docs/com/mxgraph/util/class-use/mxBase64.html
    +++ b/java/docs/com/mxgraph/util/class-use/mxBase64.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.util.mxBase64 (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.util.mxBase64 (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.util.mxBase64 (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.util.mxBase64 (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/class-use/mxCellRenderer.CanvasFactory.html b/java/docs/com/mxgraph/util/class-use/mxCellRenderer.CanvasFactory.html
    index 3ba8b5e4a..f554ebb16 100644
    --- a/java/docs/com/mxgraph/util/class-use/mxCellRenderer.CanvasFactory.html
    +++ b/java/docs/com/mxgraph/util/class-use/mxCellRenderer.CanvasFactory.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.util.mxCellRenderer.CanvasFactory (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.util.mxCellRenderer.CanvasFactory (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.util.mxCellRenderer.CanvasFactory (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.util.mxCellRenderer.CanvasFactory (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -175,7 +175,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/class-use/mxCellRenderer.html b/java/docs/com/mxgraph/util/class-use/mxCellRenderer.html
    index 7d0be07a5..1dfb912c7 100644
    --- a/java/docs/com/mxgraph/util/class-use/mxCellRenderer.html
    +++ b/java/docs/com/mxgraph/util/class-use/mxCellRenderer.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.util.mxCellRenderer (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.util.mxCellRenderer (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.util.mxCellRenderer (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.util.mxCellRenderer (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/class-use/mxConstants.html b/java/docs/com/mxgraph/util/class-use/mxConstants.html
    index 82eeeecf3..f1aaa266a 100644
    --- a/java/docs/com/mxgraph/util/class-use/mxConstants.html
    +++ b/java/docs/com/mxgraph/util/class-use/mxConstants.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.util.mxConstants (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.util.mxConstants (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.util.mxConstants (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.util.mxConstants (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/class-use/mxCurve.html b/java/docs/com/mxgraph/util/class-use/mxCurve.html
    index ecc589daa..eb54bf44a 100644
    --- a/java/docs/com/mxgraph/util/class-use/mxCurve.html
    +++ b/java/docs/com/mxgraph/util/class-use/mxCurve.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.util.mxCurve (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.util.mxCurve (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.util.mxCurve (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.util.mxCurve (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -239,7 +239,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/class-use/mxDomUtils.html b/java/docs/com/mxgraph/util/class-use/mxDomUtils.html
    index ea00ed1a7..a556f72bb 100644
    --- a/java/docs/com/mxgraph/util/class-use/mxDomUtils.html
    +++ b/java/docs/com/mxgraph/util/class-use/mxDomUtils.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.util.mxDomUtils (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.util.mxDomUtils (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.util.mxDomUtils (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.util.mxDomUtils (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/class-use/mxEvent.html b/java/docs/com/mxgraph/util/class-use/mxEvent.html
    index 6afcf011d..67f5a78f7 100644
    --- a/java/docs/com/mxgraph/util/class-use/mxEvent.html
    +++ b/java/docs/com/mxgraph/util/class-use/mxEvent.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.util.mxEvent (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.util.mxEvent (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.util.mxEvent (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.util.mxEvent (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/class-use/mxEventObject.html b/java/docs/com/mxgraph/util/class-use/mxEventObject.html
    index b122c5e00..ee20ae0c2 100644
    --- a/java/docs/com/mxgraph/util/class-use/mxEventObject.html
    +++ b/java/docs/com/mxgraph/util/class-use/mxEventObject.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.util.mxEventObject (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.util.mxEventObject (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.util.mxEventObject (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.util.mxEventObject (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -187,7 +187,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/class-use/mxEventSource.html b/java/docs/com/mxgraph/util/class-use/mxEventSource.html
    index ac7d66e8e..f29233a8c 100644
    --- a/java/docs/com/mxgraph/util/class-use/mxEventSource.html
    +++ b/java/docs/com/mxgraph/util/class-use/mxEventSource.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.util.mxEventSource (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.util.mxEventSource (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.util.mxEventSource (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.util.mxEventSource (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -397,7 +397,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/class-use/mxEventSource.mxIEventListener.html b/java/docs/com/mxgraph/util/class-use/mxEventSource.mxIEventListener.html
    index 3081eb220..f236bb04c 100644
    --- a/java/docs/com/mxgraph/util/class-use/mxEventSource.mxIEventListener.html
    +++ b/java/docs/com/mxgraph/util/class-use/mxEventSource.mxIEventListener.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Interface com.mxgraph.util.mxEventSource.mxIEventListener (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Interface com.mxgraph.util.mxEventSource.mxIEventListener (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Interface com.mxgraph.util.mxEventSource.mxIEventListener (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Interface com.mxgraph.util.mxEventSource.mxIEventListener (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -487,7 +487,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/class-use/mxHtmlColor.html b/java/docs/com/mxgraph/util/class-use/mxHtmlColor.html
    index ddd65d6c8..2f5a52f68 100644
    --- a/java/docs/com/mxgraph/util/class-use/mxHtmlColor.html
    +++ b/java/docs/com/mxgraph/util/class-use/mxHtmlColor.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.util.mxHtmlColor (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.util.mxHtmlColor (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.util.mxHtmlColor (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.util.mxHtmlColor (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/class-use/mxImage.html b/java/docs/com/mxgraph/util/class-use/mxImage.html
    index af45799a9..a4fd5d17b 100644
    --- a/java/docs/com/mxgraph/util/class-use/mxImage.html
    +++ b/java/docs/com/mxgraph/util/class-use/mxImage.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.util.mxImage (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.util.mxImage (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.util.mxImage (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.util.mxImage (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/class-use/mxImageBundle.html b/java/docs/com/mxgraph/util/class-use/mxImageBundle.html
    index a4d69c9d4..70cc35d30 100644
    --- a/java/docs/com/mxgraph/util/class-use/mxImageBundle.html
    +++ b/java/docs/com/mxgraph/util/class-use/mxImageBundle.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.util.mxImageBundle (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.util.mxImageBundle (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.util.mxImageBundle (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.util.mxImageBundle (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -227,7 +227,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/class-use/mxLightweightLabel.html b/java/docs/com/mxgraph/util/class-use/mxLightweightLabel.html
    index 711c032ca..932d6af22 100644
    --- a/java/docs/com/mxgraph/util/class-use/mxLightweightLabel.html
    +++ b/java/docs/com/mxgraph/util/class-use/mxLightweightLabel.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.util.mxLightweightLabel (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.util.mxLightweightLabel (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.util.mxLightweightLabel (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.util.mxLightweightLabel (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -183,7 +183,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/class-use/mxLine.html b/java/docs/com/mxgraph/util/class-use/mxLine.html
    index 83e01ce94..1e5bc32e9 100644
    --- a/java/docs/com/mxgraph/util/class-use/mxLine.html
    +++ b/java/docs/com/mxgraph/util/class-use/mxLine.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.util.mxLine (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.util.mxLine (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.util.mxLine (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.util.mxLine (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -250,7 +250,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/class-use/mxPoint.html b/java/docs/com/mxgraph/util/class-use/mxPoint.html
    index d8553c66f..222bfccb0 100644
    --- a/java/docs/com/mxgraph/util/class-use/mxPoint.html
    +++ b/java/docs/com/mxgraph/util/class-use/mxPoint.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.util.mxPoint (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.util.mxPoint (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.util.mxPoint (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.util.mxPoint (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -1840,7 +1840,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/class-use/mxRectangle.html b/java/docs/com/mxgraph/util/class-use/mxRectangle.html
    index 749331d97..1dc8220b5 100644
    --- a/java/docs/com/mxgraph/util/class-use/mxRectangle.html
    +++ b/java/docs/com/mxgraph/util/class-use/mxRectangle.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.util.mxRectangle (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.util.mxRectangle (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.util.mxRectangle (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.util.mxRectangle (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -1640,7 +1640,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/class-use/mxResources.html b/java/docs/com/mxgraph/util/class-use/mxResources.html
    index e1e664de7..a6881c552 100644
    --- a/java/docs/com/mxgraph/util/class-use/mxResources.html
    +++ b/java/docs/com/mxgraph/util/class-use/mxResources.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.util.mxResources (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.util.mxResources (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.util.mxResources (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.util.mxResources (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/class-use/mxSpline.html b/java/docs/com/mxgraph/util/class-use/mxSpline.html
    index 85ab1acce..4c8082f95 100644
    --- a/java/docs/com/mxgraph/util/class-use/mxSpline.html
    +++ b/java/docs/com/mxgraph/util/class-use/mxSpline.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.util.mxSpline (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.util.mxSpline (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.util.mxSpline (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.util.mxSpline (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/class-use/mxSpline1D.html b/java/docs/com/mxgraph/util/class-use/mxSpline1D.html
    index 271e9050f..951b5ce96 100644
    --- a/java/docs/com/mxgraph/util/class-use/mxSpline1D.html
    +++ b/java/docs/com/mxgraph/util/class-use/mxSpline1D.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.util.mxSpline1D (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.util.mxSpline1D (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.util.mxSpline1D (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.util.mxSpline1D (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -173,7 +173,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/class-use/mxStyleUtils.html b/java/docs/com/mxgraph/util/class-use/mxStyleUtils.html
    index 757de55b7..e8fe86022 100644
    --- a/java/docs/com/mxgraph/util/class-use/mxStyleUtils.html
    +++ b/java/docs/com/mxgraph/util/class-use/mxStyleUtils.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.util.mxStyleUtils (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.util.mxStyleUtils (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.util.mxStyleUtils (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.util.mxStyleUtils (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/class-use/mxUndoManager.html b/java/docs/com/mxgraph/util/class-use/mxUndoManager.html
    index 9b8578d9f..2571d16ec 100644
    --- a/java/docs/com/mxgraph/util/class-use/mxUndoManager.html
    +++ b/java/docs/com/mxgraph/util/class-use/mxUndoManager.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.util.mxUndoManager (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.util.mxUndoManager (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.util.mxUndoManager (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.util.mxUndoManager (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/class-use/mxUndoableEdit.html b/java/docs/com/mxgraph/util/class-use/mxUndoableEdit.html
    index a46b7bb96..30c2f2938 100644
    --- a/java/docs/com/mxgraph/util/class-use/mxUndoableEdit.html
    +++ b/java/docs/com/mxgraph/util/class-use/mxUndoableEdit.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.util.mxUndoableEdit (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.util.mxUndoableEdit (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.util.mxUndoableEdit (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.util.mxUndoableEdit (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -263,7 +263,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/class-use/mxUndoableEdit.mxUndoableChange.html b/java/docs/com/mxgraph/util/class-use/mxUndoableEdit.mxUndoableChange.html
    index d896ed1b1..b9d4f9e7a 100644
    --- a/java/docs/com/mxgraph/util/class-use/mxUndoableEdit.mxUndoableChange.html
    +++ b/java/docs/com/mxgraph/util/class-use/mxUndoableEdit.mxUndoableChange.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Interface com.mxgraph.util.mxUndoableEdit.mxUndoableChange (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Interface com.mxgraph.util.mxUndoableEdit.mxUndoableChange (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Interface com.mxgraph.util.mxUndoableEdit.mxUndoableChange (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Interface com.mxgraph.util.mxUndoableEdit.mxUndoableChange (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -373,7 +373,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/class-use/mxUtils.html b/java/docs/com/mxgraph/util/class-use/mxUtils.html
    index 74dab2e71..20b10492e 100644
    --- a/java/docs/com/mxgraph/util/class-use/mxUtils.html
    +++ b/java/docs/com/mxgraph/util/class-use/mxUtils.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.util.mxUtils (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.util.mxUtils (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.util.mxUtils (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.util.mxUtils (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/class-use/mxXmlUtils.html b/java/docs/com/mxgraph/util/class-use/mxXmlUtils.html
    index 8de59ffc9..e90ef8102 100644
    --- a/java/docs/com/mxgraph/util/class-use/mxXmlUtils.html
    +++ b/java/docs/com/mxgraph/util/class-use/mxXmlUtils.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.util.mxXmlUtils (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.util.mxXmlUtils (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.util.mxXmlUtils (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.util.mxXmlUtils (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/mxBase64.html b/java/docs/com/mxgraph/util/mxBase64.html
    index 3170dd0fb..aebc99465 100644
    --- a/java/docs/com/mxgraph/util/mxBase64.html
    +++ b/java/docs/com/mxgraph/util/mxBase64.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxBase64 (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxBase64 (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxBase64 (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxBase64 (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -555,7 +555,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/mxCellRenderer.CanvasFactory.html b/java/docs/com/mxgraph/util/mxCellRenderer.CanvasFactory.html
    index 383bf65ce..9f1c0ced9 100644
    --- a/java/docs/com/mxgraph/util/mxCellRenderer.CanvasFactory.html
    +++ b/java/docs/com/mxgraph/util/mxCellRenderer.CanvasFactory.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxCellRenderer.CanvasFactory (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxCellRenderer.CanvasFactory (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxCellRenderer.CanvasFactory (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxCellRenderer.CanvasFactory (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -274,7 +274,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/mxCellRenderer.html b/java/docs/com/mxgraph/util/mxCellRenderer.html
    index aed7b3027..e8d5f4162 100644
    --- a/java/docs/com/mxgraph/util/mxCellRenderer.html
    +++ b/java/docs/com/mxgraph/util/mxCellRenderer.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxCellRenderer (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxCellRenderer (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxCellRenderer (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxCellRenderer (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -381,7 +381,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/mxConstants.html b/java/docs/com/mxgraph/util/mxConstants.html
    index ebced3ec3..e07e6d67a 100644
    --- a/java/docs/com/mxgraph/util/mxConstants.html
    +++ b/java/docs/com/mxgraph/util/mxConstants.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxConstants (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxConstants (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxConstants (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxConstants (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -4050,7 +4050,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/mxCurve.html b/java/docs/com/mxgraph/util/mxCurve.html
    index acdd1f743..eb6434823 100644
    --- a/java/docs/com/mxgraph/util/mxCurve.html
    +++ b/java/docs/com/mxgraph/util/mxCurve.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxCurve (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxCurve (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxCurve (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxCurve (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -1101,7 +1101,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/mxDomUtils.html b/java/docs/com/mxgraph/util/mxDomUtils.html
    index 694860428..4d5b05e74 100644
    --- a/java/docs/com/mxgraph/util/mxDomUtils.html
    +++ b/java/docs/com/mxgraph/util/mxDomUtils.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxDomUtils (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxDomUtils (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxDomUtils (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxDomUtils (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -321,7 +321,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/mxEvent.html b/java/docs/com/mxgraph/util/mxEvent.html
    index ecfb1204b..21b4c1ba0 100644
    --- a/java/docs/com/mxgraph/util/mxEvent.html
    +++ b/java/docs/com/mxgraph/util/mxEvent.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxEvent (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxEvent (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxEvent (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxEvent (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -1305,7 +1305,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/mxEventObject.html b/java/docs/com/mxgraph/util/mxEventObject.html
    index 257116f71..81da0db0b 100644
    --- a/java/docs/com/mxgraph/util/mxEventObject.html
    +++ b/java/docs/com/mxgraph/util/mxEventObject.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxEventObject (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxEventObject (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxEventObject (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxEventObject (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -431,7 +431,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/mxEventSource.html b/java/docs/com/mxgraph/util/mxEventSource.html
    index b0d209b6a..731510c2a 100644
    --- a/java/docs/com/mxgraph/util/mxEventSource.html
    +++ b/java/docs/com/mxgraph/util/mxEventSource.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxEventSource (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxEventSource (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxEventSource (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxEventSource (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -538,7 +538,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/mxEventSource.mxIEventListener.html b/java/docs/com/mxgraph/util/mxEventSource.mxIEventListener.html
    index df4d34e32..7f5e1d601 100644
    --- a/java/docs/com/mxgraph/util/mxEventSource.mxIEventListener.html
    +++ b/java/docs/com/mxgraph/util/mxEventSource.mxIEventListener.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxEventSource.mxIEventListener (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxEventSource.mxIEventListener (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxEventSource.mxIEventListener (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxEventSource.mxIEventListener (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -222,7 +222,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/mxHtmlColor.html b/java/docs/com/mxgraph/util/mxHtmlColor.html
    index ec64ee633..800620bb7 100644
    --- a/java/docs/com/mxgraph/util/mxHtmlColor.html
    +++ b/java/docs/com/mxgraph/util/mxHtmlColor.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxHtmlColor (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxHtmlColor (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxHtmlColor (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxHtmlColor (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -460,7 +460,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/mxImage.html b/java/docs/com/mxgraph/util/mxImage.html
    index 2e6898923..f462722ea 100644
    --- a/java/docs/com/mxgraph/util/mxImage.html
    +++ b/java/docs/com/mxgraph/util/mxImage.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxImage (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxImage (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxImage (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxImage (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -453,7 +453,7 @@ implements java.io.Serializable, java.lang.Cloneable</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/mxImageBundle.html b/java/docs/com/mxgraph/util/mxImageBundle.html
    index c3e75a6af..8612fafac 100644
    --- a/java/docs/com/mxgraph/util/mxImageBundle.html
    +++ b/java/docs/com/mxgraph/util/mxImageBundle.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxImageBundle (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxImageBundle (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxImageBundle (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxImageBundle (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -380,7 +380,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/mxLightweightLabel.html b/java/docs/com/mxgraph/util/mxLightweightLabel.html
    index cdcee36c5..ac1a6af7c 100644
    --- a/java/docs/com/mxgraph/util/mxLightweightLabel.html
    +++ b/java/docs/com/mxgraph/util/mxLightweightLabel.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxLightweightLabel (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxLightweightLabel (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxLightweightLabel (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxLightweightLabel (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -751,7 +751,7 @@ extends javax.swing.JLabel</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/mxLine.html b/java/docs/com/mxgraph/util/mxLine.html
    index c0efcef04..5791f4854 100644
    --- a/java/docs/com/mxgraph/util/mxLine.html
    +++ b/java/docs/com/mxgraph/util/mxLine.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxLine (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxLine (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxLine (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxLine (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -458,7 +458,7 @@ extends <a href="mxPoint.html" title="class in com.mxgraph.util">mxPoint</a></pr
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/mxPoint.html b/java/docs/com/mxgraph/util/mxPoint.html
    index 442970a55..b2a6a737a 100644
    --- a/java/docs/com/mxgraph/util/mxPoint.html
    +++ b/java/docs/com/mxgraph/util/mxPoint.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxPoint (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxPoint (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxPoint (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxPoint (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -563,7 +563,7 @@ implements java.io.Serializable, java.lang.Cloneable</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/mxRectangle.html b/java/docs/com/mxgraph/util/mxRectangle.html
    index 83bbd89e7..689502cd9 100644
    --- a/java/docs/com/mxgraph/util/mxRectangle.html
    +++ b/java/docs/com/mxgraph/util/mxRectangle.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxRectangle (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxRectangle (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxRectangle (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxRectangle (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -780,7 +780,7 @@ extends <a href="mxPoint.html" title="class in com.mxgraph.util">mxPoint</a></pr
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/mxResources.html b/java/docs/com/mxgraph/util/mxResources.html
    index 616ea48e6..14eec334e 100644
    --- a/java/docs/com/mxgraph/util/mxResources.html
    +++ b/java/docs/com/mxgraph/util/mxResources.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxResources (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxResources (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxResources (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxResources (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -473,7 +473,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/mxSpline.html b/java/docs/com/mxgraph/util/mxSpline.html
    index 2e7b7229f..f825f99f2 100644
    --- a/java/docs/com/mxgraph/util/mxSpline.html
    +++ b/java/docs/com/mxgraph/util/mxSpline.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxSpline (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxSpline (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxSpline (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxSpline (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -394,7 +394,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/mxSpline1D.html b/java/docs/com/mxgraph/util/mxSpline1D.html
    index b0cb88c33..2603785ce 100644
    --- a/java/docs/com/mxgraph/util/mxSpline1D.html
    +++ b/java/docs/com/mxgraph/util/mxSpline1D.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxSpline1D (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxSpline1D (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxSpline1D (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxSpline1D (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -490,7 +490,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/mxStyleUtils.html b/java/docs/com/mxgraph/util/mxStyleUtils.html
    index 4bf0c24f1..02f73577a 100644
    --- a/java/docs/com/mxgraph/util/mxStyleUtils.html
    +++ b/java/docs/com/mxgraph/util/mxStyleUtils.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxStyleUtils (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxStyleUtils (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxStyleUtils (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxStyleUtils (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -521,7 +521,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/mxUndoManager.html b/java/docs/com/mxgraph/util/mxUndoManager.html
    index cef53ee1d..d9dc66309 100644
    --- a/java/docs/com/mxgraph/util/mxUndoManager.html
    +++ b/java/docs/com/mxgraph/util/mxUndoManager.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxUndoManager (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxUndoManager (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxUndoManager (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxUndoManager (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -532,7 +532,7 @@ extends <a href="mxEventSource.html" title="class in com.mxgraph.util">mxEventSo
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/mxUndoableEdit.html b/java/docs/com/mxgraph/util/mxUndoableEdit.html
    index 9f797bb50..f5aa5dbfc 100644
    --- a/java/docs/com/mxgraph/util/mxUndoableEdit.html
    +++ b/java/docs/com/mxgraph/util/mxUndoableEdit.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxUndoableEdit (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxUndoableEdit (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxUndoableEdit (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxUndoableEdit (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -600,7 +600,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/mxUndoableEdit.mxUndoableChange.html b/java/docs/com/mxgraph/util/mxUndoableEdit.mxUndoableChange.html
    index f61e3c90b..1385d01ee 100644
    --- a/java/docs/com/mxgraph/util/mxUndoableEdit.mxUndoableChange.html
    +++ b/java/docs/com/mxgraph/util/mxUndoableEdit.mxUndoableChange.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxUndoableEdit.mxUndoableChange (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxUndoableEdit.mxUndoableChange (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxUndoableEdit.mxUndoableChange (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxUndoableEdit.mxUndoableChange (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -219,7 +219,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/mxUtils.html b/java/docs/com/mxgraph/util/mxUtils.html
    index b0140f065..0595fde5d 100644
    --- a/java/docs/com/mxgraph/util/mxUtils.html
    +++ b/java/docs/com/mxgraph/util/mxUtils.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxUtils (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxUtils (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxUtils (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxUtils (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -2671,7 +2671,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/mxXmlUtils.html b/java/docs/com/mxgraph/util/mxXmlUtils.html
    index ba0089bf1..c8d0d08f1 100644
    --- a/java/docs/com/mxgraph/util/mxXmlUtils.html
    +++ b/java/docs/com/mxgraph/util/mxXmlUtils.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxXmlUtils (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxXmlUtils (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxXmlUtils (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxXmlUtils (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -310,7 +310,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/package-summary.html b/java/docs/com/mxgraph/util/package-summary.html
    index e955020a9..55b8996ec 100644
    --- a/java/docs/com/mxgraph/util/package-summary.html
    +++ b/java/docs/com/mxgraph/util/package-summary.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>com.mxgraph.util (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>com.mxgraph.util (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="com.mxgraph.util (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="com.mxgraph.util (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -303,7 +303,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/package-tree.html b/java/docs/com/mxgraph/util/package-tree.html
    index e665917da..fe7370837 100644
    --- a/java/docs/com/mxgraph/util/package-tree.html
    +++ b/java/docs/com/mxgraph/util/package-tree.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>com.mxgraph.util Class Hierarchy (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>com.mxgraph.util Class Hierarchy (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="com.mxgraph.util Class Hierarchy (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="com.mxgraph.util Class Hierarchy (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -187,7 +187,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/package-use.html b/java/docs/com/mxgraph/util/package-use.html
    index ab97aa30e..a76d97255 100644
    --- a/java/docs/com/mxgraph/util/package-use.html
    +++ b/java/docs/com/mxgraph/util/package-use.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Package com.mxgraph.util (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Package com.mxgraph.util (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Package com.mxgraph.util (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Package com.mxgraph.util (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -627,7 +627,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/png/class-use/mxPngEncodeParam.Gray.html b/java/docs/com/mxgraph/util/png/class-use/mxPngEncodeParam.Gray.html
    index e7be3fb0d..bc2ad0a38 100644
    --- a/java/docs/com/mxgraph/util/png/class-use/mxPngEncodeParam.Gray.html
    +++ b/java/docs/com/mxgraph/util/png/class-use/mxPngEncodeParam.Gray.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.util.png.mxPngEncodeParam.Gray (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.util.png.mxPngEncodeParam.Gray (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.util.png.mxPngEncodeParam.Gray (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.util.png.mxPngEncodeParam.Gray (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/png/class-use/mxPngEncodeParam.Palette.html b/java/docs/com/mxgraph/util/png/class-use/mxPngEncodeParam.Palette.html
    index 79fc4bf0c..281a83436 100644
    --- a/java/docs/com/mxgraph/util/png/class-use/mxPngEncodeParam.Palette.html
    +++ b/java/docs/com/mxgraph/util/png/class-use/mxPngEncodeParam.Palette.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.util.png.mxPngEncodeParam.Palette (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.util.png.mxPngEncodeParam.Palette (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.util.png.mxPngEncodeParam.Palette (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.util.png.mxPngEncodeParam.Palette (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/png/class-use/mxPngEncodeParam.RGB.html b/java/docs/com/mxgraph/util/png/class-use/mxPngEncodeParam.RGB.html
    index 77af165b6..05f02d57d 100644
    --- a/java/docs/com/mxgraph/util/png/class-use/mxPngEncodeParam.RGB.html
    +++ b/java/docs/com/mxgraph/util/png/class-use/mxPngEncodeParam.RGB.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.util.png.mxPngEncodeParam.RGB (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.util.png.mxPngEncodeParam.RGB (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.util.png.mxPngEncodeParam.RGB (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.util.png.mxPngEncodeParam.RGB (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/png/class-use/mxPngEncodeParam.html b/java/docs/com/mxgraph/util/png/class-use/mxPngEncodeParam.html
    index 120540341..e5a8de06b 100644
    --- a/java/docs/com/mxgraph/util/png/class-use/mxPngEncodeParam.html
    +++ b/java/docs/com/mxgraph/util/png/class-use/mxPngEncodeParam.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.util.png.mxPngEncodeParam (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.util.png.mxPngEncodeParam (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.util.png.mxPngEncodeParam (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.util.png.mxPngEncodeParam (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -228,7 +228,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/png/class-use/mxPngImageEncoder.html b/java/docs/com/mxgraph/util/png/class-use/mxPngImageEncoder.html
    index 49d788f91..5bac1a006 100644
    --- a/java/docs/com/mxgraph/util/png/class-use/mxPngImageEncoder.html
    +++ b/java/docs/com/mxgraph/util/png/class-use/mxPngImageEncoder.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.util.png.mxPngImageEncoder (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.util.png.mxPngImageEncoder (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.util.png.mxPngImageEncoder (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.util.png.mxPngImageEncoder (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/png/class-use/mxPngSuggestedPaletteEntry.html b/java/docs/com/mxgraph/util/png/class-use/mxPngSuggestedPaletteEntry.html
    index cd69a6346..c2ff45418 100644
    --- a/java/docs/com/mxgraph/util/png/class-use/mxPngSuggestedPaletteEntry.html
    +++ b/java/docs/com/mxgraph/util/png/class-use/mxPngSuggestedPaletteEntry.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.util.png.mxPngSuggestedPaletteEntry (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.util.png.mxPngSuggestedPaletteEntry (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.util.png.mxPngSuggestedPaletteEntry (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.util.png.mxPngSuggestedPaletteEntry (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -167,7 +167,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/png/class-use/mxPngTextDecoder.html b/java/docs/com/mxgraph/util/png/class-use/mxPngTextDecoder.html
    index a9480c0ca..5b1cd1c53 100644
    --- a/java/docs/com/mxgraph/util/png/class-use/mxPngTextDecoder.html
    +++ b/java/docs/com/mxgraph/util/png/class-use/mxPngTextDecoder.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.util.png.mxPngTextDecoder (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.util.png.mxPngTextDecoder (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.util.png.mxPngTextDecoder (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.util.png.mxPngTextDecoder (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/png/mxPngEncodeParam.Gray.html b/java/docs/com/mxgraph/util/png/mxPngEncodeParam.Gray.html
    index b72452f82..89923738c 100644
    --- a/java/docs/com/mxgraph/util/png/mxPngEncodeParam.Gray.html
    +++ b/java/docs/com/mxgraph/util/png/mxPngEncodeParam.Gray.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxPngEncodeParam.Gray (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxPngEncodeParam.Gray (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxPngEncodeParam.Gray (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxPngEncodeParam.Gray (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -561,7 +561,7 @@ extends <a href="mxPngEncodeParam.html" title="class in com.mxgraph.util.png">mx
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/png/mxPngEncodeParam.Palette.html b/java/docs/com/mxgraph/util/png/mxPngEncodeParam.Palette.html
    index 1d91cd5e2..2cfb791ee 100644
    --- a/java/docs/com/mxgraph/util/png/mxPngEncodeParam.Palette.html
    +++ b/java/docs/com/mxgraph/util/png/mxPngEncodeParam.Palette.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxPngEncodeParam.Palette (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxPngEncodeParam.Palette (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxPngEncodeParam.Palette (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxPngEncodeParam.Palette (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -545,7 +545,7 @@ extends <a href="mxPngEncodeParam.html" title="class in com.mxgraph.util.png">mx
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/png/mxPngEncodeParam.RGB.html b/java/docs/com/mxgraph/util/png/mxPngEncodeParam.RGB.html
    index 6d08cbebd..116a6a58e 100644
    --- a/java/docs/com/mxgraph/util/png/mxPngEncodeParam.RGB.html
    +++ b/java/docs/com/mxgraph/util/png/mxPngEncodeParam.RGB.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxPngEncodeParam.RGB (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxPngEncodeParam.RGB (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxPngEncodeParam.RGB (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxPngEncodeParam.RGB (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -457,7 +457,7 @@ extends <a href="mxPngEncodeParam.html" title="class in com.mxgraph.util.png">mx
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/png/mxPngEncodeParam.html b/java/docs/com/mxgraph/util/png/mxPngEncodeParam.html
    index 1576d954c..16002d808 100644
    --- a/java/docs/com/mxgraph/util/png/mxPngEncodeParam.html
    +++ b/java/docs/com/mxgraph/util/png/mxPngEncodeParam.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxPngEncodeParam (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxPngEncodeParam (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxPngEncodeParam (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxPngEncodeParam (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -1897,7 +1897,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/png/mxPngImageEncoder.html b/java/docs/com/mxgraph/util/png/mxPngImageEncoder.html
    index 64516aa25..18a8e11bd 100644
    --- a/java/docs/com/mxgraph/util/png/mxPngImageEncoder.html
    +++ b/java/docs/com/mxgraph/util/png/mxPngImageEncoder.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxPngImageEncoder (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxPngImageEncoder (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxPngImageEncoder (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxPngImageEncoder (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -371,7 +371,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/png/mxPngSuggestedPaletteEntry.html b/java/docs/com/mxgraph/util/png/mxPngSuggestedPaletteEntry.html
    index 8b1868088..7d1d98653 100644
    --- a/java/docs/com/mxgraph/util/png/mxPngSuggestedPaletteEntry.html
    +++ b/java/docs/com/mxgraph/util/png/mxPngSuggestedPaletteEntry.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxPngSuggestedPaletteEntry (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxPngSuggestedPaletteEntry (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxPngSuggestedPaletteEntry (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxPngSuggestedPaletteEntry (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -385,7 +385,7 @@ implements java.io.Serializable</pre>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/png/mxPngTextDecoder.html b/java/docs/com/mxgraph/util/png/mxPngTextDecoder.html
    index 27f4368c5..2febc77a7 100644
    --- a/java/docs/com/mxgraph/util/png/mxPngTextDecoder.html
    +++ b/java/docs/com/mxgraph/util/png/mxPngTextDecoder.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxPngTextDecoder (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxPngTextDecoder (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxPngTextDecoder (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxPngTextDecoder (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -331,7 +331,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/png/package-summary.html b/java/docs/com/mxgraph/util/png/package-summary.html
    index ed28bc09b..38d6da9d6 100644
    --- a/java/docs/com/mxgraph/util/png/package-summary.html
    +++ b/java/docs/com/mxgraph/util/png/package-summary.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>com.mxgraph.util.png (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>com.mxgraph.util.png (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="com.mxgraph.util.png (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="com.mxgraph.util.png (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -171,7 +171,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/png/package-tree.html b/java/docs/com/mxgraph/util/png/package-tree.html
    index 02de8fc4f..4f72dc0ba 100644
    --- a/java/docs/com/mxgraph/util/png/package-tree.html
    +++ b/java/docs/com/mxgraph/util/png/package-tree.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>com.mxgraph.util.png Class Hierarchy (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>com.mxgraph.util.png Class Hierarchy (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="com.mxgraph.util.png Class Hierarchy (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="com.mxgraph.util.png Class Hierarchy (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -144,7 +144,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/png/package-use.html b/java/docs/com/mxgraph/util/png/package-use.html
    index 2af24e9e0..cd5ff7593 100644
    --- a/java/docs/com/mxgraph/util/png/package-use.html
    +++ b/java/docs/com/mxgraph/util/png/package-use.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Package com.mxgraph.util.png (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Package com.mxgraph.util.png (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Package com.mxgraph.util.png (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Package com.mxgraph.util.png (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -164,7 +164,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/svg/AWTPathProducer.html b/java/docs/com/mxgraph/util/svg/AWTPathProducer.html
    index 37044cb26..cb853e821 100644
    --- a/java/docs/com/mxgraph/util/svg/AWTPathProducer.html
    +++ b/java/docs/com/mxgraph/util/svg/AWTPathProducer.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>AWTPathProducer (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>AWTPathProducer (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="AWTPathProducer (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="AWTPathProducer (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -1149,7 +1149,7 @@ implements <a href="PathHandler.html" title="interface in com.mxgraph.util.svg">
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/svg/AWTPolygonProducer.html b/java/docs/com/mxgraph/util/svg/AWTPolygonProducer.html
    index 5d5138413..fbfd11665 100644
    --- a/java/docs/com/mxgraph/util/svg/AWTPolygonProducer.html
    +++ b/java/docs/com/mxgraph/util/svg/AWTPolygonProducer.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>AWTPolygonProducer (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>AWTPolygonProducer (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="AWTPolygonProducer (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="AWTPolygonProducer (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -337,7 +337,7 @@ extends <a href="AWTPolylineProducer.html" title="class in com.mxgraph.util.svg"
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/svg/AWTPolylineProducer.html b/java/docs/com/mxgraph/util/svg/AWTPolylineProducer.html
    index 7041a0d58..6703ac3e7 100644
    --- a/java/docs/com/mxgraph/util/svg/AWTPolylineProducer.html
    +++ b/java/docs/com/mxgraph/util/svg/AWTPolylineProducer.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>AWTPolylineProducer (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>AWTPolylineProducer (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="AWTPolylineProducer (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="AWTPolylineProducer (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -511,7 +511,7 @@ implements <a href="PointsHandler.html" title="interface in com.mxgraph.util.svg
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/svg/AbstractParser.html b/java/docs/com/mxgraph/util/svg/AbstractParser.html
    index e942560e5..67628c92a 100644
    --- a/java/docs/com/mxgraph/util/svg/AbstractParser.html
    +++ b/java/docs/com/mxgraph/util/svg/AbstractParser.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>AbstractParser (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>AbstractParser (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="AbstractParser (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="AbstractParser (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -621,7 +621,7 @@ implements <a href="Parser.html" title="interface in com.mxgraph.util.svg">Parse
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/svg/CSSConstants.html b/java/docs/com/mxgraph/util/svg/CSSConstants.html
    index 9da876241..88f0ba97d 100644
    --- a/java/docs/com/mxgraph/util/svg/CSSConstants.html
    +++ b/java/docs/com/mxgraph/util/svg/CSSConstants.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>CSSConstants (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>CSSConstants (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="CSSConstants (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="CSSConstants (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -243,7 +243,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/svg/DefaultErrorHandler.html b/java/docs/com/mxgraph/util/svg/DefaultErrorHandler.html
    index 72342ef85..e3552aead 100644
    --- a/java/docs/com/mxgraph/util/svg/DefaultErrorHandler.html
    +++ b/java/docs/com/mxgraph/util/svg/DefaultErrorHandler.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>DefaultErrorHandler (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>DefaultErrorHandler (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="DefaultErrorHandler (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="DefaultErrorHandler (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -280,7 +280,7 @@ implements <a href="ErrorHandler.html" title="interface in com.mxgraph.util.svg"
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/svg/ErrorHandler.html b/java/docs/com/mxgraph/util/svg/ErrorHandler.html
    index 070b67590..2e22b4020 100644
    --- a/java/docs/com/mxgraph/util/svg/ErrorHandler.html
    +++ b/java/docs/com/mxgraph/util/svg/ErrorHandler.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>ErrorHandler (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>ErrorHandler (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="ErrorHandler (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="ErrorHandler (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -221,7 +221,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/svg/ExtendedGeneralPath.html b/java/docs/com/mxgraph/util/svg/ExtendedGeneralPath.html
    index 0c232a2b8..e68f672b7 100644
    --- a/java/docs/com/mxgraph/util/svg/ExtendedGeneralPath.html
    +++ b/java/docs/com/mxgraph/util/svg/ExtendedGeneralPath.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>ExtendedGeneralPath (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>ExtendedGeneralPath (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="ExtendedGeneralPath (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="ExtendedGeneralPath (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -1006,7 +1006,7 @@ implements java.awt.Shape, java.lang.Cloneable</pre>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/svg/ExtendedPathIterator.html b/java/docs/com/mxgraph/util/svg/ExtendedPathIterator.html
    index f0f7f6dc0..f861203b4 100644
    --- a/java/docs/com/mxgraph/util/svg/ExtendedPathIterator.html
    +++ b/java/docs/com/mxgraph/util/svg/ExtendedPathIterator.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>ExtendedPathIterator (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>ExtendedPathIterator (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="ExtendedPathIterator (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="ExtendedPathIterator (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -526,7 +526,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/svg/NormalizingReader.html b/java/docs/com/mxgraph/util/svg/NormalizingReader.html
    index d065e377f..eb18ff560 100644
    --- a/java/docs/com/mxgraph/util/svg/NormalizingReader.html
    +++ b/java/docs/com/mxgraph/util/svg/NormalizingReader.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>NormalizingReader (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>NormalizingReader (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="NormalizingReader (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="NormalizingReader (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -358,7 +358,7 @@ extends java.io.Reader</pre>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/svg/NumberParser.html b/java/docs/com/mxgraph/util/svg/NumberParser.html
    index 9c625e8e4..208e9716a 100644
    --- a/java/docs/com/mxgraph/util/svg/NumberParser.html
    +++ b/java/docs/com/mxgraph/util/svg/NumberParser.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>NumberParser (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>NumberParser (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="NumberParser (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="NumberParser (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -330,7 +330,7 @@ extends <a href="AbstractParser.html" title="class in com.mxgraph.util.svg">Abst
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/svg/ParseException.html b/java/docs/com/mxgraph/util/svg/ParseException.html
    index 0785894b6..da1934caf 100644
    --- a/java/docs/com/mxgraph/util/svg/ParseException.html
    +++ b/java/docs/com/mxgraph/util/svg/ParseException.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>ParseException (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>ParseException (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="ParseException (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="ParseException (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -501,7 +501,7 @@ extends java.lang.RuntimeException</pre>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/svg/Parser.html b/java/docs/com/mxgraph/util/svg/Parser.html
    index 64e66ca59..ba58a455a 100644
    --- a/java/docs/com/mxgraph/util/svg/Parser.html
    +++ b/java/docs/com/mxgraph/util/svg/Parser.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Parser (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Parser (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Parser (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Parser (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -249,7 +249,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/svg/PathHandler.html b/java/docs/com/mxgraph/util/svg/PathHandler.html
    index cf5b3f2dc..4c61f7c79 100644
    --- a/java/docs/com/mxgraph/util/svg/PathHandler.html
    +++ b/java/docs/com/mxgraph/util/svg/PathHandler.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>PathHandler (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>PathHandler (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="PathHandler (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="PathHandler (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -855,7 +855,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/svg/PathParser.html b/java/docs/com/mxgraph/util/svg/PathParser.html
    index d4e8422e4..348a93d1f 100644
    --- a/java/docs/com/mxgraph/util/svg/PathParser.html
    +++ b/java/docs/com/mxgraph/util/svg/PathParser.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>PathParser (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>PathParser (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="PathParser (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="PathParser (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -951,7 +951,7 @@ extends <a href="NumberParser.html" title="class in com.mxgraph.util.svg">Number
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/svg/PointsHandler.html b/java/docs/com/mxgraph/util/svg/PointsHandler.html
    index d1f5a377f..207ed01cf 100644
    --- a/java/docs/com/mxgraph/util/svg/PointsHandler.html
    +++ b/java/docs/com/mxgraph/util/svg/PointsHandler.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>PointsHandler (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>PointsHandler (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="PointsHandler (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="PointsHandler (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -274,7 +274,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/svg/PointsParser.html b/java/docs/com/mxgraph/util/svg/PointsParser.html
    index eabb64a95..1bd70712d 100644
    --- a/java/docs/com/mxgraph/util/svg/PointsParser.html
    +++ b/java/docs/com/mxgraph/util/svg/PointsParser.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>PointsParser (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>PointsParser (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="PointsParser (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="PointsParser (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -422,7 +422,7 @@ extends <a href="NumberParser.html" title="class in com.mxgraph.util.svg">Number
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/svg/ShapeProducer.html b/java/docs/com/mxgraph/util/svg/ShapeProducer.html
    index 948d51a9a..03eb17fa2 100644
    --- a/java/docs/com/mxgraph/util/svg/ShapeProducer.html
    +++ b/java/docs/com/mxgraph/util/svg/ShapeProducer.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>ShapeProducer (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>ShapeProducer (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="ShapeProducer (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="ShapeProducer (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -254,7 +254,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/svg/StringNormalizingReader.html b/java/docs/com/mxgraph/util/svg/StringNormalizingReader.html
    index 9ef89cf76..8a6c3cdb2 100644
    --- a/java/docs/com/mxgraph/util/svg/StringNormalizingReader.html
    +++ b/java/docs/com/mxgraph/util/svg/StringNormalizingReader.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>StringNormalizingReader (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>StringNormalizingReader (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="StringNormalizingReader (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="StringNormalizingReader (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -501,7 +501,7 @@ extends <a href="NormalizingReader.html" title="class in com.mxgraph.util.svg">N
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/svg/class-use/AWTPathProducer.html b/java/docs/com/mxgraph/util/svg/class-use/AWTPathProducer.html
    index 28c222b9e..50bcca9e1 100644
    --- a/java/docs/com/mxgraph/util/svg/class-use/AWTPathProducer.html
    +++ b/java/docs/com/mxgraph/util/svg/class-use/AWTPathProducer.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.util.svg.AWTPathProducer (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.util.svg.AWTPathProducer (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.util.svg.AWTPathProducer (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.util.svg.AWTPathProducer (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/svg/class-use/AWTPolygonProducer.html b/java/docs/com/mxgraph/util/svg/class-use/AWTPolygonProducer.html
    index 544fb46da..25efe959f 100644
    --- a/java/docs/com/mxgraph/util/svg/class-use/AWTPolygonProducer.html
    +++ b/java/docs/com/mxgraph/util/svg/class-use/AWTPolygonProducer.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.util.svg.AWTPolygonProducer (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.util.svg.AWTPolygonProducer (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.util.svg.AWTPolygonProducer (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.util.svg.AWTPolygonProducer (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/svg/class-use/AWTPolylineProducer.html b/java/docs/com/mxgraph/util/svg/class-use/AWTPolylineProducer.html
    index f886a211c..b7d0c818c 100644
    --- a/java/docs/com/mxgraph/util/svg/class-use/AWTPolylineProducer.html
    +++ b/java/docs/com/mxgraph/util/svg/class-use/AWTPolylineProducer.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.util.svg.AWTPolylineProducer (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.util.svg.AWTPolylineProducer (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.util.svg.AWTPolylineProducer (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.util.svg.AWTPolylineProducer (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -166,7 +166,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/svg/class-use/AbstractParser.html b/java/docs/com/mxgraph/util/svg/class-use/AbstractParser.html
    index 12a6c4a7b..a9f2886be 100644
    --- a/java/docs/com/mxgraph/util/svg/class-use/AbstractParser.html
    +++ b/java/docs/com/mxgraph/util/svg/class-use/AbstractParser.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.util.svg.AbstractParser (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.util.svg.AbstractParser (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.util.svg.AbstractParser (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.util.svg.AbstractParser (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -182,7 +182,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/svg/class-use/CSSConstants.html b/java/docs/com/mxgraph/util/svg/class-use/CSSConstants.html
    index 805745354..ad4fd21ae 100644
    --- a/java/docs/com/mxgraph/util/svg/class-use/CSSConstants.html
    +++ b/java/docs/com/mxgraph/util/svg/class-use/CSSConstants.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Interface com.mxgraph.util.svg.CSSConstants (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Interface com.mxgraph.util.svg.CSSConstants (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Interface com.mxgraph.util.svg.CSSConstants (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Interface com.mxgraph.util.svg.CSSConstants (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/svg/class-use/DefaultErrorHandler.html b/java/docs/com/mxgraph/util/svg/class-use/DefaultErrorHandler.html
    index 79cc705af..bb26ba894 100644
    --- a/java/docs/com/mxgraph/util/svg/class-use/DefaultErrorHandler.html
    +++ b/java/docs/com/mxgraph/util/svg/class-use/DefaultErrorHandler.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.util.svg.DefaultErrorHandler (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.util.svg.DefaultErrorHandler (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.util.svg.DefaultErrorHandler (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.util.svg.DefaultErrorHandler (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/svg/class-use/ErrorHandler.html b/java/docs/com/mxgraph/util/svg/class-use/ErrorHandler.html
    index add377af5..614d69025 100644
    --- a/java/docs/com/mxgraph/util/svg/class-use/ErrorHandler.html
    +++ b/java/docs/com/mxgraph/util/svg/class-use/ErrorHandler.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Interface com.mxgraph.util.svg.ErrorHandler (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Interface com.mxgraph.util.svg.ErrorHandler (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Interface com.mxgraph.util.svg.ErrorHandler (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Interface com.mxgraph.util.svg.ErrorHandler (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -207,7 +207,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/svg/class-use/ExtendedGeneralPath.html b/java/docs/com/mxgraph/util/svg/class-use/ExtendedGeneralPath.html
    index 2b4e9a0f3..8ae9bda9a 100644
    --- a/java/docs/com/mxgraph/util/svg/class-use/ExtendedGeneralPath.html
    +++ b/java/docs/com/mxgraph/util/svg/class-use/ExtendedGeneralPath.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.util.svg.ExtendedGeneralPath (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.util.svg.ExtendedGeneralPath (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.util.svg.ExtendedGeneralPath (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.util.svg.ExtendedGeneralPath (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -166,7 +166,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/svg/class-use/ExtendedPathIterator.html b/java/docs/com/mxgraph/util/svg/class-use/ExtendedPathIterator.html
    index cc2aaaae8..f9adf33a2 100644
    --- a/java/docs/com/mxgraph/util/svg/class-use/ExtendedPathIterator.html
    +++ b/java/docs/com/mxgraph/util/svg/class-use/ExtendedPathIterator.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Interface com.mxgraph.util.svg.ExtendedPathIterator (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Interface com.mxgraph.util.svg.ExtendedPathIterator (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Interface com.mxgraph.util.svg.ExtendedPathIterator (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Interface com.mxgraph.util.svg.ExtendedPathIterator (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -184,7 +184,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/svg/class-use/NormalizingReader.html b/java/docs/com/mxgraph/util/svg/class-use/NormalizingReader.html
    index f9af7c903..89ed66510 100644
    --- a/java/docs/com/mxgraph/util/svg/class-use/NormalizingReader.html
    +++ b/java/docs/com/mxgraph/util/svg/class-use/NormalizingReader.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.util.svg.NormalizingReader (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.util.svg.NormalizingReader (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.util.svg.NormalizingReader (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.util.svg.NormalizingReader (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -183,7 +183,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/svg/class-use/NumberParser.html b/java/docs/com/mxgraph/util/svg/class-use/NumberParser.html
    index f298e984b..7cc6d6df4 100644
    --- a/java/docs/com/mxgraph/util/svg/class-use/NumberParser.html
    +++ b/java/docs/com/mxgraph/util/svg/class-use/NumberParser.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.util.svg.NumberParser (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.util.svg.NumberParser (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.util.svg.NumberParser (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.util.svg.NumberParser (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -175,7 +175,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/svg/class-use/ParseException.html b/java/docs/com/mxgraph/util/svg/class-use/ParseException.html
    index 78456efe0..a612e4cdc 100644
    --- a/java/docs/com/mxgraph/util/svg/class-use/ParseException.html
    +++ b/java/docs/com/mxgraph/util/svg/class-use/ParseException.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.util.svg.ParseException (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.util.svg.ParseException (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.util.svg.ParseException (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.util.svg.ParseException (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -851,7 +851,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/svg/class-use/Parser.html b/java/docs/com/mxgraph/util/svg/class-use/Parser.html
    index eddde5686..498349d99 100644
    --- a/java/docs/com/mxgraph/util/svg/class-use/Parser.html
    +++ b/java/docs/com/mxgraph/util/svg/class-use/Parser.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Interface com.mxgraph.util.svg.Parser (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Interface com.mxgraph.util.svg.Parser (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Interface com.mxgraph.util.svg.Parser (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Interface com.mxgraph.util.svg.Parser (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -189,7 +189,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/svg/class-use/PathHandler.html b/java/docs/com/mxgraph/util/svg/class-use/PathHandler.html
    index 67468d3c8..ab86afefa 100644
    --- a/java/docs/com/mxgraph/util/svg/class-use/PathHandler.html
    +++ b/java/docs/com/mxgraph/util/svg/class-use/PathHandler.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Interface com.mxgraph.util.svg.PathHandler (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Interface com.mxgraph.util.svg.PathHandler (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Interface com.mxgraph.util.svg.PathHandler (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Interface com.mxgraph.util.svg.PathHandler (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -233,7 +233,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/svg/class-use/PathParser.html b/java/docs/com/mxgraph/util/svg/class-use/PathParser.html
    index 8876a5131..0b0d35af6 100644
    --- a/java/docs/com/mxgraph/util/svg/class-use/PathParser.html
    +++ b/java/docs/com/mxgraph/util/svg/class-use/PathParser.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.util.svg.PathParser (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.util.svg.PathParser (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.util.svg.PathParser (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.util.svg.PathParser (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/svg/class-use/PointsHandler.html b/java/docs/com/mxgraph/util/svg/class-use/PointsHandler.html
    index e21b55cba..1cdbb5a04 100644
    --- a/java/docs/com/mxgraph/util/svg/class-use/PointsHandler.html
    +++ b/java/docs/com/mxgraph/util/svg/class-use/PointsHandler.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Interface com.mxgraph.util.svg.PointsHandler (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Interface com.mxgraph.util.svg.PointsHandler (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Interface com.mxgraph.util.svg.PointsHandler (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Interface com.mxgraph.util.svg.PointsHandler (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -239,7 +239,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/svg/class-use/PointsParser.html b/java/docs/com/mxgraph/util/svg/class-use/PointsParser.html
    index 547a95248..ed52d9954 100644
    --- a/java/docs/com/mxgraph/util/svg/class-use/PointsParser.html
    +++ b/java/docs/com/mxgraph/util/svg/class-use/PointsParser.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.util.svg.PointsParser (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.util.svg.PointsParser (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.util.svg.PointsParser (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.util.svg.PointsParser (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/svg/class-use/ShapeProducer.html b/java/docs/com/mxgraph/util/svg/class-use/ShapeProducer.html
    index 1e9b1a951..d3534361c 100644
    --- a/java/docs/com/mxgraph/util/svg/class-use/ShapeProducer.html
    +++ b/java/docs/com/mxgraph/util/svg/class-use/ShapeProducer.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Interface com.mxgraph.util.svg.ShapeProducer (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Interface com.mxgraph.util.svg.ShapeProducer (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Interface com.mxgraph.util.svg.ShapeProducer (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Interface com.mxgraph.util.svg.ShapeProducer (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -181,7 +181,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/svg/class-use/StringNormalizingReader.html b/java/docs/com/mxgraph/util/svg/class-use/StringNormalizingReader.html
    index 450302e93..8f1166d1c 100644
    --- a/java/docs/com/mxgraph/util/svg/class-use/StringNormalizingReader.html
    +++ b/java/docs/com/mxgraph/util/svg/class-use/StringNormalizingReader.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.util.svg.StringNormalizingReader (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.util.svg.StringNormalizingReader (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.util.svg.StringNormalizingReader (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.util.svg.StringNormalizingReader (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../../index-all.html">Index</a></li>
     <li><a href="../../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/svg/package-summary.html b/java/docs/com/mxgraph/util/svg/package-summary.html
    index 58ec3b868..c22ce84ba 100644
    --- a/java/docs/com/mxgraph/util/svg/package-summary.html
    +++ b/java/docs/com/mxgraph/util/svg/package-summary.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>com.mxgraph.util.svg (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>com.mxgraph.util.svg (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="com.mxgraph.util.svg (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="com.mxgraph.util.svg (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -283,7 +283,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/svg/package-tree.html b/java/docs/com/mxgraph/util/svg/package-tree.html
    index 645d45d4c..2762baf34 100644
    --- a/java/docs/com/mxgraph/util/svg/package-tree.html
    +++ b/java/docs/com/mxgraph/util/svg/package-tree.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>com.mxgraph.util.svg Class Hierarchy (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>com.mxgraph.util.svg Class Hierarchy (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="com.mxgraph.util.svg Class Hierarchy (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="com.mxgraph.util.svg Class Hierarchy (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -186,7 +186,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/util/svg/package-use.html b/java/docs/com/mxgraph/util/svg/package-use.html
    index 5f5ea5f23..7ec89b0d5 100644
    --- a/java/docs/com/mxgraph/util/svg/package-use.html
    +++ b/java/docs/com/mxgraph/util/svg/package-use.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Package com.mxgraph.util.svg (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Package com.mxgraph.util.svg (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Package com.mxgraph.util.svg (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Package com.mxgraph.util.svg (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -233,7 +233,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/view/class-use/mxCellState.html b/java/docs/com/mxgraph/view/class-use/mxCellState.html
    index 73643fcbe..f1f8a395f 100644
    --- a/java/docs/com/mxgraph/view/class-use/mxCellState.html
    +++ b/java/docs/com/mxgraph/view/class-use/mxCellState.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.view.mxCellState (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.view.mxCellState (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.view.mxCellState (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.view.mxCellState (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -2196,7 +2196,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/view/class-use/mxConnectionConstraint.html b/java/docs/com/mxgraph/view/class-use/mxConnectionConstraint.html
    index 0b5625934..1867295a4 100644
    --- a/java/docs/com/mxgraph/view/class-use/mxConnectionConstraint.html
    +++ b/java/docs/com/mxgraph/view/class-use/mxConnectionConstraint.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.view.mxConnectionConstraint (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.view.mxConnectionConstraint (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.view.mxConnectionConstraint (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.view.mxConnectionConstraint (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -241,7 +241,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/view/class-use/mxEdgeStyle.html b/java/docs/com/mxgraph/view/class-use/mxEdgeStyle.html
    index 0f386e2d2..db6bcab77 100644
    --- a/java/docs/com/mxgraph/view/class-use/mxEdgeStyle.html
    +++ b/java/docs/com/mxgraph/view/class-use/mxEdgeStyle.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.view.mxEdgeStyle (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.view.mxEdgeStyle (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.view.mxEdgeStyle (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.view.mxEdgeStyle (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/view/class-use/mxEdgeStyle.mxEdgeStyleFunction.html b/java/docs/com/mxgraph/view/class-use/mxEdgeStyle.mxEdgeStyleFunction.html
    index fad8e03bc..2c98a3106 100644
    --- a/java/docs/com/mxgraph/view/class-use/mxEdgeStyle.mxEdgeStyleFunction.html
    +++ b/java/docs/com/mxgraph/view/class-use/mxEdgeStyle.mxEdgeStyleFunction.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Interface com.mxgraph.view.mxEdgeStyle.mxEdgeStyleFunction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Interface com.mxgraph.view.mxEdgeStyle.mxEdgeStyleFunction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Interface com.mxgraph.view.mxEdgeStyle.mxEdgeStyleFunction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Interface com.mxgraph.view.mxEdgeStyle.mxEdgeStyleFunction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -266,7 +266,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/view/class-use/mxGraph.html b/java/docs/com/mxgraph/view/class-use/mxGraph.html
    index 968df1f07..b58c9e1a7 100644
    --- a/java/docs/com/mxgraph/view/class-use/mxGraph.html
    +++ b/java/docs/com/mxgraph/view/class-use/mxGraph.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.view.mxGraph (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.view.mxGraph (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.view.mxGraph (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.view.mxGraph (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -1057,7 +1057,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/view/class-use/mxGraph.mxICellVisitor.html b/java/docs/com/mxgraph/view/class-use/mxGraph.mxICellVisitor.html
    index e5c635c48..99f47328b 100644
    --- a/java/docs/com/mxgraph/view/class-use/mxGraph.mxICellVisitor.html
    +++ b/java/docs/com/mxgraph/view/class-use/mxGraph.mxICellVisitor.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Interface com.mxgraph.view.mxGraph.mxICellVisitor (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Interface com.mxgraph.view.mxGraph.mxICellVisitor (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Interface com.mxgraph.view.mxGraph.mxICellVisitor (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Interface com.mxgraph.view.mxGraph.mxICellVisitor (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -237,7 +237,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/view/class-use/mxGraphSelectionModel.html b/java/docs/com/mxgraph/view/class-use/mxGraphSelectionModel.html
    index ba6765e3f..305e0365e 100644
    --- a/java/docs/com/mxgraph/view/class-use/mxGraphSelectionModel.html
    +++ b/java/docs/com/mxgraph/view/class-use/mxGraphSelectionModel.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.view.mxGraphSelectionModel (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.view.mxGraphSelectionModel (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.view.mxGraphSelectionModel (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.view.mxGraphSelectionModel (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -211,7 +211,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/view/class-use/mxGraphSelectionModel.mxSelectionChange.html b/java/docs/com/mxgraph/view/class-use/mxGraphSelectionModel.mxSelectionChange.html
    index 0886aac40..0fae80530 100644
    --- a/java/docs/com/mxgraph/view/class-use/mxGraphSelectionModel.mxSelectionChange.html
    +++ b/java/docs/com/mxgraph/view/class-use/mxGraphSelectionModel.mxSelectionChange.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.view.mxGraphSelectionModel.mxSelectionChange (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.view.mxGraphSelectionModel.mxSelectionChange (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.view.mxGraphSelectionModel.mxSelectionChange (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.view.mxGraphSelectionModel.mxSelectionChange (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/view/class-use/mxGraphView.html b/java/docs/com/mxgraph/view/class-use/mxGraphView.html
    index b456cdf4c..283248504 100644
    --- a/java/docs/com/mxgraph/view/class-use/mxGraphView.html
    +++ b/java/docs/com/mxgraph/view/class-use/mxGraphView.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.view.mxGraphView (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.view.mxGraphView (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.view.mxGraphView (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.view.mxGraphView (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -294,7 +294,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/view/class-use/mxGraphView.mxCurrentRootChange.html b/java/docs/com/mxgraph/view/class-use/mxGraphView.mxCurrentRootChange.html
    index 345543b82..8f52df383 100644
    --- a/java/docs/com/mxgraph/view/class-use/mxGraphView.mxCurrentRootChange.html
    +++ b/java/docs/com/mxgraph/view/class-use/mxGraphView.mxCurrentRootChange.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.view.mxGraphView.mxCurrentRootChange (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.view.mxGraphView.mxCurrentRootChange (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.view.mxGraphView.mxCurrentRootChange (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.view.mxGraphView.mxCurrentRootChange (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/view/class-use/mxLayoutManager.html b/java/docs/com/mxgraph/view/class-use/mxLayoutManager.html
    index fe5b996be..de1585fbd 100644
    --- a/java/docs/com/mxgraph/view/class-use/mxLayoutManager.html
    +++ b/java/docs/com/mxgraph/view/class-use/mxLayoutManager.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.view.mxLayoutManager (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.view.mxLayoutManager (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.view.mxLayoutManager (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.view.mxLayoutManager (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/view/class-use/mxMultiplicity.html b/java/docs/com/mxgraph/view/class-use/mxMultiplicity.html
    index b3eca15f6..097301263 100644
    --- a/java/docs/com/mxgraph/view/class-use/mxMultiplicity.html
    +++ b/java/docs/com/mxgraph/view/class-use/mxMultiplicity.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.view.mxMultiplicity (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.view.mxMultiplicity (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.view.mxMultiplicity (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.view.mxMultiplicity (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -199,7 +199,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/view/class-use/mxPerimeter.html b/java/docs/com/mxgraph/view/class-use/mxPerimeter.html
    index 35e49db4d..df50236f5 100644
    --- a/java/docs/com/mxgraph/view/class-use/mxPerimeter.html
    +++ b/java/docs/com/mxgraph/view/class-use/mxPerimeter.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.view.mxPerimeter (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.view.mxPerimeter (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.view.mxPerimeter (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.view.mxPerimeter (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/view/class-use/mxPerimeter.mxPerimeterFunction.html b/java/docs/com/mxgraph/view/class-use/mxPerimeter.mxPerimeterFunction.html
    index bc02963a1..d9a6a712a 100644
    --- a/java/docs/com/mxgraph/view/class-use/mxPerimeter.mxPerimeterFunction.html
    +++ b/java/docs/com/mxgraph/view/class-use/mxPerimeter.mxPerimeterFunction.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Interface com.mxgraph.view.mxPerimeter.mxPerimeterFunction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Interface com.mxgraph.view.mxPerimeter.mxPerimeterFunction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Interface com.mxgraph.view.mxPerimeter.mxPerimeterFunction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Interface com.mxgraph.view.mxPerimeter.mxPerimeterFunction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -214,7 +214,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/view/class-use/mxStyleRegistry.html b/java/docs/com/mxgraph/view/class-use/mxStyleRegistry.html
    index 16a391f84..75a8e0397 100644
    --- a/java/docs/com/mxgraph/view/class-use/mxStyleRegistry.html
    +++ b/java/docs/com/mxgraph/view/class-use/mxStyleRegistry.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.view.mxStyleRegistry (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.view.mxStyleRegistry (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.view.mxStyleRegistry (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.view.mxStyleRegistry (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/view/class-use/mxStylesheet.html b/java/docs/com/mxgraph/view/class-use/mxStylesheet.html
    index 7becba6dc..7badbbc5f 100644
    --- a/java/docs/com/mxgraph/view/class-use/mxStylesheet.html
    +++ b/java/docs/com/mxgraph/view/class-use/mxStylesheet.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.view.mxStylesheet (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.view.mxStylesheet (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.view.mxStylesheet (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.view.mxStylesheet (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -232,7 +232,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/view/class-use/mxSwimlaneManager.html b/java/docs/com/mxgraph/view/class-use/mxSwimlaneManager.html
    index 48fe369da..f1ce5ad2d 100644
    --- a/java/docs/com/mxgraph/view/class-use/mxSwimlaneManager.html
    +++ b/java/docs/com/mxgraph/view/class-use/mxSwimlaneManager.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.view.mxSwimlaneManager (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.view.mxSwimlaneManager (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.view.mxSwimlaneManager (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.view.mxSwimlaneManager (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/view/class-use/mxTemporaryCellStates.html b/java/docs/com/mxgraph/view/class-use/mxTemporaryCellStates.html
    index f781842f1..3f33499eb 100644
    --- a/java/docs/com/mxgraph/view/class-use/mxTemporaryCellStates.html
    +++ b/java/docs/com/mxgraph/view/class-use/mxTemporaryCellStates.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Class com.mxgraph.view.mxTemporaryCellStates (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Class com.mxgraph.view.mxTemporaryCellStates (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Class com.mxgraph.view.mxTemporaryCellStates (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Class com.mxgraph.view.mxTemporaryCellStates (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -120,7 +120,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../../index-all.html">Index</a></li>
     <li><a href="../../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/view/mxCellState.html b/java/docs/com/mxgraph/view/mxCellState.html
    index ce7561516..9cfbd931d 100644
    --- a/java/docs/com/mxgraph/view/mxCellState.html
    +++ b/java/docs/com/mxgraph/view/mxCellState.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxCellState (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxCellState (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxCellState (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxCellState (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -1402,7 +1402,7 @@ extends <a href="../util/mxRectangle.html" title="class in com.mxgraph.util">mxR
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/view/mxConnectionConstraint.html b/java/docs/com/mxgraph/view/mxConnectionConstraint.html
    index 2140bbcd8..d87b17e94 100644
    --- a/java/docs/com/mxgraph/view/mxConnectionConstraint.html
    +++ b/java/docs/com/mxgraph/view/mxConnectionConstraint.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxConnectionConstraint (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxConnectionConstraint (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxConnectionConstraint (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxConnectionConstraint (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -429,7 +429,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/view/mxEdgeStyle.html b/java/docs/com/mxgraph/view/mxEdgeStyle.html
    index a27f76f13..b89ffab93 100644
    --- a/java/docs/com/mxgraph/view/mxEdgeStyle.html
    +++ b/java/docs/com/mxgraph/view/mxEdgeStyle.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxEdgeStyle (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxEdgeStyle (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxEdgeStyle (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxEdgeStyle (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -725,7 +725,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/view/mxEdgeStyle.mxEdgeStyleFunction.html b/java/docs/com/mxgraph/view/mxEdgeStyle.mxEdgeStyleFunction.html
    index 985051255..38d5c3c10 100644
    --- a/java/docs/com/mxgraph/view/mxEdgeStyle.mxEdgeStyleFunction.html
    +++ b/java/docs/com/mxgraph/view/mxEdgeStyle.mxEdgeStyleFunction.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxEdgeStyle.mxEdgeStyleFunction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxEdgeStyle.mxEdgeStyleFunction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxEdgeStyle.mxEdgeStyleFunction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxEdgeStyle.mxEdgeStyleFunction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -239,7 +239,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/view/mxGraph.html b/java/docs/com/mxgraph/view/mxGraph.html
    index 7dedf3b77..e554f73dc 100644
    --- a/java/docs/com/mxgraph/view/mxGraph.html
    +++ b/java/docs/com/mxgraph/view/mxGraph.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraph (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraph (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraph (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraph (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -3679,7 +3679,7 @@ extends <a href="../util/mxEventSource.html" title="class in com.mxgraph.util">m
     <h4>VERSION</h4>
     <pre>public static final&nbsp;java.lang.String VERSION</pre>
     <div class="block">Holds the version number of this release. Current version
    - is 4.0.3.</div>
    + is 4.0.4.</div>
     <dl>
     <dt><span class="seeLabel">See Also:</span></dt>
     <dd><a href="../../../constant-values.html#com.mxgraph.view.mxGraph.VERSION">Constant Field Values</a></dd>
    @@ -9892,7 +9892,7 @@ extends <a href="../util/mxEventSource.html" title="class in com.mxgraph.util">m
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/view/mxGraph.mxICellVisitor.html b/java/docs/com/mxgraph/view/mxGraph.mxICellVisitor.html
    index 626d83ef1..708fb2bcf 100644
    --- a/java/docs/com/mxgraph/view/mxGraph.mxICellVisitor.html
    +++ b/java/docs/com/mxgraph/view/mxGraph.mxICellVisitor.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraph.mxICellVisitor (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraph.mxICellVisitor (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraph.mxICellVisitor (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraph.mxICellVisitor (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -218,7 +218,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/view/mxGraphSelectionModel.html b/java/docs/com/mxgraph/view/mxGraphSelectionModel.html
    index cd427b030..cea31326d 100644
    --- a/java/docs/com/mxgraph/view/mxGraphSelectionModel.html
    +++ b/java/docs/com/mxgraph/view/mxGraphSelectionModel.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphSelectionModel (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphSelectionModel (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphSelectionModel (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphSelectionModel (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -723,7 +723,7 @@ extends <a href="../util/mxEventSource.html" title="class in com.mxgraph.util">m
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/view/mxGraphSelectionModel.mxSelectionChange.html b/java/docs/com/mxgraph/view/mxGraphSelectionModel.mxSelectionChange.html
    index 719933a77..7e02804b0 100644
    --- a/java/docs/com/mxgraph/view/mxGraphSelectionModel.mxSelectionChange.html
    +++ b/java/docs/com/mxgraph/view/mxGraphSelectionModel.mxSelectionChange.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphSelectionModel.mxSelectionChange (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphSelectionModel.mxSelectionChange (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphSelectionModel.mxSelectionChange (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphSelectionModel.mxSelectionChange (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -360,7 +360,7 @@ implements <a href="../util/mxUndoableEdit.mxUndoableChange.html" title="interfa
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/view/mxGraphView.html b/java/docs/com/mxgraph/view/mxGraphView.html
    index 785c78496..4c5eaf814 100644
    --- a/java/docs/com/mxgraph/view/mxGraphView.html
    +++ b/java/docs/com/mxgraph/view/mxGraphView.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphView (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphView (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphView (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphView (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -1836,7 +1836,7 @@ extends <a href="../util/mxEventSource.html" title="class in com.mxgraph.util">m
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/view/mxGraphView.mxCurrentRootChange.html b/java/docs/com/mxgraph/view/mxGraphView.mxCurrentRootChange.html
    index 94b281d20..23ced893c 100644
    --- a/java/docs/com/mxgraph/view/mxGraphView.mxCurrentRootChange.html
    +++ b/java/docs/com/mxgraph/view/mxGraphView.mxCurrentRootChange.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraphView.mxCurrentRootChange (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraphView.mxCurrentRootChange (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxGraphView.mxCurrentRootChange (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxGraphView.mxCurrentRootChange (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -437,7 +437,7 @@ implements <a href="../util/mxUndoableEdit.mxUndoableChange.html" title="interfa
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/view/mxLayoutManager.html b/java/docs/com/mxgraph/view/mxLayoutManager.html
    index 3d0b7be74..57879a6e4 100644
    --- a/java/docs/com/mxgraph/view/mxLayoutManager.html
    +++ b/java/docs/com/mxgraph/view/mxLayoutManager.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxLayoutManager (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxLayoutManager (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxLayoutManager (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxLayoutManager (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -644,7 +644,7 @@ extends <a href="../util/mxEventSource.html" title="class in com.mxgraph.util">m
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/view/mxMultiplicity.html b/java/docs/com/mxgraph/view/mxMultiplicity.html
    index 090813602..3bb9b51d4 100644
    --- a/java/docs/com/mxgraph/view/mxMultiplicity.html
    +++ b/java/docs/com/mxgraph/view/mxMultiplicity.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxMultiplicity (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxMultiplicity (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxMultiplicity (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxMultiplicity (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -652,7 +652,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/view/mxPerimeter.html b/java/docs/com/mxgraph/view/mxPerimeter.html
    index ed5514ea3..4ba257db2 100644
    --- a/java/docs/com/mxgraph/view/mxPerimeter.html
    +++ b/java/docs/com/mxgraph/view/mxPerimeter.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxPerimeter (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxPerimeter (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxPerimeter (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxPerimeter (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -369,7 +369,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/view/mxPerimeter.mxPerimeterFunction.html b/java/docs/com/mxgraph/view/mxPerimeter.mxPerimeterFunction.html
    index 2eefc554d..50606b466 100644
    --- a/java/docs/com/mxgraph/view/mxPerimeter.mxPerimeterFunction.html
    +++ b/java/docs/com/mxgraph/view/mxPerimeter.mxPerimeterFunction.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxPerimeter.mxPerimeterFunction (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxPerimeter.mxPerimeterFunction (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxPerimeter.mxPerimeterFunction (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxPerimeter.mxPerimeterFunction (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -235,7 +235,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/view/mxStyleRegistry.html b/java/docs/com/mxgraph/view/mxStyleRegistry.html
    index dea18a4b9..285e46c3d 100644
    --- a/java/docs/com/mxgraph/view/mxStyleRegistry.html
    +++ b/java/docs/com/mxgraph/view/mxStyleRegistry.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxStyleRegistry (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxStyleRegistry (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxStyleRegistry (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxStyleRegistry (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -349,7 +349,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/view/mxStylesheet.html b/java/docs/com/mxgraph/view/mxStylesheet.html
    index 71ad5f15e..eca949b7e 100644
    --- a/java/docs/com/mxgraph/view/mxStylesheet.html
    +++ b/java/docs/com/mxgraph/view/mxStylesheet.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxStylesheet (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxStylesheet (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxStylesheet (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxStylesheet (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -540,7 +540,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/view/mxSwimlaneManager.html b/java/docs/com/mxgraph/view/mxSwimlaneManager.html
    index b2767edc8..b0417109f 100644
    --- a/java/docs/com/mxgraph/view/mxSwimlaneManager.html
    +++ b/java/docs/com/mxgraph/view/mxSwimlaneManager.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxSwimlaneManager (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxSwimlaneManager (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxSwimlaneManager (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxSwimlaneManager (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -748,7 +748,7 @@ extends <a href="../util/mxEventSource.html" title="class in com.mxgraph.util">m
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/view/mxTemporaryCellStates.html b/java/docs/com/mxgraph/view/mxTemporaryCellStates.html
    index 2bd400234..7d48844ee 100644
    --- a/java/docs/com/mxgraph/view/mxTemporaryCellStates.html
    +++ b/java/docs/com/mxgraph/view/mxTemporaryCellStates.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxTemporaryCellStates (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxTemporaryCellStates (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="mxTemporaryCellStates (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="mxTemporaryCellStates (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -391,7 +391,7 @@ extends java.lang.Object</pre>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/view/package-summary.html b/java/docs/com/mxgraph/view/package-summary.html
    index aed338ab0..22afa97a1 100644
    --- a/java/docs/com/mxgraph/view/package-summary.html
    +++ b/java/docs/com/mxgraph/view/package-summary.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>com.mxgraph.view (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>com.mxgraph.view (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="com.mxgraph.view (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="com.mxgraph.view (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -262,7 +262,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/view/package-tree.html b/java/docs/com/mxgraph/view/package-tree.html
    index 0a1ec0fa9..5814c76db 100644
    --- a/java/docs/com/mxgraph/view/package-tree.html
    +++ b/java/docs/com/mxgraph/view/package-tree.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>com.mxgraph.view Class Hierarchy (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>com.mxgraph.view Class Hierarchy (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="com.mxgraph.view Class Hierarchy (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="com.mxgraph.view Class Hierarchy (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -169,7 +169,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/com/mxgraph/view/package-use.html b/java/docs/com/mxgraph/view/package-use.html
    index db47220bb..871e634ce 100644
    --- a/java/docs/com/mxgraph/view/package-use.html
    +++ b/java/docs/com/mxgraph/view/package-use.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Uses of Package com.mxgraph.view (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Uses of Package com.mxgraph.view (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="../../../jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="../../../script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Uses of Package com.mxgraph.view (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Uses of Package com.mxgraph.view (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -684,7 +684,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="../../../index-all.html">Index</a></li>
     <li><a href="../../../help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/constant-values.html b/java/docs/constant-values.html
    index b912115fa..71ed5cf65 100644
    --- a/java/docs/constant-values.html
    +++ b/java/docs/constant-values.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Constant Field Values (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Constant Field Values (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Constant Field Values (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Constant Field Values (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="index-all.html">Index</a></li>
     <li><a href="help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -1215,7 +1215,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <!--   -->
     </a><code>public&nbsp;static&nbsp;final&nbsp;java.lang.String</code></td>
     <th class="colSecond" scope="row"><code><a href="com/mxgraph/view/mxGraph.html#VERSION">VERSION</a></code></th>
    -<td class="colLast"><code>"4.0.3"</code></td>
    +<td class="colLast"><code>"4.0.4"</code></td>
     </tr>
     </tbody>
     </table>
    @@ -1244,7 +1244,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="index-all.html">Index</a></li>
     <li><a href="help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/deprecated-list.html b/java/docs/deprecated-list.html
    index ec406c523..0227437b5 100644
    --- a/java/docs/deprecated-list.html
    +++ b/java/docs/deprecated-list.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Deprecated List (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Deprecated List (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Deprecated List (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Deprecated List (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="index-all.html">Index</a></li>
     <li><a href="help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -224,7 +224,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="index-all.html">Index</a></li>
     <li><a href="help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/help-doc.html b/java/docs/help-doc.html
    index d2263bca1..1f917b3cd 100644
    --- a/java/docs/help-doc.html
    +++ b/java/docs/help-doc.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>API Help (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>API Help (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="API Help (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="API Help (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="index-all.html">Index</a></li>
     <li class="navBarCell1Rev">Help</li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -252,7 +252,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="index-all.html">Index</a></li>
     <li class="navBarCell1Rev">Help</li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/index-all.html b/java/docs/index-all.html
    index b0439cd8d..e05176de3 100644
    --- a/java/docs/index-all.html
    +++ b/java/docs/index-all.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Index (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Index (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Index (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Index (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li class="navBarCell1Rev">Index</li>
     <li><a href="help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -16446,7 +16446,7 @@ the order they are declared.</div>
     <li class="navBarCell1Rev">Index</li>
     <li><a href="help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/index.html b/java/docs/index.html
    index c245fb2d8..4e050cc7d 100644
    --- a/java/docs/index.html
    +++ b/java/docs/index.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Overview (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Overview (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Overview (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Overview (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="index-all.html">Index</a></li>
     <li><a href="help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -95,7 +95,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     </nav>
     </header>
     <div class="header">
    -<h1 class="title">mxGraph 4.0.3 API Specification</h1>
    +<h1 class="title">mxGraph 4.0.4 API Specification</h1>
     </div>
     <main role="main">
     <div class="contentContainer">
    @@ -253,7 +253,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="index-all.html">Index</a></li>
     <li><a href="help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/overview-summary.html b/java/docs/overview-summary.html
    index c94196272..b854b6f05 100644
    --- a/java/docs/overview-summary.html
    +++ b/java/docs/overview-summary.html
    @@ -2,8 +2,8 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>mxGraph 4.0.3 API Specification</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>mxGraph 4.0.4 API Specification</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
     <script type="text/javascript">window.location.replace('index.html')</script>
     <noscript>
    diff --git a/java/docs/overview-tree.html b/java/docs/overview-tree.html
    index 6a0c7e9b5..c034051ed 100644
    --- a/java/docs/overview-tree.html
    +++ b/java/docs/overview-tree.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Class Hierarchy (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Class Hierarchy (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Class Hierarchy (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Class Hierarchy (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="index-all.html">Index</a></li>
     <li><a href="help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -576,7 +576,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="index-all.html">Index</a></li>
     <li><a href="help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/docs/serialized-form.html b/java/docs/serialized-form.html
    index a6fb1a1d0..af7f9ac6a 100644
    --- a/java/docs/serialized-form.html
    +++ b/java/docs/serialized-form.html
    @@ -2,10 +2,10 @@
     <!-- NewPage -->
     <html lang="en">
     <head>
    -<!-- Generated by javadoc (11.0.3) on Fri Jul 26 16:05:09 UTC 2019 -->
    -<title>Serialized Form (mxGraph 4.0.3 API Specification)</title>
    +<!-- Generated by javadoc (11.0.4) on Tue Aug 20 16:49:48 UTC 2019 -->
    +<title>Serialized Form (mxGraph 4.0.4 API Specification)</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    -<meta name="dc.created" content="2019-07-26">
    +<meta name="dc.created" content="2019-08-20">
     <link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
     <link rel="stylesheet" type="text/css" href="jquery/jquery-ui.css" title="Style">
     <script type="text/javascript" src="script.js"></script>
    @@ -22,7 +22,7 @@
     <script type="text/javascript"><!--
         try {
             if (location.href.indexOf('is-external=true') == -1) {
    -            parent.document.title="Serialized Form (mxGraph 4.0.3 API Specification)";
    +            parent.document.title="Serialized Form (mxGraph 4.0.4 API Specification)";
             }
         }
         catch(err) {
    @@ -55,7 +55,7 @@ loadScripts(document, 'script');</script>
     <li><a href="index-all.html">Index</a></li>
     <li><a href="help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_top">
    @@ -1462,7 +1462,7 @@ $('.navPadding').css('padding-top', $('.fixedNav').css("height"));
     <li><a href="index-all.html">Index</a></li>
     <li><a href="help-doc.html">Help</a></li>
     </ul>
    -<div class="aboutLanguage"><p><b>mxGraph 4.0.3</b></p></div>
    +<div class="aboutLanguage"><p><b>mxGraph 4.0.4</b></p></div>
     </div>
     <div class="subNav">
     <ul class="navList" id="allclasses_navbar_bottom">
    diff --git a/java/lib/mxgraph-all.jar b/java/lib/mxgraph-all.jar
    index 9938a1b304ae7e6d15a0b117f25fa4da0acbe8c4..6c10cde1f774bcea66f37a2aa2d2fd61df8fa98c 100644
    GIT binary patch
    delta 41980
    zcmZU&1yt1C7dFZ?-KjK4Bi$iLx1=;kr-&fZqX<ej4AR|Q1JYdrf}nIMA`OBdAbLk;
    z-v4*+cU@~1&pLbWXUEwme#dticN#P95I)cVfpM|0u(7b@Uz6)35VFJNP=D37X(r3D
    zu&}<Pe&nd1mXd)yubQ?ppO(C~nzE9<!Cft7!<aF`5Po8%bFE7v3m47X<!RJD-68$q
    zw^^>#Rh)sm&Sj&kW~|3`>F-;;4wCOzaJRfPvd$8eWXe>cF1mbE*im|$@nu-Nid&TK
    zV|jc=XHh5<HIJp|BkcgP$O)<%m`*EvQe?G`!{K&)+68F=Zlka$(^YR|C(|2wn`A#;
    zvtOOjC8I>LG0Ovu<+724q<R^#&n6dHZ4GdXoL6wS{s4U*9${+;SUoxg{+}f8qLNFx
    z4WI|#02u%q8W2Ni5jpR$agw3|xR?<zZBlm(EUDwa0RjjuB900`@c*jV4F?b?j<%2m
    za{kX0k?RkDCB*_UWSKxow1^(WkEjU&K$D0;7!f^4j^rN?s>uKQM~_JG2T&s7K4ar0
    z#s8<64U$E3tbus`^TUe<@?ie|M6`(9k09v(9pf5^Hpv?D{~MkK3#07_AVO&12Vq9!
    zwm=|Bt`JOoeh>k)s2akJ2E<UNR52Xz|Lubq%J-ilErPfW2BH10>eyKS60~7}O9r4)
    zj7R;Lun-CFu&I&|&;+y%53Cmre!yO$!E@{vXmEucg$9v012>i8ZG3*=hazc4{n(Ov
    z2<Vf7abwXc#CR(N|9puFC%i~TiHDOO6SE}I<5!@?<M>~0#Qn|7Lg6TJ(~WqIAcydu
    zQGw~G;vj1DAt1?vm^rD2a2ahCPc(%F_QaoWK!Y5KC;&a=Pr8Bz=497snFaYRw5%b3
    zf**rwC}Thv%UhHfOVitBXiFIF$c_8YE5O`;DFFdVB(&5B86-AI5{#}Jtu#hAiY9nV
    z4+4M%QPDQ!GTg?XE=EBJp%7}!i}a7u4-|zGAW4p$4zb*VeJe?n?Kk+JtU;9h7l8C1
    z`ck6%B^rQ*H3`JR;=7p$8bn4bHg$t1XDR@#i^rV@MWb2)V;~yg3rpajJ*&z1Q=!L(
    z45lGylx13q(NnXS#;`D0jbPB8wG#P_UXsYOZnVM0vsZ*@^dhtbqsIOEFNWl9#8WU@
    zS{U<}jNo6`L(O+Sze9x$K=kwi$xv&P1QFMTjnlB4H-<5<EJ(u`sg~BTpv|wwi1E;f
    z=rcV=Phidm<ECOE1%#F=uAH#mAfyxsz)6aRP80x)4I+{fu!$b@q5?Re&5_GA06sJ)
    zg7`Mz7g~-_3n;?Ko9F?w7&yxaz=oj}*4Y8d=&B*Pc>%*X=+SdgKsq)WrrZO-FlM>(
    z08<S7qW}=VFbHV?oG_y~T7WHd3dl%Zz#cW4!QTb&5(E}TRSo&q9pDB-Lyu<wE+86a
    zJqLUN68=+owKA8b2g1UF!4UE(0BPi?KfnQFDjW=8#X$3y00scs6dnTLBt*l?c)%Ml
    z8j7U=OfU+`sQ_+5l7HO1N~}pPs3|K(b(%gxeigut=pM(WKoS=LA~DL@#eg_WOaf(q
    zFbsTG0U%+xAx2D&0v6FOs>cA582R2fAP^5d>NXEp!;C&y`X3Zt1*C&-VrYilJN*j5
    z!YaVS!eU1NsDaca=U)I&wDHw8KoM|L2E}zxRv0SOZUBPB07!%A-UE;$_@}W6k>R@l
    z5=^jJdw?1Yd~g8J#JJ5p0+3Ol`H&FcDg+JF@qkA7Xn0BmY{tETh-zkF&rMkShy$sY
    zsIvS-g(iFx7Q&ScNPsM20cK%%mDzxH7~X0rAOSX-tV;pNftk-;bs#Nz6oID?{Dt-a
    zGXSok(XIjTI~sj91TLekTa18qm<$+=fiQGbNNyXTAA02=OC5lu(3@qB>~sU-0&gJV
    z{bS%ql7G8SyitsxFc=F9j=C}kBG!F@tjHM;pbi*q!R`$-KwBW;K0sXzobd%-0dB0*
    zRd60*p_1-FF`%sxTZ`BvNQwZIC&GXH)GyPTxlkJP5QKm?kR742giVfg3IYmaxN_k@
    zQ4Cyo3Dm<t{!m~L9lG=D@_?8P3rSE2tU#|$WP1^C1XI<BQeXq70&?ZR-~Yi%;57!y
    zR|DyQIRDyrc(UpDEF$k6Pym@$3;YHk_&1oU>pg%(H44YSZHNbntOt&u1tdHPM?ENk
    z;Ee!rxQ305>}dp|Hm84P$oOU;5KVjUqTi<tu{H?gM~<}s$1(EEcR)r=h~4eLTNt>~
    z32Z{stFRy*eL~S&|D)$cj&}pMFqSR7K-4aC<7BQM_!m7|vN#CD46Y6X8Gtvje~$Pz
    zwt?dCMstXd0Z%X-eB(e4jJnw*FdhRBr-1)$7<4m0CCsS9Cm<09`pp6FVqnDrFciI`
    zAdQCal%wV_5Q50-267{+w@{UMvJ7klV*d;B(Y0tTqG|^yh_qY-zCb7EG7}X&j|$8g
    zT~w+K;4WH_`>5^9{}CX%zN4rVz5>5s!shx06vX(q{{FuJ%XWaxXmc|9OJPqGZze)u
    z4OO(ad%zHkCBp%#+&4u5i>n|!P&(=Vba)VJJ17?~j(~m`#p`2WCkA$%039*jxX%7p
    zbM;^UYaNYCpcO`;`Zw?o#;o=a5P*SAe}Rse#mfi-NnxNBA&3b3CKiRPj~}0+V#)g#
    z3+gJz2qHyH9$-U}HI$%03<n=I=r20E`yHk2|5}k3F~tSCi*&vP8b%AGBf}TxPy#2k
    zz>OBPjWIT%2hn393}6HSFz^L42oD3}SV5?>=cbv`*+5`)$BOaj$Sfc%=|O_Xc@EGn
    zhHID$M2At`<^i=~MoaI47%-z_{Gk6@`cM$%>}FAA-X?8nL*%f51Q7hEs8S1xfCez8
    zSE3+hj46`@h#LbRNP*ZfFhB+rg@L$op#M5g`aVbnJ(V@(LVz(;-Vgt^(M|bCkR6Jk
    zB@BO-GDra3qK}&sedJIrstHEO>4A8WIBFo&ZgrEjr3PpZ1GTk59T-!h2Ot)-56Ewe
    z&_$GwC;w{8i*(Zi?PGK-3_!wYowa@8T>y%{53Mt11R_KGg>JM<d!vjCfH!^-M;F*I
    zB%=u^7<~vGn-?nhpu~k}F>>A%^aeenTMEzfmr;_Nm5a$N-5hj)aUE?5YR5oLYfvAW
    zE#9CHixm|G5R6Dr1o0r%Y(OID_{t{Ud;D8fPXDhuwb+4n(7qlq;kvb=r2PL!ig@xH
    z73dcS6g9d^<xU_QOqGaT|JO$p?jSHmf$lK~foboSXQ0~{-OtZKRG^#lwgB&G{WsLL
    zgBAy|{v33xgfakxxk=oDgIX}^pI(AC|2y^~K~)&)C($4T2I9qn0A%Qhi1R>W7>3m%
    z5I@?B_p3z7Xebue3_gPR1LzjwEdYlSsZ|C_#hm|JHK0_Cub1_pBn+f(`d>GHZU&*Q
    zq&JPR&<bipn<3tIgH~^j8$@6a2z{SL$n}DLqZQ@)K-(A_-a(KP#?{;RAZN^F3i<)$
    zkB*O^gXH-=)D#JT|Ha3NIE3K9kewevY8ZRGPaty8&CZbU9@k+PrRjqp`T*iW<Umo1
    z7W1H=7)7HckS7L?t$;i+g^>FK8pTwKa1%s_xlHg~g8tjlj;}xp7&Gxdpd}J?0@TD{
    zHk_MV3M&;&WIoF46zafcM<jd%Q6U{@z+D&<PFipg&dqF6udX{Qp)Od{w-CoQATmU}
    z0+<;2_YT++4=nQU@OvZxt^lGTu`n2ffmEX4ddw|uTppYcxN-T+npnRD)qTdO<`6;X
    zMuHiTISSxKOd7#TU~`Q36%{Z7Q&2w*FfSRJzT6Tl1}6OH^z{qc`E3*lDGbp~iu$ar
    zB*4K((%FJ9L1@j}j^IK{l7E`_1s#fPQTH$rR0e`*mxn>%SCE_3<_v3*^{99hK?o*M
    zFf-ywB$xnM^9qbvWSh1lBm}4mZT)}5Vc`FE*{L^R5A@paQKBT7M`_AKZ-|g6qH|0t
    zt}$R4%#>9ofc+WK)4){^4#!8w+T8iSqIGnGo3PQNJ|kcOba$0hOoB07HB;b8bS3%7
    z8?kKgv9KVt|Bi^8N>+aa2VpLyd~4u7Fq-G=D;Q;cGf{uOfh93MrBA?D0Q9KTPcZ7J
    zxKWTh2QOpRHPc`4C-k&5T|xdk31~qOd-NuQ-IwUrjVhc6B0&~HgUD3^<04*AqSoIK
    z1Tux0&P*7D64N5hq>yM#Xvz$bdGr=``zRvQ2~{&9Fd~;7!i9Xu1o1<&JDm)%{<{tx
    zBXZaw+z5Ue)OsLdg{%Q?4w*EpMGI3z20Mfg$<79G#du3)hvZ_QBqu}&Q!r0%$P4hz
    zR5SJcR$fDS+k+q;FhDqw9Q=@Dj1rv?1obU@vk&YDLrT!m<(>>Pyh6qB9EjE*7KJ2Z
    zl&r-em_2<@Q|wnHiu5TMtwbRS$v`&*brMnhzwhuj81pS@NEXICTo&@*#j9BkvQLcm
    zT%rr{MVpF4j@C#Ou&{RX5R;h@2E+$l2oBQF0K%+*o}~Z;#0y05Z^H22&27c}bAp)2
    zgm55PG9cNQNgc?9piZuvNo~%CxI%B#!K7i;Z%DAPR1xxjK;#HHCI~)aH5&p$8Wuqi
    zBxvoUW(ex*?Zz;;1u_l1S#9Q&p!+7MHFO{MUz*ha9+6<kpf-p%1g-hA8?pnq(Oj;#
    zin)s_NEryxEr-!W#53U#B5(CURMBiZwEJ}kRMd_@#MEa94>EHAQipM=I|M;p@Nc|V
    zjX+Qv<qf<X``@V11O#;lz8N+70J)7>?Y<u&|7|<)S%@OWZ0Iutb=SSoHCupqLvI4C
    z57<g^#=*imA^*2f(WxMgK0_b~3pN~5B-uK|3+HA+5Rp5O3ADBOF68*X0QVvP9a@rS
    zkR;6L)H&oU2DV;6X3<-e@-MAgF;tp|fPd{xjiBd5@elrisG=*?ml1{ge~D?Dw4m~U
    zn_Vkl_&3?Vvm*($H_Ioj)80Z<bKyV{A2@JehzL#`Iwa~V_rLP+gP~Cv?_CgR2QfP6
    z7nD!|!kf;I?UYF<MLittVxecxk{bsbvC0bVy^*?otFK=|ouXp|=z^f6^vKOS&~H#Q
    z&m<3235JH$!cbOBLFGiDsN2&`Z2{uYE_6ypMPa`FsEqT0h$pr%D#U~|ln{9$0gXoI
    z#3%KVXdV>@KT1UiF(m<ILAdhbkRb-8pkL5bRnkx%jN9e=&^1!@%IGnKE>fTsa$TXQ
    zo5YRV5)WuF=Ani288jFDVuBcd4n0DDEB5$8|2qu20-=9NZ)TsafbnTI%Ka!1QRe|g
    z?OXgfc*vtTXes7XGBW}C8I#uYB<T8o?;{APCFVt@^DXLpzj=;R=rwzlgjy50cnFUI
    z=xxMZK^y{Pe-<<gvnK2dphOtxTME66i5gJ}oxwnlI;b9|umdg71<=h$w3u?8R1&I2
    zA5lNie>I{+cnIU*BdCONs1V!j&@A+~cw`4u1=IVp-B29#x&p%Mmp6s6uzvWVlOq;E
    zB}d!`JruslT`Mr}>fb>~hKI<jMCEQSf?Acrzo71r8*x*nou?zJH1&Xg)>Qu<fe}?A
    zI5^0U*HBMPO;rCvyD)C?KrllLw1dKgF)$McwuFI!1h5fIv#1fnvIx<$wnGoArbNR`
    z5!ee1FQXWY7E>!ZX&4U%K9Pr=V-#E!U=tWJ8D&@(x`NFbFk+0HTocBMh6rgb*d*Ek
    zkv1$Ibdy`)>Y|<zA!=8mL(pr&ZX>RxaA=V0x-e@@R7%z`)aHECR^J}MP~T!V(7_g_
    zi<zr7M;JcZKVr-o_Vs3oz5-KqSfdJ7iMoccA(%8_)CfFT91`TV3(N(>@X!rLjy}#2
    z9^SAmG_C0~m^Fs0^Eqq<J(%kY)5o;fxj&2<^K3{L3M<BR=1>?cAJgvcQLuB&gN{=?
    zj0FSZl3`L9IFSashk+znFkg&WOg`)fF3G>g*6)Ia&5Ni8qe5*kq6k16j1mza1;a(u
    zR>A(<^tOh#WdI4PRg~}$fB+cHKPe7!r5eTrxp}M|cqTNggvy*B5#J7DMDjGki~u)+
    zhe3pX|2}b^qXjihus4|SC6TZ@z#E+mG2AwNl#bGk4kB9-wWA^1VFbwBR@ego_P_X^
    z^ikbLM76{2AnDp*4j6_v?XWluywwRq0&W5YI~?zeqq3k!eFe3{7?6LuV5nX39|uCC
    z7q)c6X7tVZ50bABcFGLT5nsXOZBo!G)DKG+$Q-->i<Fo`$b>?uRqAe2(N{YX_DxZ0
    zpFRAL!&!IN7!OjbJe;ap1;;QW7q_L~sj(Bji*woibE%^Km2q*;B5B%;4oFW&@(gd?
    zPOTE?we(DO&+y_oWaqe!Wpw(bB-U_-Q1HAQTbLzU&#=06TWI(*{H3bNs5IMCCv(=B
    zBx`q)n7cn@d{3hNPA(7njh?aQ+|32N`F$}@I<i{1nVu}f#uTKw?o^Y{_{@FUxicUw
    zOE)0tSNm7SKjS7bBhA49u1=<_^_&O7ARNMqqr>>EU#szd7VSas6pe-9qH776Aofei
    zaoV3k9=$@z$&8!TJn+MBMH-ohj&y%npOIJZexImMCc3mwE1)O-KqzniuGggH%Mp9v
    z>gJh($4d|W1s1t%<i)$Z84W9nmtrMDtAM<fzX#rLG>-d(IyE*b!ApF`tBL*V6yq)k
    z-zOz^FE~Y8%LtwoURP9Qhw=y6RIth*J~q61uQh$?^5BT)!gw1VpXFq!fY;~{#G*|b
    zve~pj_$ncJSnZ`-K+Pma;pUG;mF%wquZ$ZD*`vJ(OU$SEkDVXVG_)I0y7O4Hx6nLy
    zh`>#LHvd;ci2h5e^b{#VdFJe4X6U8Wus+g6>Ya4*-i7w32M2DaQWc|5w$6AaL!w(#
    zbIQ21ZPiT;T9z(c;Fd;sf~D6SIbD%6B0SEPewO+tqe`qTCzoAR9upNFX$`p(t7%=)
    z^lB3Eg!jgO9T1EjOQihpdN?iSen67*#eMrgt@=CG+Y5iL1nb7oGMi(`Z5qDJO|crS
    z^2;}f&!4Z1tef2y$ls`_q*&EmCnndC^jRHPS=;ftXTSRzWDUQdP!yqg6<DzDR6v|h
    z`R>lB6cn3u*ZE+DcJgvM_wRSyzuyIOMo6plg_`}3;(pRC*Ey_txbsfN$L>_<3Ok!U
    z;eV;trxHr}v#%Q;=ddul@$>sBr|{zI%)h$qzdN6XJx+U?pwAfG^Nn&{B}2JV%Pp0D
    zeUpX(6hE>fl+G;)UyvIzrpNm-t$2HWW;!dnMCj_Yk`lk!KI7?MFTU5j7jx(9uny60
    z=kE1@&N*wJ!L|h@$Ha)oL$;5cg5Cc7aQFRI{!~_$i7HX($;fH<Y|!4p)klZnpED01
    z>b4`n%(1`8SBCK3Tq=$Abe#QYh^0?jQ&B71)RrFIN^hSqEQbHC@6lay0efh2t!9UB
    z1(!YLdFG5mNaU5AXT(`ypB7gj{y+ifXzn*P7hUj6_sS~P8<%^c+G_j3eP;HrN}d(%
    zMmWF1j{*<LWk1ddks_RutkP00jnBrPGpKLT?d+axRO`K~y?@+ennznSRNk`mcls&o
    zHr>>d>G5*e{j^TFyYt!@RsCu3Y7>X%CF{Z{$&?Ub_<j5L2tD8RjiR3wlwzWjd0O7t
    znl3Kc4UMg3!G;$1?tUFj`WROYA$mU$6qXcF@@bYJopQoN?~RTI{%GwR;~{>NgCFmT
    z#($oC<B{~3$iIZdu<A;e5BqWNxMoo4nYu6kmKdWH88eU|ggfQ;nZIG=4*OI7F5iXg
    z^iyMPb#PCwL*OTqGoO)6zn?L9ui0{4mg^0gPbg={OX?#9$q=Kra0T@<sQ5gGdet)8
    zT3Y=)Ulme#daAw)o4jrQ(@f;o!>|2@xSm_)%PB{pSrpD=XERxbtAQ&f2e~sMqI?z+
    zEq8yncc^kV#2dli1(DVuW_YVSN?ohX)K7PnP732>xuTd>h?iLXbi+mAbd3vjb^Y~b
    z8;W!xGVbvKZ(k85%ne7_er{+_NICGYtg<o{t1<aa2tCx!o!R-KHav{bpc0!*I9&5?
    zH)wyXAML%Z>u+KfkUYkv@}&;4qWge?_ewk`;urOAbKX4oMbr+0=Y6>R+8JwVbK|o{
    zYq2UM8&;CdRq5lDwT*#o@wODVWfSZu1aH>E=PQW=8Xu!x%`Jz#b4X#cL!P%0q*5D&
    zGEbaYsE(0c-=h$pb4&X1`K^;P8RDf(rVRTR%eP}$Womd-e8x-I2YW_v<-n^C#slSz
    zSP#s?xnUWlaGrf@)zlcBr#j+YoGXMZbvwfENm`#}xssX5;H($NikkNwbc<cEj7MmV
    zN3`~CW3^bw(8(+ob%(9<z^rJGzS2!uVO7XXw)_Cd_HN885Iwqm0&n46KYW_Y)2VWD
    zKx;5M@VW&u;7Jq8TxhC-6el@x!ugp~cph9m@Us?P36DcQCSDb0_;6P|Iqy{W@AdOZ
    zAz9roQwDpL$#<y|R`2Tx6gWyn=PPUI5JfMV*>UY>-5#h>$~^YG$02c)S=}p^!;iCb
    zLQu4M66+vOy)Lx86YwB0NcgU$u;b%p=GF_{4$s-!ap@&?Y8LK6Cz-9iP6eTOGYoG@
    zO+EuQ_4eQ&Dv1e|zeRy#c+Wbxg~DN(@1;N7;WP>8+t{psJlo#-ET)NOyrRm?05QMj
    z7ey)d$==QswN`&CMLlf6@k$lpOYJzj-RXa<7CNPpXSDsIMsaFGsa&b>x`dDHBDnXn
    zV^Ae&<S9GjX8`pWO-^MkKppRKk6-L>>{kKved?0%Z&n9OPKh%`A?v5lZ_jRV7hX+%
    z2c$z4dpHJZ-G>L#s8n$)W7y4(=|Fjs)fZ`9)lbRQPgk#k+lf3{Y+-e~>OpZuGGELM
    zIrS$<qP%Viak?%_tkvynZdsOiDGK$PY26Aau3vcW<MtykZ%O9hEoWe<{}ToEtow$^
    zS4}=I;CHbjiIu2Q91(jfk=@O`Q)vTXL_Z0V-}Owm{O-&ZT@$cyKyH42p(57oW)QF~
    z(cdfe>G5m&wR0hyKgD#ODW0xW36}ZKPLv;g;>*)LrT3HaU^KX%E~+$yeHm$8%rIN9
    zFW?Hi(~QLSmNRjAeNi+f^NHDBc}zElGF9XPUIxF{5Exc|P(12|$2s>p<=g|u0J$f8
    zYvJHm@kHvU7D*Onf?})AKb)OmDup5z6yB9O@}2Wwp<X_`5Zn%OW>QZUA#Sy6(Fa3=
    zT3M0O<$*+IP|D6b&cO*6ePM;1-riLj!%FO9ltP7;+VsXMCx0pWNn{T<%xeAL7fU8S
    zW(|Vp2VcAt66%OM_w$>9tkFM@65;n$HBXNDIChFVIL9MOx<W!8xihrO&aaiDzWzcs
    zhNk68;Soqos{h2U!&KV!^zDXUq^yRt&a4jE<oqS=ab`vK$*Jja<;Sh4Eg%=eWY|tn
    zhktf;wqxlQ^G~-2lgdBME3-9bPBed-muG9icjhaz$7Z}*{i`2LHk_txw5rQItT@Z5
    zTFEKM-YVbn+i6vnF`MzK@^3D8%<vza^~&;ZuGsSLP>`PdEEegAP}eElV*A-HC(|}7
    zRF*BX(`q7vEcNj)Ja)hIff9Yw*`}J74mN%NMJYMBF1XAW{?<R3QpcTT-MrdL{zzRN
    z&TAw2@w>C3(*k|53`g*D8tjLD#6V!4AlbUtHF4u8erUxV;HDsUn6oR_S*_eafu@xj
    z;0p<5<uK8`-uJk;rdaJZ)Oa$z%-D+*mn=N6Jo6XQF9KfxU)+De{NfSTfE<172kcOF
    z;z(e$qPIcV88$bBL&00PoBBna91V=09&Qcn7Qi9{#6m_ru{OiC@0aG=h*boJ4#YnQ
    z3mw7MlK<`-s*RNv`CT|vyOQIB6+AR6G<19Bn1=hjHi_ZUEO})Q_4~lkto!RG*g2Qj
    zQZc;^B-tm}8D_c(HYfCtnkZ7P-Wtx2^~Tjpj>_H}pfu>`;QXZVD%A#0zmmSRqy#=k
    zLlo)R_1c<F=(5p76L~7A@wa{8)?4KsSqJ|lprG$---7c11s%}&hZ!C!Zb=-OQOdj+
    z0-|s~(I-DO^YB>&v2fwZB6|8%Qq-TfKcDm2;owS~0F-#dzKd}s1Mg$0*KRy&p7Fc3
    zN8FNP<*ie0U(sQeC%U}%oWT{BU-1^4%PAy&radR@ShdbxmCu}MYGV2&C676cf=gso
    zevereeJe2@zEr=m@gApo%ZPgm(r{e6;_;{FrJq*~tKM0Bx;^mfPfntZW5t>?7f1T%
    zr5eBSur1Z!UdzMI+Fzv)GeqV|sHz689NZ;IdE8<~B8}|58{Y4K<2}IlZ=3(-4fiT(
    zn`SS6oDX-;XLrvJ5$AH!r(hhrd(GV+62GZFN?N#eX}l@he7D<2K-iyCX#wQM?y8sY
    z(>JMxna(#U3V#bW7ino~Cm5vgBCA|SEHb8E%GsVpz{qXSHcK+9Xl`(fpbB|dvwe5r
    zy*N`~+NRUOn@R(Lftu+yv!9E0i||JNXM=^ORP^>1iZv0?@>j`U2g`%@fHCPuAl!J#
    z2eyha>?Tjy1u{#I!5YQJL_53oNS2_6q)v%}=Hb(d_|93i)pVOhJAdHzV%F(C=NaeQ
    zPT)3`<Th3DT#5aqvuf9{S{KK_-PG+Nrt8EkH~d7tG92YsoM&&dgaetgZQuyp#?H5O
    zL3@HRGHbEJs+5xNfAC!UXmouc<}MjwczF*tANt}}jug(x?xonwl8l;{<J5_%DRYiY
    z)1Ii2+#Sp6x_S@(vF~BQa$a>&DMS6Wd2}vouUQmX&RN@R99LIkwnHl)_G3#7R9E7t
    z+q6gGUN33)^i?Z!l5yL-Q{;yid<!P`d=XaQpcQXyB}^@%zjy2Yb)azC!KAnY34v=v
    zQy&lF*CHLvWSdEJbUKo-P5?|KsQ+yDuFLLnb-!z#v)FgPTPf#ZN)t=FC8>t8KJ041
    z52o`5@;PnB+M1#AZxFkRR(uA-@>+F##hko3+baCk9m0(Z-(M*nLJz=juI=Y+yv?-!
    z+J!sS76z?Wx3ymK70o^SnZoH4<QHNiW<G1_{$Nj8%psM!6&V;7rtyBstaEf?j91{S
    zp6}tw5-FJuf2_-Iow^KlU)RXxOzk;c(&A7vJ31*>H!!1LezV-;p`<4Z=d~7`XDOCG
    zbhC|LjC4Q7F3#DP8yIAlz;PAvCLV5^87j<FRQ=sOlm5>1$(kW!B!pPWG@+Vo^&-4#
    zg60@trb2!G{hW*0{h^|yS%m;s15RE2eccVRy^11xP9JU(1k?5?mIX~nwf|KxoyfGE
    z;rr-5p8F}0_D?elSslXyqv8)f9wNMM|H3oWqGhcmOnJ31|4uO9Sqnb;&DAw}I?Ihd
    z>~TeDV2DM64YFj8j{JH-dz#*f;yb4gd$wO|E9cp>P$$6B{Me68W_i|IftigV9+gYu
    z2Mc`%+I1_I`+e#?G1+;{Ng_S<7JHQZFFb%tUQ~;OKuVm*3c?ds><RTipunrhF67{o
    zm6fEJ;JEvIakq?PUk}5d#SMoE=npIvME2B<Cex?fx5(KmGp!9EU*U=OzJF=NSLVm8
    z+&5hjQ$fDutylE5DBsmrC+$39!;Ss?x?^uOC1k+HyvG{yRFVA5{bdHX=Q9g~hAut+
    z6*BHSi~Clm*hKG2QeC+rw#vNLW6V~BKUytLo1L|atUuSOk5oe7K99m8iyA@|g$}>l
    z4?V;cjU{~LT5?RX`-X^=p!Sy07$w=AyAF<#C9Lyab7=~d@f^?SuU8$mSDR0W>OS(M
    zHV(zq;<3@&Nk0isA?>?2yocq>dcXDY0yb_+tH)5(0}eW7pEJ5^z<>;5${%!Isg1X3
    z(l4cP$l7G~Lz^j~4Biv+sPpA9(<h%U|6oTY|A;pxa>HA%c+@$GcG_kW4;~o4Ki>gK
    z=neShJ}lKD_pg=jSfOJ~=*SU;s@5>ipFfC{St6F|u3X+rcx~+eh>G8~KTreyo&T8;
    ze0Z9nc_u$N)IV+dymaR|M@mtK@S)=7<J5(*Ghu@VtpQ3Rs!Z?!>m0&aR%!*)Aj9?N
    z`g>DZZa#*x>p?_Mk426Ca9qhoqz;vbng>V^WOD>2${E%@s#L3Ec)&jpJolZmT5x%W
    z`6$;`k&NLJVV!;xk+HFe4`1Hi$FAK5DUCV?3CTs-Yu&IXI83=>F~W?rq%|*nh`a>6
    zujb-Jl=Z1t>csBDo%HSXoyE_0)jxGGB@jAQA}CaqnQU~w98;@$if4>!7bWW0Hw@@E
    zOUFSJ-l)=lES#R$Sd>WqEpvTUE@0o!C(r<)NGTdTpV#O9Szb(j6(Kw8d~SRB<-p<o
    zPI~5pGRJ#rw$ge0vK8WgBe`aUGzVx5<CfX5OIp=)(rxZR;EoHE%)03>OXMY)e>xJA
    zT&clvjZzQn@2!sbuJbwF#e<vJ8W|{$my=)3Msn4x*y$k#O)isivlS}S)@akyh$2En
    zu3?u%S7H*%T7ObLer5Q6Pmh`+vOa2=&DNlT%Qj%XMuuXVjZ?9QVfX49_C-v4<lZNu
    z7O9F{4hb;+4!qlgF1h41ha;IZ%!W*T-tsIu_2p0fu%=hF;xb|{3f_EBmI$pVfX3_z
    zy7*>U`@N>M6o@C`=eT8Q)BT#(Dz7g^d3>~EZ+_dT&d}d;dtcqTFkPvpK-u1T*77X#
    z;c2X$5jef<&sSibwhAfh^#Q0@1^bKhwPSe#OZacOp9%2gz2`0&Yi=^Zvc%JeGOAr4
    z;AQc*upzGm!zcryiNl~%#QK+g!)ep>f8;86<8o`PXF(l7H7?t1i<<ZPpQ;*i$b|3L
    z{NcX-92xhuVmw)XAkxza@0S>G7m15!cDGT`_=5Oq`4xSmBliA0;L}A;reDA(i!GD>
    z^DW^)FH!|KUx6Qi?#Ow7xcr)H-B7d#xKr<$oY~zOKO5*mKJLQ9DPdVYhld$?KBoE*
    z_LU+!72zjT1PBY0UpA2)jY*r2F0EF^ES>jedsD({BKu2K!M^U)R~q?-?GA@Vlz+6^
    z?`n4$)dU-w{PKU-B4)QykP_xm92Eds<JIwej#7YIw08<zn|8cQcG_hKn7>z{<)Qy3
    zC9S;9D%GhX6B=XSk;&G<yZTwYN>5_-iC65i9s0Z#@usNExfpuCVfzMcTc=4o%8a!Z
    zk156soA|2IrW_e|*u253_h%|q<N;eaXOCkx-Qn6ZTuer1HI_aRLLXS-!EOQ*`x~34
    zB@dP02O1aoE8DSL-#aWtmuYN}xkv-~Q^6f?!PTG$Ds9_>PqJqoiByVOf9G*3GS{|!
    z72K}75E-mWuW^1h9R+E$bN$YBE+TO?rQ!Kq>s(|q-}r`(HA__C!%<`I`uz`1Bi%n=
    znngVEAXthmG4+jcBlp}4OpN`=d-mAwbofz$3Y^sA)5(ycbDvIIZJ%43wueq0GH*Ju
    zcY5Phv@p|xp{B#@+GjG+ytjE6)wQp+|8|&a1~`?y;5Jvbh2u1B6<oVzNFkh?K>5O&
    zz`q~v8u948<htWjGbhViHDlKp@@r_F;weWgc=N&O)PrBqa+U?R%ltD9fHA3O{-3^_
    z1(3t>=xr!wE<;oqDh!$>=W+N)?tO>v4GAhcb2_8m#MgCj*9B+Cyds#at<E5}HN_%@
    zS2VX%rh)n6O6l1maHVv4GV#c?3r3mnJXoKatHs9D)oJGWy!q_fz1_)*v)|bZpn&)L
    z!aGQR5puWpI?qMFnZ`F-e;?>eA?M66ZPtMc5ky~5i>X0F{aqSIKHo1>EBj-d{m0<l
    zHRsQLotJa5oay+oe;8w22-`9(RJ1x`ml?C`ZCTR%!Z)4M=s6||!WR-Fn=L<B8FcU%
    z80j^HID|<x{0PwqD7=)&locxqo5tpA&9of#+&JAdP!x|jt{0SWW0cj&w9LSz$^P;l
    z&QtcJ5b8{_P(Dp*9J;Smcu2j;$@|7wX5_inEAe}*oaXq#I6pv*wF6E&E=S|S5yU3<
    z;Bq8?3-*>%0vgQ+NS2m+yras?d795${L+g{gwx8pxoTE%eZLqj;J85YfggJiZiV%n
    zE|T*cR(Tn2fmYn6Wh$?<INj6ICpH50;q5%ruPbl{-cLJpITslg#yFXdj74x0jXvhe
    z`&>Qs+VzX`>7eV-+S}~K_TIid#W~2F{+Ct94&eqE&9^g(YeNwcDlYqgJC*7war;y1
    zx42Sd-!<wHSlQw;<uy>pw=f<=00GRD)P~RdE;+%~{L($O7ej8g+5D1PAp&tSMevxv
    z@#V8eICQh|Fg2mqj{}AF%^FK*rmOSjr<D&1Qxqq4g&TUG_y)~rIv4G8R%s4;C<Y1-
    z428ECajhVW8|wsRP1{R;iKoC5*$-KDWJ#HmM16lq9D7=lS%y!EdWpnr<E#Iw_#-y^
    zTYZNx`K>^l%NJ)Kc8=-kGp8Zp{&2V@+h90jY>Y(m-*<mruWm@*y|&bfH`3sF-Dnom
    z%C-us{L}=Bq;Z|eGLaa}qWG}s&V%G~)%#;`hs~bkxWeO6_ThwsDL47Yg^CmnUjOC~
    z`L2S#CJ#*2SdTMoo{?vS?3I;V)NxcTt6eqX4uSo2Am8Ht43O_XgmhHCf74$D7mhHC
    zlkz6F-m0UTHxriisDp=>WF{Q*c!$PNDsL<{dG_}ZhLlk_Gt{v~vXV;$e1!M2OR@YZ
    zZex9%dpwwE{IINXLdp3cVY(RGlPsw@Xxe;iDY#;S?w;|M;8~H)HD&$B`KRTc5>gt{
    z7I|d;IlOxN@UgCIc5&1n_bwIqF<W{@y7I5K$(3mS;v#`RdEp1jw?g=3bhht-39Fn9
    z+Eun3{wC_~E4C*2i@1=^OIy8cq6+I(-NpO1P(pGm=0g%!pK4mC-4k*`f(ZSCDedxg
    z<Lvuc_^JDL>?50(f~T#!W(BnPxu;xC;Xej$`+64m3Yd2K##!d-y<EJ-1Gj)vRDInR
    z^la?*B6Spxf|B#H%FmGhbW8EmsBxhv@<?e_PuQ}n%Zv?-7pTiS?SDPf?_%3T9b>DR
    z5nYl#mt-7%+8yo_nx&OaZy;Ia)F}>5Q>cy0;&vbQuPL6ACL@q?h=5;?3nW-J3BCF|
    zvufnC@;pM9;-gpfC*#(8{P11fD&?cdx5hImHh$Tp-2xM`?x}-55anT(*xmA3lOgR^
    zF!%O#nIsFeFG_;#`mm_2kh8cvO~=rux{M-RJR<pvu%|Vr&AafT#`(t0;+9V{6+z46
    z)#FT-q>-=BT&+l(Mb-PD7PNw+66=ZUj3T52ho2V;60R2(oLGy-wcvFb<?a*<x>*_X
    zZ2Q#gU2fW1!NLrm$XL?5bTZy7t0!1Lx=75~JU{Co9ls}MKw13rftfxr0nRHp0RK-9
    z*x_%nPrpy;93k~z=e1oU@t?!7dJ{ks9eHILNPRYNM*qo+@#xnD>&c?4P73Z}<;}g(
    z3%Cs~A9c-ylcy;kyzYfx?=?E*NlS4=QkHeV@tNu_a&(1w)Zx0hF?|Fy^SX&quVPj@
    zt$x<ma}Y@LavcA$68!Pn_wUMPCP!N-!ZVB7q+n>+i+gO>7LVp(KWA**$`r4tLZ6yS
    z5JTDT*6URqQh4H@ZOO)9Q6EX?O!8X+xbDxtPFXT!;J)hDeM))<eqL7!pJk}EUSq5i
    z)`CC$i*Riodn8Kc&}M8Hp=*<Rl*nH<7B->o_Ykg=7yGDHd_Vu~k6dN<TZfmzKe{M>
    zu->0gxOh7}Ai=qRn!Xh2bXToaDAVmP&3(F(l7uWtO5)w|k}b{e#DqWS-F3Ad3sX^u
    z$PJW6ep7bWyX*2J-w$5MFQR;sYlrRYCOpY`+I4wV{-IR*oM}1T6ziqdt2*(RvzPa|
    z*@fq()#-$f4)65i=NlD`Zu-jwe*c!9$MYm5-(LM^M7k5bXYiDC)U9Unc4P#QKzEGu
    zYwn)}*F7O6Joj?RTa_X8hnKvxKlVhVjfzemFiaD1hps=Nd3hQNH&pv5h%1r*WU#C}
    z(gI@PBU;3(aogwWcN%XBa!H9lt>%t~S;F84=_)~kit-QT_Rg6vdM`*~n1t8prWcgb
    zm1hA)@t;Ihr<_jrZ0(Zjs5lMMhfFTk_jotd7xeo3V{It*Im*+GzGWyaxcD2-Iek50
    z-gom4b#mM&C{1(rgFC4E`QYzURp+x=4pdX>j8HMZ$EIkX6jkL6i+fZ~AEPHT>Sb!?
    zmft#B9N}Tl<^0p?erTg)tlez?+@J22^6Qs^$eMv-NxG;6#_#s8l}7<@2oPV7%}J>6
    zg~bqac3Q?c^qjGBMpZRDv6?d7`Gz7shU!v7P6Yt-dE+FqCiufsmuHEdD#^;ON#r(H
    z#Bs|5^wCQDZ8K%*1oKH`<MPiW^50ntn<r&V5YQ;QKDpP%pRVznGVrwcY$s6Bhq1n(
    z;~jr`i2==ho)JDyP3JAWM4y$rqRYJ4j&G&r>x2(oeG<SUV@kz{^Lk`Yw*4LfNx<X?
    z>3Gr(ZqwOg(RO$_+tA|Jl2dHFmVot!lBZpaFxLYDUVf!DC3Um5Bqf8|ra5($h1{#H
    z2-O+>aO*D*ei+<;pwhcZl1L^+zF#$lyeF|=^`3~zdH*#0gJ|z+wg8V-R9~n}fw(nH
    zJ={(m$Z~8@=zEVlQ#^xpkV!S4-7)FKiyTk}Kuutszk&_ks<7?Fu`qPkCQL7raf%<{
    zY+Ek>br_%2L~$hydxzyyj*t`OhMoT2?^irl#s?d*??>OS8z141Syfrp%z<PzcPf57
    zD<nxC9jewJtRqO_kCk`Tao*zN8jvqsfM*@fkN7s*-o7+Rm4r3&{6zkw>zlCK^7WI~
    zp13L;#?_~R%Su(G`o197OLSQnNV#g#`S?kHvD{$7U*(IibU?JVC$Wa_X~BYW;vI`Q
    z{lX?A=3d4Gr~E-uf9IL}pk0j*^I@GFGu0(w3-<O-Z+Y$*HEx!^EqqX4qtYjwmf^yD
    z>8;0h-f+wzd8;)eEPC6gW_pD=QAN@J%CbL_l3T*S4Sr}RT=jnHYw?z1U;IQ<<7uHR
    z%;!ONw*-Bemo-d~xv|w|QI}pRpwT8E$LD3wH0M;j`O<^IOXaaU422Wkw)%91VdwSf
    z?O&}I$J<XwN65GxLq3(?abhD~fcTb2n2qhR>>20j(e?O!lKRkaX)M!l=UP2RlZ|^I
    z8vE_AU=93<>^krB?@LkaqI?Xs`Og#y7<!NFLSw?YN&HN;x4soO(!a^?d%d6iM(u(G
    zFj1Ij4b_WXsL*EVjeM}MXb3Z2*hrlg-POM>;~;;q=a^gkMw-pm$+-3tg+YHlkaLvI
    zv*PUMM61Wyt`kSG4#ioIIxaR_8Jm3+OT<-sv&;w_A6fi%U6fzp7kdZu#k$Xtf;h*;
    z!gcR<1pYlsh-V<_6>mVoyFbhUCem~P;o2F)C7Yoy!d{+ZZ!UUyTYn|Ae)cz6sJFFx
    zR;FqtI)rogK2_haKDCuTTN3?wZZ*CoW8sCNgUQytD&_CYpMU!a5G2%&I!2RvGFpnh
    z;Q0=(g<FkI*ti?OZ=11aJ9n_2%9`c-XC9{SBe@G4gEoVku^ejg4@1<4+H&jNT()KR
    z6PbLeq&cF+lS~LGO#8G+bmm{1JJ8znNq0h&U#@nOQ3MUrd;%8K{_RFg&zPqVa_l@0
    zmo0CM#BJq?5!B3EDxTnYS7B{3^!0;q;HLsLBX|rKZ?SWS`S^PZ7YDFP8R^EF`qmm)
    z$ctk9eY`duI3kvDqSmMuA$shsW!8Gwz$U^xFnAQaT*kv&aA1B=8aXhC-L#}IO+T8Q
    z*Lp?p?O^M=A1c)~H^=FnvNkiFeAb#(S!OU2UE$$~N9&;O6%bQhh?5s&na2@>-D8x$
    z0VjpgQR+4@yQHQTHS)cHoG%wD??tVURCudY&PdsSrk=ho(oZD$8FqPY>mw&kcX(@;
    znER8mCLdEQ*8sP2b$@tyf?4Tr;o_;<%-p#Z+HD8nPW92s!N^grovo%qf?zdk12vK)
    zACKv`qABWh&e2a}evrsZi9IO$JaE>)_W>T+d4Q#{X2(`!(UmkFLhlJ0D9j747oLHs
    zeHOEJctt^{ULmSooQx~grb-i)L@#7y+i!i$GX7_i`n@j@$M4)pthkZyyq=@He>d5v
    zIK-o{QD9qn%Q{SCJ^l;hZGFvgzGsHTG%c*%wS3Qr#B5Tk-6dZSt|Z648=_!r5k$h{
    zGn~x@pc&?%-@(nwbrB8b4Zp?#qRYf!W4EOd<)N9VjWt>KHxtPadc~9ap>F!<9^HwL
    z&>qLmw?R(?@v9A6YacT>^sNVq9w;pIx(qsXSqN06n`LT8iw<&xj;o8A@91JhQ2KD;
    zuGn)r{H8#JbX^J<bQ4Rxoqab>P}dE=sx;z!VM~Wgpy*6~g1vQBh$Wkz_h#io8r$5h
    z0+%iy8h6>osH2^oZTat-_cx!0YnFPZJXjAck^sidl?2pXyk>|?k=+{<P57#tAo}wD
    zr^ow73N6}NaX*$9+zrLorXG7NR|L7&_&5^q5%$`5KS|VIz$eL*PhS};mM~GjhBqXS
    z@_e)p9xBAwlFzQBYO`;pE^3=g8R)Ut)BC)jMxHR;c~`2b$MrSEYm?Z=qXjjeNbd@d
    zAQp?NY9*te|Db;Fcdp#lNNcocvsw39z1L=53o(UMcO%J42vT$oXHn;SGpglPYVMa<
    zxm*^M!S-Wu0pwe5Qu9b6h&7D2%p2~s@!{BFFPhqEJ+IF#^wc`@mP9JN`v<P9&BNgC
    z*An+VGX*S<&lOl{Bfno5#!#j=_q}!HuYWSzw;;9@F}R&Pr^xYU%wpl9b+%{8r6NT6
    zS2c)7%tcja_<Bzo*X21G-QKK!RHFy(dAv}(Pn@Ry0c)Rnh-&+D<XKh4naer6$tddk
    zHSU&Sm@U)s;@#NrV8@y>xo4%U;?dVdtc@=PM-%A_?ZoQMlz3nxiApl8(}rIk(Ey6>
    z>5=use%)|l9UxpDY*u8^tpn=$1vJTs_$2!f7v1Ukv_l)Jj4-a6_2ZByzPOwEF!7<q
    zgGBwThk6ePR16jtbV@nohw*(j;9y(6JBY7-U;M25TU+l)-0|xVyzM`)N}SXBr`*M?
    zqfW!E{aCzIbR%R?b=~g|Yw-nk6v@m_8nVl|tf#wjE+xLa)6ag@c1vW}+1|6h2x=tw
    zV8Pncz(zg9ku4%`@<Z8f$|+jaJIA%8k4Ui;pNfMG@#v05P755lDtfM)_ZUtX(UUdo
    z;3(KKAK63an9MyIq@FcnDerwXKNq~8I67n#x13kB{G{;12X$L}{h~__R#;lLxV#jz
    zPK(ns%Pw20io_vP@-|Nx{{1IENT(BQAibU%;UjcX^M6j&XbMOCq~;BzyVxa0zzftF
    z{F-^@o|KFmQi>xR;xA&taoOMj9nx9~@1$jg$j3;Tj(Bu`-}OoSc*c`q$p6r<948|s
    z+Rxp{ew$1b7f*|uN1=*1P{pz!q_a!E`tWbLT7X+=(zgQj6sIj$GpGB_PK!r&6Lguw
    zOrnX3+kztn4v<J$8v=%UfkG1{QO;oDk)QN`CHCd&9=0I*|A>9OQhSCA=keyzi>|H;
    zK>|q@XWRN?$RDQnMEl66WJ*c2)-<jBpb%|W*UrscN1A$Ea7p#)ek`y5aA&o8bTpx-
    z)7Hh=;AKFGVF8d*yw|jU@X+G&9AGAAQNho(%-bSOmaE3WC!p%-yJVtIq5NJ(3_F6?
    zH@2Ho^if+dbBs}u(_j1h@P=&@^+pEX$vd~`UYkjx{?DeaH7enBxdtM**LsH{MR-xC
    zxN%2GSEFU$Mc)Y;ky!j@&0?54{9AA?S6G9o`V~`UH|M^JREpW%A0xz~hXYK#D%#t+
    z_7WN13!)E|tDMBYME@DOu1aa75(^t55cXLJ_j0t-zB;|0E7AB^I0S#}tk$*(nBy&2
    zieqMRj*R92y&DvcPO946DEqd(%OmX~{k!(kTJWI{xy2kq%t-o=>w;w2J;+rD;XBTt
    zH93`_L&U1Lexq7YrGDfSqSvm1X*RSqr5kkV2mCT!8c{YiX$Snp0VSwADmx9gNx-Ot
    zw8Iy!Cwl5a>C?d*bLnsixAETLpCR5O?~SkTjc+kHW@l?pCQZ88(N4a)7j1`Z@X+P!
    z95|rTQCa*3343EKw-goCKABp+l4GrD*a0`9OWgm-<K5$W2ympxOv}&D*}Bikk}9FK
    z&G{Dp<9j9On@6K*HfhYO+M5cc(r%7S#{n?a4B<!Cg}6^3T304;zBFm-PKu^bW#hZQ
    z+OZEg1p4ho^WxIyZ+Bv!X;(yuXwuv2Q<X@VQU^p7Q^8WL3UE5d7hmtn@bJG@3ZRNw
    zyEthZcst8S&*;#i+Yuh%%X&Pt**dHISmc1K-DtdLyu5EMt#E4Sh_=W(-K8KjN-m(u
    zH?~^T(+GDc)@7Xzo+wM&aSVtv3!u0pWl0pdoRg?N);N;2c>ex8_K>sXbHt!p<=;CS
    zdT&~_#2iXL4{-^-S8b<6glljrHvZCZJ5m3L3_o79iDXKh!UcE)A)rV5!db%BO25_P
    zgVnE^TD(iHfxxfMw{k%O^4vPsNR2OEG9wXWwaZ0EG343daNf`b4m>77d@~%z{$%V{
    z(xN}brh6i5HbQs5k%uLJY9}qA^Al@4w6|i5tkBCA2WriPki+(Q!_KnJuz#ddt3o^8
    zy?wFE*0t3^<h)_Z9q>H+$i0lJR-L^gt`Hhrq(d-kaLbZEY0IfJ`(+P<*{RHe$L)G@
    z_U%X9%@dQVJ@9v0ZY>4Sjztc)E9iUCiNO!C8;zd&H7!NFtGd5UOz-?C%KoW0q(R@u
    z^wUe~EnVO7hS$bfCeK;zQn!^=!b(q{J+0Z<rvjmLj(}vkTzY!zdn7uJLv{><o2xN}
    zQHqc5-s@+J&u$O@uJ5lpOq?lp&zi|bnV~*kh?YwGcSs(bd2(~d=ZKSDkR>u*bEXk%
    z_p!~a?EdpxRTjiVE&3qBGB{tYZ6b^Bfv2ZikBif%(%83yoaM3RrVPeFz_<y0L$v<v
    z?<~zwLW*@gbIzhFam}u_rhBJ?UdXedpoJXT>t@O8ACnuKCqIhX{a9i(Rl5Qo@m;aE
    z&}55G4qSua?|%-fFZ>=^;)`73dsHB_9B2^WcSkF}RVCogazq>TVSyp<9R_Jt)#ULP
    zv;n1Y#Vp(sjAF${d;&r%9A2%%AOFUT`e-t68!>-8G4c|+Y}b=`B^+5o(_nED-hSH$
    zoOL~XC&+OZl#$*-aaMcAbywIPzaFY}^^luO5Gp353y*oLzGsgJPdsa=dV43rAdxYk
    zspcZ3%<}Mw70bFve&u^pT==?y{)X9gw<Xk=w{_3(Of;r{QSp^WoBk!!ZJ%(hLi?xh
    zeqFvvC-KX4apwENp&d;BbzSK1Bz9iWt4Ede_<7IxLyvN=#fLSAqy>l4DuxSR8`}e7
    zMox})KX$^Y`dD4!u({P9t6yovFnuC9ZtVj8CgA1>e}*&*2;y7RxBX^>cZOtE-<iJM
    zo1b82L-29Mt*Y7I1iuWfQ}RclkWgi3ky#{U=DGE$+*zA-K*2-SOWpY{gIQJ%R+0#U
    zudj{j3X;{N`n8`baEnyvHt)zhlE_2W?Avjx^L&qodwEr`w9ZQ8b4~Lo_{~amxV1YG
    zDY5i5!XK)HKT&Mpe96L8QqHQENJell`)82@3VOqID0Ws~ok*<7GG`SiNBdQwD5NUB
    ziJ?$Hz$r;CD}z2kjlnN*Z(~^7$Xq1)S}FSbYcAtO)u!J0nvCCKtcST@&D8HZ1xwT|
    z*?wQPgzrCiR>)faP)ai>Zzy4>oomj>js?e=yxF^P`m#EYnPi2j59w=uFk#&q<n~r?
    zAqN~pOw`l-3`&A6@O7hC`U|#H#%adyOd=EUEq>SD&kC=<WXG(JgB@wd(;R2c?m0)K
    zIG4R}{gv%F!<pPRyS*Fc>=j8I_yb!cJo<Z=<Ov+#DYp6`(~lAYJn&p`*}?|<`^!;j
    zGb)@);MSeYL0tx+&AQSuqSQlQoI3lIn#jJ!$e(d-lkzb%EdvUeDX<Uh@Px~SQgJ`{
    z6bYZ%y=cBOP{$7Z)QR=^i3h7uDsE`M^S1*zYE2$ul9eZgX5#GQk$JjxJNWk~YCSLC
    zcFMsG$%ij;@U;iWiTuj8IM472`{ukhIEUB<EBh*SX|H8z)49df9yP`}ai;aSECnqC
    zKdagD5m=JQs2Cg&kq5lt`>5M@Jc=FJ_VU4aWI>O*IRyXf1~~}%eZ_mlxos0Cef!t9
    z;Mtg{EV8>~E;(dTM&^9K%f35!-BOdldXpar?`j6G^g0%L-0EebtnN0e=;La!b#2=J
    zYFKjJI<<7YmycVh=;i$F#HSvd_~ek~xfSER{gMpsAjs48l8k^Cvns7eu!$(s5agzx
    zw4{1(Rd|~=-5np-Vx3wEL!oJHx^QlWN9(*kDQ?=?chei_)SR>}mA!u0dHwj1*$%42
    zf#2dZ*ZNV=E^Z~sWma8Kk9-8VzE$iftU2kH=EX@$_Pmhk)mPk)tPe{o|Goh>UJx9~
    zQR^r@MRZ?Ut*4WA=R}9~{w)BTZOiT?W?fY0m>sF?d0$+=t_!Ms8wTxu-R5D*Ai&4T
    z8W5qx#Z~?Mu!2B;Q9@p&Ozvghg0|SiQ7OFPCH^y?gsJ#z?Jk`TSMRu~C-S#lo+yTs
    z2}o%JqT=*^k)CVFTC&%?*u`$`ZxS`CxV=X9bs$QP<nc~2F*gqWA}5lIoM&)<c5(VP
    z?<>gtI|lFHJ{DOGN!6Gf8`y)qc6B2;`#wj>I$KP8{;r(s&}PWcKzF^ZaK2K#P~Sx!
    zF8OJ0@qDQKec@=^fW?#pf&2ec*_(h<^?m>2X7`%sIb)fpl3AIeLD4)%QPG5y2FXPl
    z6f(qCQG|C&C@MmxGL)e-kA_Ht%1}y(-#TaCODCV_`~3f&=e~#6dhNB=UVH6*_SyH`
    zvp&VUNn8^9y4d-Q-+}6i6|>V{ud1KF_Q|5+zKi$y)rOU?$v3S0Y%)CExLmwx?T>@k
    z*PPrX7Uo<&r$cYm_SI3MgBC$MUig2H7Z<JO{S=nkGt-n;ROI}EjqcNnmj~<SY3<zX
    zb9$TPJ+sY%vmVpxh8UI{NUXYcdNm(I_-MH%?|WU347*QDo3;GS*gf)}cK+IE>zC7X
    zFw`(9|HHP37wieb`E#DU5ZB!CaZ{?yvp>e}ZiA;jWI6^;J{H$!V{d%=SzMv!;Tg5s
    zqa)XblK#t<OJRIzo_@q<RKR6)dGR04c{Ue5@}!<J*YuSCpm{3YPm|%69`m#4{L_jD
    z9yfKi|Ht3FYW4DnzW1AcObZOmvJp7saHlo!P+g^sjohER2M)VL%sQtKo;bWRRv~;-
    z^{sg)&Com1fX?`D8%_5mi)4h^^Ud+Setl_*;1Gw$)f!j2_1%LZ*VexioMz>`$wpLx
    z-VS%gnch1h9B4{A_-F5Tn6As<kG~Z#G@|g{c)3r@^R&*=a;`wl%jkW2L0IK((YuBU
    zOFUwu9$jd!lWbCsZ1PjF39U*f;WJC_dTd{n>K@g!%T4m=UF0)Q&^&g-7XiP_rVYKf
    zChN%MOf?YR@I$|#6^R%>_AulB7FyGkw|dT~P`<dx!)~*m_M3x(ze~Ee+-4kIC0adT
    zD1WKR#zmAfoAGhs+x_3p7%b{)Oz85y@O{61^j$ed<Nhl{&Bl)wsD`pHi`R<mGW#UG
    zN<#COnWM$a)e$$eU-urrF#Dd-qj&AT9s8GsPT$Fu^RaMq+s>Aqmf1#n^KPw)G&yM{
    zqV#3XSyu)3sN(IK{91-u<qG%mylv7M$EPnI3Z4_cCB5JAsNLs9ri;*tKl7Du8Z4Yr
    z>YRDu0B2mc_!SAH#<4`sy_mD6r79|;hQ9aO)E|if(mJU%)87sJFzeNq`mbj0-e2u0
    zCPt2m?i#BGdDa;|`u<kxNv6T6h|81n&NQ>Rnolxuwp{+SEKwnFv6l9fP)*N6O)p!%
    zG2{~2i?^*ma<!PpIZCC<WA9t9-TkKTc{ZEviZL{~^t?vPRI70Na`<wEcbLmQ$E$|h
    zvA~_j^q~n2J@ypWk&6<~T&F9nG(G#m8;4h6yqf#hI=m|W5&WcC+h3A@t8nz>+~%sj
    zrcs)o>I!aS<%Ri9j+(vZuf#?=o676s4{%&$9BXg8yzbEoz2$H;Tpud<b!vN8`n|{P
    zLJGoNOXh03M96(kTi_6~<OIjXuY&c?*EEiE?CPjFvpD2dpIq>wTc(CSMLiF)9yz?Y
    zOZ)0+#Pz@?vCxtG++7(%i>eBDBgstvZ>wd}0~c=y6(4qta7}UUb1lj55h}j?yCB>}
    znp>)s;abhP^sU5ie{=EMyLtDU)EPXgk$l-xD_lR>b!T*>Wo5PK+~o>)YgCVKc^qrH
    zM&^Cun;MIGoO5@5@$w3aZ5*Z@=8rqGyf7f5Ve7Y79|b#|gQmpr__gVpn@d<cwS2YG
    zrN7VH=*atJDm$KBwbD3Jm8AXc8jtgN=e5Ia<+7G9w=#|;9_2j2CdVfCi$|(^<Bh7M
    z|8D$PZo;?4$?K+WU`ux5lFX7P13YJ2o#jLt(=XlEC@ovsu)<)C+WnTQ#y$f^lxA7|
    znxNB5M($42W_(#xC(Y6OVkGW;V`FdqH;>0_S11ZDnH+dqINv<snnV5_kEr}ReQ{IV
    z6TI#g$i05@AtaA6zpC%GP4%A2-=}t_J_xB>di3zYSB147$~S$!a(vN%-L;hi3(WSN
    zKEpTNl7G~_#p>~_b6ci8nAUN+^WLs-AEW=w8wMimEx&Bch=`gWcXTl5_)j|%ht~tT
    z<-T(24#}tp9>o6q=2DpOVQ<I(oZ_DE72Itm=_WUA4{t(O<w@SnVT^LV+`0uSkA?FW
    z_v*>C`R$61Odr%Ynwj-^+mimL>A$)kD$Es1a#&;4h6FV#l4W0)1U1*Im>gL)E%15D
    zJgZ4F)+n`qDbU|r6+2|B>Ap)Rc|%F%q+q)#H|94<dWO4x+L|n_Q@1y+Xz;D?DfY^n
    zsywC_U+>{vUcv4(=%w{wrX}NuB}aP-r<&n2qpgcR24-xTopEPCtjfOVi9^n`q;77P
    zB|9d~6*uM(+htuR9lB&+>?VEj6WsG8`rUS{ZMR>XmV9lXr1x-;hb@=ItJGQpx#xo$
    z_s*2s5O}Y!@o25byUEkk!vl@aO+7iQWMp*No++*VlFRlr*C!Vk%yspSJ)6<Mc&6L^
    z{>GLahh`;&I>dw)UgN3|mNcEEr>&{^Zt;q{+>-NyRpYPcX)f$AzHvd%tAg)XrY_%c
    zf7_)}q8VAeNk&G$8lBVw!@ARcy>H$%YX0HPX`|QXo|U<~&NVAq$j-7*d39UR^GMtm
    z-ve6@zYMWE+%EkwuYe)16QefC`o?|5Vn)Sh3;x8F+jp+iYa0qcVcQih%0Iq(TXyyP
    ziwmxrXx?aOR(c@Z)cmXdocW=iDQ_AxMt*N=+?-@&F<SI^T1V})j#H1C!xB_HR~_*Q
    zdvh))-o&C{Yw-T{d6GK)pTw`E=7pE7dRlop&~z~^czIn={nDNMbl*!$f=fhOr(I;*
    zFQ&}M<=V&37hS+L&}qfJZ(BB-XT3}C&Wmi^YUN=|f;s357jl#ca%-;SSgTmHj@RPS
    z!km)$vV&KypDyz_ess~!74=IR_ddP9zjL^w<dK$Va?GyeC5;xb`Of!#d!Nd0jQy_t
    z@v`TaD*-&+pZD|aU7qdRefqp_S90Z3`OT$YC34P%F|t-v-j+U`RS;HO{nDu9fsM0;
    z({{s?re;ptQ^e$#hHtximnZ9PWaHLdCd<$MTJyBiQpH1KTZ8@q+lHX^Nz(@_q%)e-
    z)0(y=_en+uJ~w}_6C3C-rNvy+ttqxU;9}s13xP^`9mN~Y^&MP!Z*TK($576aQb)Cx
    zUrBw&v4N5EN*Ui5l{z|=%FoDWvq=9CHS_8(QNDMn$G;|KNQR$2n_NF|<n#jP&4KRK
    zE9wI!PWS3<_NLz$Xw>YsD6`?-_Ta6HNr<}j=Avr;)NPZadK->?-JJC1`eE%I>ha%F
    z7ngNQq~D|YWi5$T7fYW@@7oFgE0!+D=U1Y*C&J5LKYVca4@O0HpUeD@(WZ~N@7#82
    z%n_q^-jH7QtN7(TpA&6+@89#`?|pq?;EzP#YxmybD*DUq%8b^q?dr9gxo=6SoYkw%
    zcCNh=GMp+t%_({n_wOxX^{b-`%vCr!f2(P1w22N09Tu?Tk?J^^9G%VMw}!ULC~&)R
    zuFu|5*QvQJ-#Rkw6kz{7`@BPxw$$vsW-3U&_B{Mkyu*+Cw|UrFZ`+Y4^jmjrzWLhe
    ztJF^6>-!E{z|fM%ba;ZN+s{r&yyI%<Fo&JcnrQ1?cKXKAmdVjhbiYfXB{UVZI@)@#
    zU4lTzTjyFa+XRUYY0<omw$1HfYoV#XoxXZ)6<?n_{2#-1q>^sFUb%ahosdXJaOkj@
    zozTkYvfXw+Wow6$qYrYuyr^6j5q(gqBR47f4^Q87=h~pqFDs(mY-@w~`%Il{Z8?7j
    zi~B_@^GbHC@U)vLBiDRQ`l+znw2Hom2LczE4Q)`ejLcN>F5j<ny7g#MQh{uv(jLEN
    z$D{(S#<HlS0>-MOQIn3qOQ-2s+0Mp)?s&J!=bN806L*XX`p}X2-1o<^xHQ*ynJaeg
    z*7AF@ZRd|nale?5;oIVVqPF^rqmfF7Du17FYIIt_oh;st!A`R-n^kGq>-4VMztWHW
    zIaOoZj3YO!Emn1@JPVN6)?T~%WYsHujgDg>!*Sw%Val^5Iv8AbQ7fYvKS$mLPuFTM
    zDGNAhsVw|o)!{>u9q$VZeXrgq>@oe|SHpMby?C47QNdfGg=<rlb8YljEd3qN)7R}>
    zQ7qVDofNuPd}BfA+N05L6Iw@i+wGC9)kuzB$MrHpIoGaMpTAE_qr;B#_jPeU6<htK
    z(Jgkhhow4<oNJvqe=`g;Hfq@J(XP!B&3hagXmX_`%U{iP-tS$h-;>tQct2_B(AFc2
    zuKqbguk&B;iM=NfvE)+as3lj<s>j9EhC@le&R^Yd>FGJ|fSE!+H)r10=v}Y*ias~t
    zsJdsogy)5I@!#DpdIlA`3<nl|dY<MVdZ$e2a^9qQ8uCZ(FF*M9>(?d&xc@Beiph<f
    zH_*){|Jy50_{`o78NmfV1BUGM_tiRdItmuG7-`k;v`t#OvntQ1=G351hM-03yH^!j
    zH?x#R3ikbO;Ws-o|LCp2)&1(OivR6@9vT12^m|v@{&O4KK39Bt=HAV(tKD_Cx@)B<
    zO7Ka1&KDA4zRk<dNbgqu5%tU?4E0lrr6-K1i#}bbl@vXf^OLzs9M@@xk$r7Cw^p)=
    zmbY@d^H~Xv+QQHhQI+<X1+nzgyKTN1xv5NfEL3}Nso*cI+OrS+zMUv7t)CP3x^sH+
    z+4YjwYt&Mtnys8qcV7;C%oTb6&Xnh_d<V`y4A=azS9hWB@Rw4$x>w|(C&xDGGju;|
    zud_A?zR-BIx8|08;i1C+BzCO2%oh0deCNw&Z66;+uXH@pc6IT~0M71rKeeL%xbiZV
    z-t1Y!^>}S%OUOkZFCjg}E?>@etNeDSe7Dm`J-)ub$dSRfyYCPEnQW(t_wl}}`!5!p
    zY8VKAk-6elTotEq)*s(X9Fc?1=yIR7xG*vnU%$Vu>(TDAxc?UB%<t7UTz6^RXP?R+
    z@>_PVkN)_&{F~gj)pMI2^YnjM9LN|+>FFKl^r&ck*TebtLC;<hsS6ylxy@Y_ERDWh
    zxMI^~&oHcOY`$-LcJ&kG1tZAuwgT6Vx8loYZu-1A?S$Pvsl(mrBE}NxdUdM;jygJ|
    z-Pk*y(X02-Yoz&F`JHsRSHh>>`4&xGtuAET$(tx|`$)-Rh}+w8W~gX+etu}dr?ih2
    zTdW;Tj+Q)4ckNgsxUC_t%Dp+=m8+8>vna7%vtf`+X};?F{TI^i`xwp2-gWAG+OhIe
    z9v9<(EL@<zeEH1=_B=gR-w@gZo-OA&Hy)VP+QIebB11Pi$~WHd{?C_f2TCOpo_zHS
    zQ9bdNeO6-JS6cj5wN#^|k84-m->Esp@lnt#muy~6n{OAkTrNtJwYJrW-PF3o<?5bf
    zc^&(V1--A+PN{Dh`11N`d*79dOT%M#JE|>DpFUEZe)F_)+S|0!!(|U=%u8M)_1>eN
    z$6T^Geu=Q=O`TlEdD;-2dyk~yn%Ne$yocxRDJ)WW8FKNu#C`ddqF3B6Npu{2_`WTQ
    zev?g{*3Y$n-;=3fTZ9jV287i_rysg9^TV#eC(1L@EOKp+{yD5GzJGN)V`V|=sNsjW
    z8xL10-O>L2m3?df!>^^<0>g{T{66x(wup>*n&0%KSb$gEZ$n`~03-37_s@`x+Pl0?
    z*Y`O3{|GztOrT*;Wr*C<g)X-pJrkcid2Syq@ibrCRKx$C^UI96io6^VZ;II;JNa~4
    zPw~7R{?MgcXG-0rvuhplPVw%EwAdP^*tEjwv*(4MvIh$!f{y1X)7KVk5G(snncHLb
    zbiGS@fxO8#UkN_a4}LAbl7EnKSt4YgSZQ3?{aF$l_c!w<9BtXcxNMtXRsLD*-RVRN
    z?QQ;<jQ%Xd(JiGJ_hbgDx>c8%VR_x`q}PqLbM-@at-Al+NxSD^#<`-N)ArU)_8BS4
    z^rzDuwrcHJxP)s#@R`<}I~=*mn?iIFt;^=FS-)36b$L~#cfzuwk1^^FHO>zi+(+mx
    zDMJ~@+j7n2mBTL#%{^u15YA@!WhhxjU|{*C<*{8a69ZJP>r7t9<9{K$&P-k?&vK=#
    z+Wo07>7%PgH=+DJVHd3T3RRxJrF{6vyZIhFO;T2DicI8Rsk$rJe?#5N2V&Pazbt(E
    zrSE`dp;*W2$wSwLowC!qALz}Ndg&6z$vESC<WBcnllRJt5`Hw@ejOrYG}}d9tt)=&
    zmY|JZo3>BacU(Hp$t}mTKx^08rCU=I7oQ4G_+Vhbt@WsWN>AFsq^Q?FuO3SOQQ$sV
    z$I)-*O6|<eoaqm)pI`Hz;KrGAZ2c=bvUN*M<ky_#+%bbqPxFIk59g-bjr|KxocZ&G
    zYg>;Iqst~=G2z4+?#mJ9`;9!yJ1UR5d9K$AdM8(SR(>wmr6x0nKBe$2@0Dh?zfG~4
    zHzUHzI<Bu_c1yeZkM{26Q6t*npO;OImychNFPd=9-;H<OyLG$ycZnZ+xYXIcp}yE_
    zzWc!|pS>c@1OKemk6$Hu_DJ)?D&bAnwl|%>A#mP*&T__;=9L<Iyld_@4l5eXk&ivm
    zf6<3mu72Tuy};f`$@vz1*;C|snz-_=q|Gd~v2Lm;TwKlm<2J|ceNi{xByJGcUSqL`
    zXaASqz5QP#mN|%>^4PxA^WxI>?|D=E)K*%@25n7xwzTcm`DuszjNiDR(A@{7lz*2R
    zn9<Q}Dr^3%>~zK%hR{`%!r9Fx_<W~~mEe*UX@9~}n(HjjEOok;E!{9+V>CBRH6(^{
    zM^XL8aui&B<WAb_ufLyZd#p!CjI3TSVJwRut(@PNaCp}?x07eDy}ZJq6L?-_|6H^0
    zN$h=2_SdX-o1e4YS@t_mCn-kVW`mH%DYZ7XAa%7e6J_4R;SA4U#&C6T$&;{64IKN+
    zgG-hwUJ+cBtFC1;>Chr2fB$78>lb*Jl|1X$Ecu;hZXQ@0tTfH@x3GMy{fAk<vsKKu
    zJD+NijlH86d0@5V^y;9y3$N^6cuelN+FFTo3wEZ9-^tf>)%V}M@r&6<;fLF%my0OW
    z``0S<=cJ0qK2PO6V=;U$t%-5!ew$%hOPbMHX?Kqu%L<+bo>b+{f^RB{CvAABvwQB`
    z^VP*m4B(xvgN|QQPMQAV@{3(}d@e_C#);mHwy2$cgVQ_@r|PY|XyU`^A|0ojny+8d
    z>$tJ)u8ntlczIf8bxXVaj`k~@s{>?ctu@ax)qH!CM{a~~vEIq;G_+G#U<SiVajx9`
    zbd?jImzmbRJI7U=)%L#U0sBp^vwQMN61#cxW2{wgN_SqJy8qPclcU0p{j(2CYMqG;
    z;LyJ3apaw(cbK)~15Y*D1IK+CRsqjMguY*XC6W6`BJnZX3Y7qD3+d6Uoom+Xv>5Z`
    zZtrBAdB<3OG_JSo$@Hn2U41g97a7Kk3<Yt&fN0k#I}ExOYg(JCb1b!Wwl~%@tJ=5K
    zI;$q7AaSkU$*0OY0<J7hiI`WsB_{R0l4-^y4YzE%OH;V+PL+%IOCxr!E+1|2I+GG*
    zbm2xqRKLXT!yh~^znbi{=}Pd)$FX%evPV@4JZ9c^*8H&Vx7^!(&py65o&M_cJC}vW
    zgBX5q184U9xKKM;JwI=`tD^C;Gf_WG1m|bl?wI}IX<3?&i9n2d8ohkDMsv%DaP85H
    zvVYdkY1lI|S%`1R>w&msBd3bKPd}%~wf9_3pQqucz40Dzyxc7rQZsgJsFt04v)40g
    zxMkUhLdN&%o8J|#=grh?wbov+Pkwl~Tj<$Jp-1+N-2&_U`5Dc3o=9E}wphYu(*4$~
    zw4q5$ioIU;*DN{9m`&4kw%8n`^~cQEdR@gWE6?6b`d3)sx=`!77xVT7f3ogr*+l<6
    zcw4vm`LTn!SN79=XZ+^bANp+M<-$o1cTZaUvhi0`jnJd5uP!<}PI}1rrWCp2X76on
    z-%mCXlD|hknlV0>Dlh7I+;fZjwW@n)+rZZig&Jl8Z9UbFH^p5=Ib21Xr9z4~sw#ST
    zZK~f<sJ^VP;li9%3w^C4W9kOf)Yco$Da$j{4O`4N=iK9rg-^tbDjpoU(kA43Puii)
    zp?w#>+ZMYgm*9nSG+9f@%@G4;gYGkA^348ozTw<+d+6nwRyT%)+n0@lDtq#mFB}a|
    z&HrBC>f&;4`iJ~Pt5s3v7PD9793MPuAG@S7^}mPw)^nyUl~fN}TDsFY(S6o5jrnP*
    z=EiHgXU@HI<=F<Vn$Rkdpk>pSy}TKB-=XPBuHNpd>eZ6$&0fZ)%_%<Dn<BM~?ZcB|
    zFWxgf9HH5j*gW~w33uCN4Be#>lQ&7o?<x6qSz6j*_Ojj1;W=xf3lGfuv3+BIR$IdY
    z_eG0-upjudrmFnK=Baaziq))?x{_-UaL0dVke%HR_r?Lf;r)}Wv`+|4m2l}@w^XzJ
    z`KPX1g8?^7OV_Q_8dV$Fn^_ul`NY10;UqJib7IoRV+ZzGRpmsxglDx4vhT4yHB6sg
    zwX2mc&f}*_;kU4^{l2&5bCg25Zu{P5%lTE&Z&%nX{M_YEze>Wq_b(S+va{-EjF&ke
    z-YQh^M31(F`9^k~sWcn>9{mCzQyLfZg-d%aX+cx)JDq;7r%7^<uZp6-Em-&o-g&eS
    zUKOQ@U$|sF2j0GA??D@6zADOg6RnH+hIm77+AXHyue)hlOmlMkXerG9EImNW=OEvI
    zBst0L-XC~HoIM|EIt(vr67i?;6<i3S3E`3ft(()HbMvyXxr+ZKZaYMiV!mpA=s1ne
    ze5VpEf>w=R)AqJ(sAUT1EP<*a>c}>cCSC9|l4i^7pJgnqpZR{S>4`KI=1aL&ouR2Q
    z|1&s=wuku&%fWQoG)^v}@(41_q?rm*YLB4ZnKWav>;cNoq{+z;?`QY$*<rBIiJe1&
    z6BjKZ3OAq@kg{u`!AzPwrnltK<T#eFlSL-b{7W<e4DYxM@DX+tQcjaZkz??KY=8>@
    zmS&gN`Byo-1Z(V1aqPcD*uL6+L!*~yxB>?<1kLQ)$muc-R~A8}sTJ`0!gO{?bnY_C
    zgB-$xV<fDKzKp>OvjDDU!bE)#WRt~eLdy6!2~C>1|KGiHCR<37MMO~Rn6@6m((!Sb
    z=>MrwjMCwHPI&JdhlI$#PT<ZCb0XWf9FqU1J}HVmJ+8P7d@}!M1F8cXxRA;vPKo~?
    zEn>J(h&|W;-9nDyR0Y{W0hML527pYD-&heE&8CUtWLg6`#%_qF=Fo5r8AJk`2tX2@
    z$f1d1S_+YhXSh*}C673Iki$|+X6QW(6ED)67*vum%#A9x^2!MRoAHEJb^{cgOH)=R
    zrU13L%2<ck(nDN%@GN+qOOqj~moEL#3J1m|_$ZAtfhxmG&Wt!0UIAoymF20;Rp>x7
    zZ!B#RaxS0=kUBm^`p=jRZ5K??;X%VGUv!lwqeOUiH^8=F3DDNTXMFy^JFY`Mpx&!A
    zJyPE!`}n;PK)5<V-yS-dRdLzyhC{b&ET4R?flt<akUpAd+jXW>K`uwWo&^OB@X>+~
    z>n}ZIm@h6yND=+HMw7*ZB9}+>iJw5BI*cHx150)il3M~KKP!(WOS(5!F9uXnHKz!Y
    zI$8w<k#IiCJEeTk;UfeR9a1wHhwdizjwonfGC@Zmipi(p8bYXnXu3#*G|zjTX<k?(
    zw)Z<U%ZJz4QO)a$l1x`%V)qYRhxVJrNc0A)eOba2_uJ5364p<3_&4h>J!B5N7s;MW
    z0rA~nj+R?*5qbsk9mE?8Sv>f6ddOU4dxNza2iyQFo|5F$iZkHmMc1G`cA$X}os}9F
    zaowazVUglZ5b4T|iQ=}%@uT%OSyA&P#E$Z$7^U1~DJ&u2@A9a(l3O-TUqOIOLab1*
    z07T^qxCPY9nS^0i0xp<@XIx|fGwq!@%H8XsCvFggNtB))R*YN3BOX_zh;=IybttYb
    zyJ$wdV6zuK`V@AA5}r>Qg|sQSIL1OKv%`_4Ou({noyy`Uu@Ewn*b9u;<AGOvQ?#^A
    zA?ZYk9(9tsBxN~IHn@ghjHy&rc=0x&d7XwFa;c;VC=r^eHGIZZr-vw_kXy8wq)u@k
    zlV|JTy{%IP+1RwlIWU;Nw6S?8`y&`<t;2)(i(nYYmm<m+L2r_#5^{C4u81Z<+H-GR
    z`luhS_PVfwQ&kP1=pvdqjzj~|)_4ZdRuS<Q)8xsvicKc|q426mEqJ}Q3B`?kWLr#g
    zz;=%pL)-Axxb6C48XsybriqdLSZe6|;snIzCd5XMqQH0^<|~%K;FIoKmw+06w=tLx
    z9V&qpo0Od)WG~i_$>`{93DbnxfLV1Qs3vA8wSOx91Yb68t-m-KeyqyrHmG`!MJV_-
    z>^n#c=LvXw7})~pl|ntSt6}`;<85X>40+e^ltCw?VNj^EOZv!I8>XuHrJzbKoLG^i
    z5u=pVzZ3$FjwIo@9ho%r8UQj%WA%|>>QbW=m&&4xAgeN(1WAAY$xe4R?BQm?sG3rO
    znwU0DM`biclD>V3{L`&!Y;4NTY-~Cd`t(c|UFxq3GmVW1$QmnJL=$Y(&OzEtp|tu?
    zhg&Jvi=gfbW_-5ToL~M9Xn`=;sucRrGlFhN=F`rXCj7)3J-fjB$rRQk^st;}MEYBJ
    zeelLIh=eQbZK<I~uLxB#$g+Z_fJbdj1;o^_nREz6Rj>v#8(>ZiPIk1jj3$Lz$M8|W
    z*_R@@O4#v|qwZD-z#bG(NwdO05da)+(n!7%E}G|HSNT`wDBc0B_hg~S7l#s>DbLQ2
    zq~zFfYN-&~+#DJTE<&#!!iPF8!*XMdWdBn5l~6b!KPKZx=kL;Zkdp$t5XmC7hA?Cr
    zDj}-RAZ|94n58OGTdI*U9(m5D)(Ba;O9+OX!mmJWcWDM>j5qrTxpTwB7KVwfK_NA0
    zAeCyGII^#zsgl%2m3#li(qRVxi2$#oANxxWk=Dc1`FaqF&(+LK@Dt4FUkjPp0UJQ-
    z7`K~XzKkhEZJ39S*F&jEvLy}BKXw>$<uUEVbt?oZS2O)BEl4O7hX9B|;!tNuge{>|
    z9v!cyDdQo`sfHo^Y)`;)sH2*OD}tdx0#<S&U<ssMLsP@-MKu7QSb#kXu3;rs3IXp~
    zgy9D@tU266z?-*XSgDq#qD;J4{_ql4S6#?fMd5!lwrdBbDtp7d1Q{ZNZ?dyhs}s6R
    zyj+;NWUcYX{Aho6S=3q!D?7nQJ+)vqd@tH?pJsq8@6j}r2zb2y*T0$Ji$d<vTu9&e
    zLQ?8#AadT2684nvDhCnzW}@IAc3xEU5-v}KQq`fEt%bn50sbwZ@aLfQ_i1afL*@6u
    zp>3grf*DA*4q{CDX;24nVl)App+j}BeIVgv0#=L1@WFU?J~ULv>KcDN$bu6HnHri`
    zPn$w|O({P{@gg@JwLPS1lhw!&R3nqZYcyeJ@srQ-lc1|aVy~n$I{x2Zja(XN8rZLZ
    z2CzNp(wNK~!+!|)zpOD>0<CCd^>9Zc$cpb{8E+jstXqw&uCx-eGj)Va2WdQ@Sz~ou
    z9{~KK0mC2a*cDL21Gsh(9y_wHd432y7N0OUD_;`)8OZ7(EcygBruPHS|E5~K!PIP^
    zl0)cwx#_1hOcW_tzHKRSP)4l}X$whxl;Ua>QfWIe7?NmH6WpN?rc+AA!hQmUScTvX
    z<YRwuAMgoNStZxF(4!_Au2q7%nxNYTT~vY`4vF(4kcEF4lc|z}h-KFZnbo&3nFKoe
    zja>!_J!XYj@i7o0dd3Li$p0xbo=8<-?O7OoepuG16Dy4yEqV%<<2T$KlBj%4*F!?r
    z5q>Ny<L8h@2cEL*Xg>j2t2CCadjd-U5eyVWz-Lr3{8*Jk40%6+rH_zND#MM1iCD_q
    z)Cm4$1U2HsQ0)v@`Urli+PqDwlJGwGX>f8x;ZH*gpVCaR!4ppjgO=D}DQF?vE|SZw
    z?trveB=~Pvvk?0;*w&HG&U^-KpU=Z>MVvT9$^MbfHpZ+ulm<p?;bTcL{%bL6drs3t
    z&z{j#u$m!4&G#i3wtfzmSyH>}b3*&lF_;@&1cY=?E;fLlC>NRnA0vwPJE-+J&5k6U
    zRi4oz0ZBy^yrOO|(~<29*j|!Wj=zAbq`*oJRGtcBSMq`;MK=C8<h*wVWVr%dYg8!~
    zq*3n++Ensl7<Jo6?inP68WdBZl1?Gpmp~%!7zCV$mfr^#h`KfE6it^=%uBd)B1q`|
    zOXzH&H?n>O4}}bQa|oc-4`9tCWR%i+6a^>I%vUs9lJq&_jy*Tbb${^Lm_iaq=U&lf
    zk))xD$)`DhBo97QN!t+nYuYUG4o9lE#P=%r`xyMC-f)!fBivI%$6nJENGhdlAH`@{
    z0H#6}zeyx@ynf%mriBk;Dpd4S#<AG;24WGx!0_caFg3^!)e&%Y2!{DXImD4ZlsCXK
    zy|*A!2qR?5$Tf_E2l>2(nMUry7$D<JP9;ZJ8I_FT^#uMKDsI8ZOQF%XG-Gl{bkJTv
    zlc>w$0hin<lul)4jC1+Wmba```$RJs_s>M^Es)j^nrUKW2K_!S=15%TCPN&ln+n~8
    z7T6Gy*=N%NO?9u}reQ5`Lqfu530N-&!z}=l8p*PQpwV@LMrS12%2K(g720~|;kNOu
    zER|OX*!MbydjKY<X~K;a(#4=se}c-uo0#g<#-x(f34y9Tff`zfss8~L`+vI)j2$b&
    zF#9{EhS{ezJ063EwG%X4DZ$jWEb7m*9MVMXy(Ab2UCJQbFGUsaA<hNwSmAGY2gVMS
    zV;IUG@*<gb=8}1Lo$-pNpvHZI#q>(d|5ge77yNX*#Om~0?;~nVX-?qZy^HxmRlsiq
    z{kWse?O?m68p~8Wm>q>Lcdiku&P20ywU~O4MIEcWIKkq#`<VIysMuI{2N;uYz_3F<
    z3!e8L;Mor_9QB@=EP>U#j<tgikrNcZM&<9B$&%0sP3cc?(^;J?jcW*a@iWxa34uP}
    z$xP^#%RKr&fX3(v8aJVbovic|`2cO<R*G!9^aD%fHUd_9i{V^=$4frOe4<IQOQ5z7
    zEEOsrf!o-Ixtl(+R0I-mUpt1&0VXr}&I*x~F7PUDf>%<Vn7Y1`gO_pxN=z}=4R<e&
    zK(mqw&E|i^&Gvj^8IJq}hT}hDxaBh>0PP(!!N%%HLY`75xyu*K*Zs_NG;&qS%vWHM
    zI6<SPH2*gu`!&!JpyH8E{tOlkdNADjnYl^RPpiw_3mVcU82i+Vsg_+#s-}kiCKaF!
    zO)!@A9a9s!SjMuuz?jre4EF#`#&syQ?{Wbc)0&{cWB^kc0}zQ@cCZAKYu1J@pvH6%
    z%Yp|%mi2`-O^ONGnPDs&`NB-m2#Y-%vte@g!^eU$$&--bSK3^x_uyA(n>tFgRYzrC
    znaP-Itn|JQHYoCNQ)EDCD}Z{w!Z{b=li_adwmMkG-vNobVRI5fy<g!{;r$Jc6G``v
    ze*-hFQi#2qrbU$2#EbZ~i*B2UDCj^GsK<Ts3Ei|AxT$S7G*y(tO^<Z5;+jmrDhe2W
    z2QcYVZuF;JM18VN6Er#~VrsM^ColRW%iP6<t(W{t6kRl!!1qMHJuDZl^?<GIs#w9#
    z9+nG&y#ODWjN!$-G;y*B+RswXuO+DWJAB1>L><d=Kt^6;$cmo-)4eFv+RHMh(g%94
    zYvZ<~+TibwKGs+tBxFx@37IBR(gRtt6mxlv63yK49F%)b=*ua6%x~7`q>V4%Z4b6Z
    z6YJ=f3H$;>%-{E&CV>Yb`a76?Jq^Q8#^5gm+zN%132&gTD8AjPdLUs;%*Ba{KR{6%
    zf*Qf1>TS62l2}I%Oz=U_98*66mGmK@A8c7!VsutN%d@ov>^TF&DFBmsAl9nWN!+EM
    znxOZmHKy9wKrF^q8q+NzQ$~SbF@djXhxsdivMl=k1dF?7VHoP1@}hGBtZ7<D$if}5
    zO!ybmoAJ7*|K@q=98BHDqP{SaJCF`bOAu@#sZ(N}6Q<Sx6%R_wFED1|jA69_7Hl~H
    z@Q@3J832<P1EPQ`vL2vGai}iFBB-HCo3L`f8#D^|0)aR)ArNzy;%275S%zGGgQ1Y+
    z7>*l*vk16xC5F2JCP!qv$m+ixi&~ATPJ>M9Sk+bVfx7H3T#KohB6Q|jUOEWI_PJu1
    zV~FLN+z`NK>oM#KFzLg1Y1V%gk8Z%!q9NAgZXz^zZ^W?VFbmcl1~_&zhM_zwUUr7X
    zgk0od)bb~IoZyA2tzM8P#F9;}5dkxg4iuqlt*}N6Z^Z=lKP(e7{(uSg9T;}n!6}Kl
    z|1b}D-uUfES`16>u*AQ|!E{vdhh~BEVw6yj?vF%A;Q;lGKc@(a9A&K^i$*|pXD^lw
    z?FAW~gSmc;*M|M~@UJ-l^PyTS=97z=ZRe8B0nq73a8opya*^OcBBO91OsxD1;&`8?
    z!Cf9h{NLN;$`C@SG#Uzl%BABDCXa%HS;w*L;V8|JRHN5`QXL^JX<(0fJi9hxj4BcD
    zM3*D!McJKxrErF+ukr6!cfTSr-7tz%BK|6K+QygD<v4~@#w1+GJe8AwJTe}Za+kWn
    zGI2Kw8pr<9L+UbcBL{Z6B58TN^zFYF#nDWHDn%5-RmI~}#tvp5=VF-uDyPi2MJJsq
    zPbaY0H(?s?$isXm4!Sxy461YLFCT!=_yV1J2h4?{Iq1fuTl1S^>xr*Gl%WSy(w&=F
    z-w+2~5xX^s6Wpr4g<%&?x)P~@+i8AYI`sTEd{o9FK%9>pF2~f{<(z_OEg!^`yfLgG
    z)Ob~3SxN<`02<|F$%MH;rdx?+8!I8Ja@ko+=mt`Dhbg=BcZO~d*MF!D+ma+W5uj$A
    zY&BBhhC+OuTy%LHmCE`xx)3}ypsP{cMatatX(Z`uoKBGmkQyK=)E!J8+R064p2OsD
    zgR{Pmu|uugbXBsgSE`rjLx`x>gtots3J<HTD-X04eu>*g^Dx^M1m@5TpzR@;In=Ww
    zJJiHOXPzAi@Iu>yX56;B8R~+LO;wKyx9sCE=6ffMxo$h=pW<aEq>V}T$U9gr+~DgY
    z>bMPdAQc*Y66)rq<L#J{Th%C$Nj*fjC^3^q$~3wePLH)TaO>?5ZmTf-w_8SaDc(t<
    zY;5Zx#i&^}c?9$OXmn|;MvzXI<Kz<If;x7v!dcVlN-D&9K`DJq@j+jf3oVl6(j1S1
    zV*CM9SNL`#5xPgcPDm=CRDQY=TCTt)f_8jm-cF2{OaAvBp>zu7L+xZ?oWew%LA0F@
    zy1HO0mPJhkUBvO9G9eRRV6lzZy3U96ffK;7KX~fFh~Q5_G=91~NnIF|D&qx*nqKh4
    zi{TiNm^qv#m^#mdOYpBJplEDFB=|kmPZQ<%LSZzh$4R$P3O{`oIV&k;n<={8><Qh5
    zC_##KsdN&6-fVTiFcM(FIRt!vHiiesU{OJUH#rfo0a`0a7bE*pVPzHb4Z3^|mUQZk
    zL4qqmRV3;?E0Isxp$CM9CigK|06`gOykErxT_GUwdX5qJktf`Mkaj4wp(*{!J&5^G
    zDq3oMXvfP%{~KfXLui9AT?aw!XkJt%$lUjj*N>jSN9%>@)?{#z@Vsg@i2e<jrqnUM
    zeH1JGEKHXqspD0q|J7%B98(V-2m9k2#SJ3R_Z5*?Hol!HBjCgs0@fy@fhUW+D8N#A
    z1gwVE<Z($NA5mB@$s}bEvJ0g+Dz`-GDj04i;7jEg{#4E-PVOSG%u)<w?)R|FUksX%
    zH)&@G7(Kvn&SNfq)FMX5JEv}=Zwf~s8CxJ6)Nw!C^cUYsoXMvY!KRF#_hZbD5~ni{
    z<#WZstb8km*R*m;ki&{S6_fzkyAG5p3A0(}1D6mg5Tr|BnKvQ(+&L!uyIlhz)BH}z
    zG?AzzctynOiT$?M#ND0+WH5Det<jIEJAkT0P*Yc}9zw9wQiJ7;dY+(*QY7h?IASf5
    zU`B8hyG~TuMg}n5$m@gY!P#8I!L%vZGN(k~1KJ=(pMw=-OMwC!Jm4ooml&_rja)h5
    z=^i3k$mAL;={-T!PVRqOj;GQAX;6I(9uoRnwIsSPO&7!QYb6L5#4tfbhOUKOnjr)5
    zG$jI7M+_O}wPCy@_`f?(VRTi7&fIx^Bifd$;kHm59Pf_FvfvPkosc|m6&m|X4{4c#
    zso_Ay)>C9bL#PIZ-?21Qt8?D`1{&5w1gIL+wJ_CNi+kcR)Z!)Gv#en9#=>evy}qy0
    zA(~A=adIrfm*v24n*oNq0476!u(PZAFc`iIu2VJ8jWBhg5e(HldDiY_wLGYKHXX|*
    z8UGKb#><!gt1`p{H~TKna*9s@w9Pleu#*DQsqxz8|7vJ7$J8{S;&>Jj8d9t<JjBwl
    zu1Q0WI4a1RkWss5VrubBZYlDMWikwLo3u_Qi9l&s*mY62-xqAg_(G_5666-Slr&EQ
    zvvG^COi7WhM$U=x`sx4fdxX&jMcDU{3tEyQwDm+pTX~`iIy`Kn2t6lcV`bH0IH((^
    z<}-isiD!>UKKHdfZCTLI%nAH!Ntn-2qRV5m=aj(gg>z$S<WRQ~YmFTxWTF{kGF~)8
    znR!K|#}&mAcP26uGUUxof)CTWkXr=BDYKTXEM?HOwQx)(g)HGgCF}#c3dn4V$7H++
    zYPpM|xhl+E$7tZQ#6&Q*8;qHa%_Cwf(N_LfBPi>xgB6w$3LjKbWkLu_zKftYs!Xlp
    zW#9k(DsOSsUoCr{a|<FU3IA8ipnaPc6SrgmkVn)n0cX_w+p=Dju7I8Tq6$u(zV|P|
    zPz|mKWCko!143ur1VTN;g7BJLp%d>+PELbZ#DaZ0N-SU#twvu&lB5fl%iIG(Kdb`O
    zfH@%B$@JOSUc_XuxAF16_8v}#dmqA~gXiseh_iX(%O-n@scldHZDcxyu0=MA_+)8s
    z1Ez0Jh)w=;YNJWxLoq0_yT$-+S@L1BQ5U+|uc(a#Q1mNq9<<Mhm7^-^(225EDvKMf
    zQ)k`RF$lt*&wmkaf{gTa_Pbr*a-f66H#5|o|D3MB_`({jAvDkcT{FH?Wi;fi0keWw
    z05YaNTJH=Bw?P1?{ZRk;SEFJLaE=`Ew}ismzy6X9{(==qTa(p23r!$o{H79wP|t4&
    z!X*o4PB;!MxM~V!yWvAM8-%WE!c~g2^^H(9GK#Kg!WGU?i!QE0zz1rF#jU~JI7k&+
    z${+{94+B!!dF+rEJbOT<RoesEk49jF7~h!`t^#V(qAws7-rgFqKLEyY9xR&Fpk{&3
    zsUzHzk&F&qjO2PY2YG%Jgq;FB8cy9`ZI>dsiYQx(M+}`8XKrAlN@v7mg5@swP%liW
    zs8^eH`>C%3H(4=LNDXqRaSD$#N`|NYm|0H<i*<QW(@7o)bX$imL%Q<AG%c4nlD!4F
    zKt1f>n$F}twBiv!Qo5`aO<xxj>6-j4^fBR~Axqf6kSbk#=Nkus%Kso-RFz*%|87+d
    zD#-@RGY;<yfCd*PG`MR1cLPa1mJfP*;De9l-@>hWbY<MrC_;GJYFvn)<G{i;LU_*(
    z3lr>lgvoTmm$9k(Aj@9HZ0N2JH?L#{9VGCGZA?4|{tx5z1Rm$Z#C!JgaH9u4JUnFL
    zkY9hF+JE?-J9O$TBpIZ|*k5{xr2pTooDJwQ_!woY0jRvScU-87ZX3X)AkSDD2x0cV
    zaUnnI-Us%C4O!Dh$q*P>flS6iL)O*Khrn}AlDHDeBKV}nVgf%FL*lZi*AUzwdn`B=
    z=8Q)i3Z4q5EH+c=%H#!ok+#@w4d~7i=nnPi?m37tm9C3*=0aP}%cq$>w1NhV4-t4!
    zGGu2mj~cR^#`4)|8sLl4NL&g9O{2?VAI=i^#!RN3`f1FBop*1W;c0L{6?S<lV-Y1T
    ziifT+xkXoag!IOLKSN_9`qX}fW-kd_d>{D!N{!NP%{68_FC)4FnUGpn-$y0EglK}b
    znL2LQ3VGlmc^*kr1YG>M#4984^JEDV_nl7XN7B>jYFIdPItcgN9v3pNc`*cDQBLBr
    z=ubJ!p9jPP7-aNY2w`I-DO5rw`Yc?>81U|2OmEl1|6zUrfyeyeLD42~Pm*m+mn4_1
    z6}$O)8PJQ@&}-`X%yiUdOgF}j<xF6xe{rA+GZ<<^PF^X*XTsbm=w8k}_Zi0fIUIUX
    zk1`hW5PSs`#RGg|zk+o&5xS1S;WSewfFw=nvg9?VIVZv=7<Bo<&{3B>FTua~draw)
    zSl3BY&}A$#CgVpzBD_54g(=fHC3fF5FL==P2Al;^Z`qzH;zr75%<G-ks~=CM!uk>k
    zAL`l4F=I>(Fr#abF)O@q>d$j<ksS`2sFxH0RBpz)q>Pw>Z@N}!swKoM+MbsSZL#7N
    zMSskh7p7xNrH&Af{XBsVQ;(|FqMhb+E8N3t=AdPT{g@V6<ZI1}q@V@Jv>dU_#)7U)
    z2C?i*_?`!lyWF6gy0U(mhpEVd+2{Qu+!}9yN}MTCZ+_Y4W9k<R`V_LyNAgDRL;>|7
    ze5hLCTRuy=3HElYC0&kvhyY~KIZL`GM(+d4adHu%Q3j1z(kGJ|*=19^mx5ts=s$I^
    zry^S``b@Gj)qVvdCO`^>4|M<^ZNMJ#yYot;hhs5$YX!CzdtjN!3}#2o*k5+t0~H>S
    z>D24)MNiZ_6WrQ7gSoNu@K;%T2|76l9~Jnp{?bDVwqWY*8FXpVxkFsix7UMK;<;by
    z+&RA$Qw3(Sc1OB1!7uym7+yb<wdOJic+GACo`lZq<`pClI>`9k2~t0%1hE+f?bL`n
    zqMn(oh-+Jeg3Ehxf7e;F4%&hVIAR}$tM>82bFD;($o0IHkhKROTRXZWk~_dFjFfFy
    zGD91X(ZjIJCX81O9T=0HAY}Q637HbAwt?G8Qr%kuUUdS)GPW$(z!u=8(HP!328R&v
    z0eD)EP*MUg`B3_er%qn%Fr${kdQDwRixM$a$c{<v@7^C{0c*_@{(q@|k_hTFQsMP&
    zUW>2uv9Tq?<fkg!e*r7ZV=4SNE&b+e7-eaQHT8zYCmU0*X2Y*_i68vn4(r)N7tZAn
    zGDXy!1MAHWdsh4o60+`m)HDljRIl5!f>B4nem5|jdxMu3(PzODMZ|Aj_edx4IL%!c
    zW@T2g!N1c()C(|w;Vfp?&zkZT6I0azJf%`yZei*<ppp+t`reV2Uk22<6R54|;Ve4-
    z)j-Pv@rwUV+Es$}T`l3|{p<IT_@^XjkpuLGrxa6;Ij}l;o`5ULFg#KQoqX%Sipy6*
    zW?G45lO18HBKp3(bIZt%t!!+|1lj-jMWXZ_f+~lC9O3SPph}xvP8x#F#K6^-y1g!k
    zpDoOTOn&G<=SIVN@XSh&BhzfcY_KXll`0oP@1MbwY-H}PCJ1Xx{~|=srfXwaDIxQ)
    zq{_I^z--oGna~^{ykCzA@Dp(ra#5iCe4H|#Bkp5VAvB#hRVOdxMT8o?O=B`aG%yED
    zkp2nH1(||3Q#Kdwj7WF`0l(Z$z)C1-E;BupRyYI@55UnUY)E+aVd^)alIii3S3uJr
    zqL~15jygRqBjtH?{KK8`->d&i+7N{GZIou39{=t7ztogNnA$Oql_o>;!1)iyF|2ul
    z_V?6sgKuj&ew-j=is-ZxE7G|HTpCHhlBm@QR%#*){`X2$3t=TV05?f$lt^pDj#0Uh
    z`F!SbebG#g=Pk?$FNhKK{zy3y^WV;=i=g=VtdY4gAIv(O8I!4z1Kc^cBz!uoQ!n8d
    nSd(IQd(s$H7!M*jz^fO4n$C1Ao0I_^PG3M5;gQP(C2ao>NROQ+
    
    delta 42050
    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
    L%%gM}D#G?Z&AVBs
    
    diff --git a/java/lib/mxgraph-core.jar b/java/lib/mxgraph-core.jar
    index 098663d415f64f89e17b3d68d2795dd31507b33a..92cfde129dfb50066f0d32af9512f50350fc6302 100644
    GIT binary patch
    delta 37297
    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
    
    delta 36485
    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
    Q6#qX4su<fD2s_LF0hKC4(EtDd
    
    diff --git a/java/lib/mxgraph-swing.jar b/java/lib/mxgraph-swing.jar
    index a919f8875f9a6b85e174f817ee1e777fd9d0e36c..2406e329880a29a714c881570bace7622f99ba27 100644
    GIT binary patch
    delta 5472
    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
    BzIp%v
    
    delta 5584
    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
    HD6a579=G<o
    
    diff --git a/java/src/com/mxgraph/view/mxGraph.java b/java/src/com/mxgraph/view/mxGraph.java
    index d2e161bb4..e6d903732 100644
    --- a/java/src/com/mxgraph/view/mxGraph.java
    +++ b/java/src/com/mxgraph/view/mxGraph.java
    @@ -198,9 +198,9 @@ public class mxGraph extends mxEventSource
     
     	/**
     	 * Holds the version number of this release. Current version
    -	 * is 4.0.3.
    +	 * is 4.0.4.
     	 */
    -	public static final String VERSION = "4.0.3";
    +	public static final String VERSION = "4.0.4";
     
     	/**
     	 * 
    diff --git a/javascript/examples/grapheditor/www/js/Actions.js b/javascript/examples/grapheditor/www/js/Actions.js
    index 0c8930a14..6bb060703 100644
    --- a/javascript/examples/grapheditor/www/js/Actions.js
    +++ b/javascript/examples/grapheditor/www/js/Actions.js
    @@ -65,7 +65,7 @@ Actions.prototype.init = function()
     	}).isEnabled = isGraphEnabled;
     	this.addAction('save', function() { ui.saveFile(false); }, null, null, Editor.ctrlKey + '+S').isEnabled = isGraphEnabled;
     	this.addAction('saveAs...', function() { ui.saveFile(true); }, null, null, Editor.ctrlKey + '+Shift+S').isEnabled = isGraphEnabled;
    -	this.addAction('export...', function() { ui.showDialog(new ExportDialog(ui).container, 300, 230, true, true); });
    +	this.addAction('export...', function() { ui.showDialog(new ExportDialog(ui).container, 300, 296, true, true); });
     	this.addAction('editDiagram...', function()
     	{
     		var dlg = new EditDiagramDialog(ui);
    diff --git a/javascript/examples/grapheditor/www/js/Dialogs.js b/javascript/examples/grapheditor/www/js/Dialogs.js
    index 5fdc583f3..7ab80b9c5 100644
    --- a/javascript/examples/grapheditor/www/js/Dialogs.js
    +++ b/javascript/examples/grapheditor/www/js/Dialogs.js
    @@ -488,6 +488,7 @@ var FilenameDialog = function(editorUi, filename, buttonText, fn, label, validat
     	};
     
     	td = document.createElement('td');
    +	td.style.whiteSpace = 'nowrap';
     	td.appendChild(nameInput);
     	row.appendChild(td);
     	
    @@ -1077,6 +1078,97 @@ var ExportDialog = function(editorUi)
     	
     	row = document.createElement('tr');
     	
    +	td = document.createElement('td');
    +	td.style.fontSize = '10pt';
    +	mxUtils.write(td, mxResources.get('dpi') + ':');
    +	
    +	row.appendChild(td);
    +	
    +	var dpiSelect = document.createElement('select');
    +	dpiSelect.style.width = '180px';
    +
    +	var dpi100Option = document.createElement('option');
    +	dpi100Option.setAttribute('value', '100');
    +	mxUtils.write(dpi100Option, '100dpi');
    +	dpiSelect.appendChild(dpi100Option);
    +
    +	var dpi200Option = document.createElement('option');
    +	dpi200Option.setAttribute('value', '200');
    +	mxUtils.write(dpi200Option, '200dpi');
    +	dpiSelect.appendChild(dpi200Option);
    +	
    +	var dpi300Option = document.createElement('option');
    +	dpi300Option.setAttribute('value', '300');
    +	mxUtils.write(dpi300Option, '300dpi');
    +	dpiSelect.appendChild(dpi300Option);
    +	
    +	var dpi400Option = document.createElement('option');
    +	dpi400Option.setAttribute('value', '400');
    +	mxUtils.write(dpi400Option, '400dpi');
    +	dpiSelect.appendChild(dpi400Option);
    +	
    +	var dpiCustOption = document.createElement('option');
    +	dpiCustOption.setAttribute('value', 'custom');
    +	mxUtils.write(dpiCustOption, mxResources.get('custom'));
    +	dpiSelect.appendChild(dpiCustOption);
    +
    +	var customDpi = document.createElement('input');
    +	customDpi.style.width = '180px';
    +	customDpi.style.display = 'none';
    +	customDpi.setAttribute('value', '100');
    +	customDpi.setAttribute('type', 'number');
    +	customDpi.setAttribute('min', '50');
    +	customDpi.setAttribute('step', '50');
    +	
    +	var zoomUserChanged = false;
    +	
    +	mxEvent.addListener(dpiSelect, 'change', function()
    +	{
    +		if (this.value == 'custom')
    +		{
    +			this.style.display = 'none';
    +			customDpi.style.display = '';
    +			customDpi.focus();
    +		}
    +		else
    +		{
    +			customDpi.value = this.value;
    +			
    +			if (!zoomUserChanged) 
    +			{
    +				zoomInput.value = this.value;
    +			}
    +		}
    +	});
    +	
    +	mxEvent.addListener(customDpi, 'change', function()
    +	{
    +		var dpi = parseInt(customDpi.value);
    +		
    +		if (isNaN(dpi) || dpi <= 0)
    +		{
    +			customDpi.style.backgroundColor = 'red';
    +		}
    +		else
    +		{
    +			customDpi.style.backgroundColor = '';
    +
    +			if (!zoomUserChanged) 
    +			{
    +				zoomInput.value = dpi;
    +			}
    +		}	
    +	});
    +	
    +	td = document.createElement('td');
    +	td.appendChild(dpiSelect);
    +	td.appendChild(customDpi);
    +	row.appendChild(td);
    +
    +	tbody.appendChild(row);
    +	
    +	row = document.createElement('tr');
    +	
     	td = document.createElement('td');
     	td.style.fontSize = '10pt';
     	mxUtils.write(td, mxResources.get('background') + ':');
    @@ -1153,6 +1245,17 @@ var ExportDialog = function(editorUi)
     		{
     			transparentCheckbox.setAttribute('disabled', 'disabled');
     		}
    +		
    +		if (imageFormatSelect.value === 'png')
    +		{
    +			dpiSelect.removeAttribute('disabled');
    +			customDpi.removeAttribute('disabled');
    +		}
    +		else
    +		{
    +			dpiSelect.setAttribute('disabled', 'disabled');
    +			customDpi.setAttribute('disabled', 'disabled');
    +		}
     	};
     	
     	mxEvent.addListener(imageFormatSelect, 'change', formatChanged);
    @@ -1181,6 +1284,7 @@ var ExportDialog = function(editorUi)
     
     	mxEvent.addListener(zoomInput, 'change', function()
     	{
    +		zoomUserChanged = true;
     		var s = Math.max(0, parseFloat(zoomInput.value) || 100) / 100;
     		zoomInput.value = parseFloat((s * 100).toFixed(2));
     		
    @@ -1256,6 +1360,7 @@ var ExportDialog = function(editorUi)
     	    	var s = Math.max(0, parseFloat(zoomInput.value) || 100) / 100;
     			var b = Math.max(0, parseInt(borderInput.value));
     			var bg = graph.background;
    +			var dpi = Math.max(1, parseInt(customDpi.value));
     			
     			if ((format == 'svg' || format == 'png') && transparentCheckbox.checked)
     			{
    @@ -1267,7 +1372,7 @@ var ExportDialog = function(editorUi)
     			}
     			
     			ExportDialog.lastBorderValue = b;
    -			ExportDialog.exportFile(editorUi, name, format, bg, s, b);
    +			ExportDialog.exportFile(editorUi, name, format, bg, s, b, dpi);
     		}
     	}));
     	saveBtn.className = 'geBtn gePrimaryBtn';
    @@ -1316,7 +1421,7 @@ ExportDialog.showXmlOption = true;
      * parameter and value to be used in the request in the form
      * key=value, where value should be URL encoded.
      */
    -ExportDialog.exportFile = function(editorUi, name, format, bg, s, b)
    +ExportDialog.exportFile = function(editorUi, name, format, bg, s, b, dpi)
     {
     	var graph = editorUi.editor.graph;
     	
    @@ -1358,7 +1463,8 @@ ExportDialog.exportFile = function(editorUi, name, format, bg, s, b)
     			var req = new mxXmlRequest(EXPORT_URL, 'format=' + format +
     				'&filename=' + encodeURIComponent(name) +
     				'&bg=' + ((bg != null) ? bg : 'none') +
    -				'&w=' + w + '&h=' + h + '&' + param);
    +				'&w=' + w + '&h=' + h + '&' + param +
    +				'&dpi=' + dpi);
     			req.simulate(document, '_blank');
     		}
     		else
    diff --git a/javascript/examples/grapheditor/www/js/Format.js b/javascript/examples/grapheditor/www/js/Format.js
    index 2d84484fa..239c84d45 100644
    --- a/javascript/examples/grapheditor/www/js/Format.js
    +++ b/javascript/examples/grapheditor/www/js/Format.js
    @@ -725,7 +725,7 @@ BaseFormatPanel.prototype.createTitle = function(title)
     /**
      * 
      */
    -BaseFormatPanel.prototype.createStepper = function(input, update, step, height, disableFocus, defaultValue)
    +BaseFormatPanel.prototype.createStepper = function(input, update, step, height, disableFocus, defaultValue, isFloat)
     {
     	step = (step != null) ? step : 1;
     	height = (height != null) ? height : 8;
    @@ -765,7 +765,7 @@ BaseFormatPanel.prototype.createStepper = function(input, update, step, height,
     			input.value = defaultValue || '2';
     		}
     		
    -		var val = parseInt(input.value);
    +		var val = isFloat? parseFloat(input.value) : parseInt(input.value);
     		
     		if (!isNaN(val))
     		{
    @@ -787,7 +787,7 @@ BaseFormatPanel.prototype.createStepper = function(input, update, step, height,
     			input.value = defaultValue || '0';
     		}
     		
    -		var val = parseInt(input.value);
    +		var val = isFloat? parseFloat(input.value) : parseInt(input.value);
     		
     		if (!isNaN(val))
     		{
    @@ -1264,7 +1264,7 @@ BaseFormatPanel.prototype.addArrow = function(elt, height)
     /**
      * 
      */
    -BaseFormatPanel.prototype.addUnitInput = function(container, unit, right, width, update, step, marginTop, disableFocus)
    +BaseFormatPanel.prototype.addUnitInput = function(container, unit, right, width, update, step, marginTop, disableFocus, isFloat)
     {
     	marginTop = (marginTop != null) ? marginTop : 0;
     	
    @@ -1276,7 +1276,7 @@ BaseFormatPanel.prototype.addUnitInput = function(container, unit, right, width,
     	input.style.width = width + 'px';
     	container.appendChild(input);
     	
    -	var stepper = this.createStepper(input, update, step, null, disableFocus);
    +	var stepper = this.createStepper(input, update, step, null, disableFocus, null, isFloat);
     	stepper.style.marginTop = (marginTop - 2) + 'px';
     	stepper.style.right = right + 'px';
     	container.appendChild(stepper);
    @@ -1909,11 +1909,67 @@ ArrangePanel.prototype.addAngle = function(div)
     	return div;
     };
     
    +BaseFormatPanel.prototype.getUnit = function()
    +{
    +	var unit = this.editorUi.editor.graph.view.unit;
    +	
    +	switch(unit)
    +	{
    +		case mxConstants.POINTS:
    +			return 'pt';
    +		case mxConstants.INCHES:
    +			return '"';
    +		case mxConstants.MILLIMETERS:
    +			return 'mm';
    +	}
    +};
    +
    +BaseFormatPanel.prototype.inUnit = function(pixels)
    +{
    +	return this.editorUi.editor.graph.view.formatUnitText(pixels);
    +};
    +
    +BaseFormatPanel.prototype.fromUnit = function(value)
    +{
    +	var unit = this.editorUi.editor.graph.view.unit;
    +	
    +	switch(unit)
    +	{
    +		case mxConstants.POINTS:
    +			return value;
    +		case mxConstants.INCHES:
    +			return value * mxConstants.PIXELS_PER_INCH;
    +		case mxConstants.MILLIMETERS:
    +			return value * mxConstants.PIXELS_PER_MM;
    +	}
    +};
    +
    +BaseFormatPanel.prototype.isFloatUnit = function()
    +{
    +	return this.editorUi.editor.graph.view.unit != mxConstants.POINTS;
    +};
    +
    +BaseFormatPanel.prototype.getUnitStep = function()
    +{
    +	var unit = this.editorUi.editor.graph.view.unit;
    +	
    +	switch(unit)
    +	{
    +		case mxConstants.POINTS:
    +			return 1;
    +		case mxConstants.INCHES:
    +			return 0.1;
    +		case mxConstants.MILLIMETERS:
    +			return 0.5;
    +	}
    +};
    +
     /**
      * 
      */
     ArrangePanel.prototype.addGeometry = function(container)
     {
    +	var panel = this;
     	var ui = this.editorUi;
     	var graph = ui.editor.graph;
     	var rect = this.format.getSelectionState();
    @@ -1930,14 +1986,14 @@ ArrangePanel.prototype.addGeometry = function(container)
     	div.appendChild(span);
     
     	var widthUpdate, heightUpdate, leftUpdate, topUpdate;
    -	var width = this.addUnitInput(div, 'pt', 84, 44, function()
    +	var width = this.addUnitInput(div, this.getUnit(), 84, 44, function()
     	{
     		widthUpdate.apply(this, arguments);
    -	});
    -	var height = this.addUnitInput(div, 'pt', 20, 44, function()
    +	}, this.getUnitStep(), null, null, this.isFloatUnit());
    +	var height = this.addUnitInput(div, this.getUnit(), 20, 44, function()
     	{
     		heightUpdate.apply(this, arguments);
    -	});
    +	}, this.getUnitStep(), null, null, this.isFloatUnit());
     	
     	var autosizeBtn = document.createElement('div');
     	autosizeBtn.className = 'geSprite geSprite-fit';
    @@ -1988,7 +2044,7 @@ ArrangePanel.prototype.addGeometry = function(container)
     	{
     		if (geo.width > 0)
     		{
    -			var value = Math.max(1, value);
    +			var value = Math.max(1, panel.fromUnit(value));
     			
     			if (constrainCheckbox.checked)
     			{
    @@ -2002,7 +2058,7 @@ ArrangePanel.prototype.addGeometry = function(container)
     	{
     		if (geo.height > 0)
     		{
    -			var value = Math.max(1, value);
    +			var value = Math.max(1, panel.fromUnit(value));
     			
     			if (constrainCheckbox.checked)
     			{
    @@ -2026,14 +2082,14 @@ ArrangePanel.prototype.addGeometry = function(container)
     	mxUtils.write(span, mxResources.get('position'));
     	div2.appendChild(span);
     	
    -	var left = this.addUnitInput(div2, 'pt', 84, 44, function()
    +	var left = this.addUnitInput(div2, this.getUnit(), 84, 44, function()
     	{
     		leftUpdate.apply(this, arguments);
    -	});
    -	var top = this.addUnitInput(div2, 'pt', 20, 44, function()
    +	}, this.getUnitStep(), null, null, this.isFloatUnit());
    +	var top = this.addUnitInput(div2, this.getUnit(), 20, 44, function()
     	{
     		topUpdate.apply(this, arguments);
    -	});
    +	}, this.getUnitStep(), null, null, this.isFloatUnit());
     
     	mxUtils.br(div2);
     	this.addLabel(div2, mxResources.get('left'), 84);
    @@ -2050,12 +2106,12 @@ ArrangePanel.prototype.addGeometry = function(container)
     			
     			if (force || document.activeElement != width)
     			{
    -				width.value = rect.width + ((rect.width == '') ? '' : ' pt');
    +				width.value = this.inUnit(rect.width) + ((rect.width == '') ? '' : ' ' + this.getUnit());
     			}
     			
     			if (force || document.activeElement != height)
     			{
    -				height.value = rect.height + ((rect.height == '') ? '' : ' pt');
    +				height.value = this.inUnit(rect.height) + ((rect.height == '') ? '' : ' ' + this.getUnit());
     			}
     		}
     		else
    @@ -2070,12 +2126,12 @@ ArrangePanel.prototype.addGeometry = function(container)
     			
     			if (force || document.activeElement != left)
     			{
    -				left.value = rect.x  + ((rect.x == '') ? '' : ' pt');
    +				left.value = this.inUnit(rect.x)  + ((rect.x == '') ? '' : ' ' + this.getUnit());
     			}
     			
     			if (force || document.activeElement != top)
     			{
    -				top.value = rect.y + ((rect.y == '') ? '' : ' pt');
    +				top.value = this.inUnit(rect.y) + ((rect.y == '') ? '' : ' ' + this.getUnit());
     			}
     		}
     		else
    @@ -2093,6 +2149,8 @@ ArrangePanel.prototype.addGeometry = function(container)
     	
     	leftUpdate = this.addGeometryHandler(left, function(geo, value)
     	{
    +		value = panel.fromUnit(value);
    +		
     		if (geo.relative)
     		{
     			geo.offset.x = value;
    @@ -2104,6 +2162,8 @@ ArrangePanel.prototype.addGeometry = function(container)
     	});
     	topUpdate = this.addGeometryHandler(top, function(geo, value)
     	{
    +		value = panel.fromUnit(value);
    +		
     		if (geo.relative)
     		{
     			geo.offset.y = value;
    @@ -2125,6 +2185,7 @@ ArrangePanel.prototype.addGeometryHandler = function(input, fn)
     	var ui = this.editorUi;
     	var graph = ui.editor.graph;
     	var initialValue = null;
    +	var panel = this;
     	
     	function update(evt)
     	{
    @@ -2134,7 +2195,7 @@ ArrangePanel.prototype.addGeometryHandler = function(input, fn)
     
     			if (isNaN(value)) 
     			{
    -				input.value = initialValue + ' pt';
    +				input.value = initialValue + ' ' + panel.getUnit();
     			}
     			else if (value != initialValue)
     			{
    @@ -2165,7 +2226,7 @@ ArrangePanel.prototype.addGeometryHandler = function(input, fn)
     				}
     				
     				initialValue = value;
    -				input.value = value + ' pt';
    +				input.value = value + ' ' + panel.getUnit();
     			}
     		}
     		
    @@ -2491,12 +2552,6 @@ TextFormatPanel.prototype.addFont = function(container)
     		var arrow = cssMenu.getElementsByTagName('div')[0];
     		arrow.style.cssFloat = 'right';
     		container.appendChild(cssPanel);
    -		
    -		// Workaround for offset in FF
    -		if (mxClient.IS_FF)
    -		{
    -			cssMenu.getElementsByTagName('div')[0].style.marginTop = '-18px';
    -		}
     	}
     	
     	container.appendChild(stylePanel);
    @@ -2518,12 +2573,6 @@ TextFormatPanel.prototype.addFont = function(container)
     	fontMenu.style.width = '192px';
     	fontMenu.style.height = '15px';
     	
    -	// Workaround for offset in FF
    -	if (mxClient.IS_FF)
    -	{
    -		fontMenu.getElementsByTagName('div')[0].style.marginTop = '-18px';
    -	}
    -	
     	var stylePanel2 = stylePanel.cloneNode(false);
     	stylePanel2.style.marginLeft = '-3px';
     	var fontStyleItems = this.editorUi.toolbar.addItems(['bold', 'italic', 'underline'], stylePanel2, true);
    @@ -2645,6 +2694,7 @@ TextFormatPanel.prototype.addFont = function(container)
     			{
     				document.execCommand('superscript', false, null);
     			}, stylePanel3)]);
    +		sub.style.marginLeft = '9px';
     		
     		var tmp = stylePanel3.cloneNode(false);
     		tmp.style.paddingTop = '4px';
    @@ -3801,29 +3851,34 @@ TextFormatPanel.prototype.addFont = function(container)
     							setSelected(fontStyleItems[1], css.fontStyle == 'italic' ||
     								hasParentOrOnlyChild('I') || hasParentOrOnlyChild('EM'));
     							setSelected(fontStyleItems[2], hasParentOrOnlyChild('U'));
    -							setSelected(full, isEqualOrPrefixed(css.textAlign, 'justify'));
     							setSelected(sup, hasParentOrOnlyChild('SUP'));
     							setSelected(sub, hasParentOrOnlyChild('SUB'));
     							
     							if (!graph.cellEditor.isTableSelected())
     							{
     								var align = graph.cellEditor.align || mxUtils.getValue(ss.style, mxConstants.STYLE_ALIGN, mxConstants.ALIGN_CENTER);
    -								setSelected(left, align == mxConstants.ALIGN_LEFT);
    -								setSelected(center, align == mxConstants.ALIGN_CENTER);
    -								setSelected(right, align == mxConstants.ALIGN_RIGHT);
    -								
    -								setSelected(full, false);
    -								full.style.opacity = 0.2;
    -								full.style.cursor = 'default';
    +
    +								if (isEqualOrPrefixed(css.textAlign, 'justify'))
    +								{
    +									setSelected(full, isEqualOrPrefixed(css.textAlign, 'justify'));
    +									setSelected(left, false);
    +									setSelected(center, false);
    +									setSelected(right, false);
    +								}
    +								else
    +								{
    +									setSelected(full, false);
    +									setSelected(left, align == mxConstants.ALIGN_LEFT);
    +									setSelected(center, align == mxConstants.ALIGN_CENTER);
    +									setSelected(right, align == mxConstants.ALIGN_RIGHT);
    +								}
     							}
     							else
     							{
    +								setSelected(full, isEqualOrPrefixed(css.textAlign, 'justify'));
     								setSelected(left, isEqualOrPrefixed(css.textAlign, 'left'));
     								setSelected(center, isEqualOrPrefixed(css.textAlign, 'center'));
     								setSelected(right, isEqualOrPrefixed(css.textAlign, 'right'));
    -								
    -								full.style.opacity = 1;
    -								full.style.cursor = '';
     							}
     							
     							currentTable = graph.getParentByName(node, 'TABLE', graph.cellEditor.textarea);
    @@ -5458,6 +5513,7 @@ DiagramFormatPanel.prototype.addOptions = function(div)
      */
     DiagramFormatPanel.prototype.addGridOption = function(container)
     {
    +	var fPanel = this;
     	var ui = this.editorUi;
     	var graph = ui.editor.graph;
     	
    @@ -5465,9 +5521,9 @@ DiagramFormatPanel.prototype.addGridOption = function(container)
     	input.style.position = 'absolute';
     	input.style.textAlign = 'right';
     	input.style.width = '38px';
    -	input.value = graph.getGridSize() + ' pt';
    +	input.value = this.inUnit(graph.getGridSize()) + ' ' + this.getUnit(); 
     	
    -	var stepper = this.createStepper(input, update);
    +	var stepper = this.createStepper(input, update, this.getUnitStep(), null, null, null, this.isFloatUnit());
     	input.style.display = (graph.isGridEnabled()) ? '' : 'none';
     	stepper.style.display = input.style.display;
     
    @@ -5488,21 +5544,30 @@ DiagramFormatPanel.prototype.addGridOption = function(container)
     	
     	function update(evt)
     	{
    -		var value = parseInt(input.value);
    -		value = Math.max(1, (isNaN(value)) ? 10 : value);
    +		var value = fPanel.isFloatUnit()? parseFloat(input.value) : parseInt(input.value);
    +		value = fPanel.fromUnit(Math.max(fPanel.inUnit(1), (isNaN(value)) ? fPanel.inUnit(10) : value));
     		
     		if (value != graph.getGridSize())
     		{
     			graph.setGridSize(value)
     		}
     
    -		input.value = value + ' pt';
    +		input.value = fPanel.inUnit(value) + ' ' + fPanel.getUnit();
     		mxEvent.consume(evt);
     	};
     
     	mxEvent.addListener(input, 'blur', update);
     	mxEvent.addListener(input, 'change', update);
     	
    +	var unitChangeListener = function(sender, evt)
    +	{
    +		input.value = fPanel.inUnit(graph.getGridSize()) + ' ' + fPanel.getUnit();
    +		fPanel.format.refresh();
    +	};
    +	
    +	graph.view.addListener('unitChanged', unitChangeListener);
    +	this.listeners.push({destroy: function() { graph.view.removeListener(unitChangeListener); }});
    +	
     	if (mxClient.IS_SVG)
     	{
     		input.style.marginTop = '-2px';
    diff --git a/javascript/examples/grapheditor/www/js/Graph.js b/javascript/examples/grapheditor/www/js/Graph.js
    index 1bf77f6c6..d962bee29 100644
    --- a/javascript/examples/grapheditor/www/js/Graph.js
    +++ b/javascript/examples/grapheditor/www/js/Graph.js
    @@ -55,6 +55,18 @@ if (!Date.now)
     }
     
     // Changes default colors
    +/**
    + * Measurements Units
    + */
    +mxConstants.POINTS = 1;
    +mxConstants.MILLIMETERS = 2;
    +mxConstants.INCHES = 3;
    +/**
    + * This ratio is with page scale 1
    + */
    +mxConstants.PIXELS_PER_MM = 3.937;
    +mxConstants.PIXELS_PER_INCH = 100;
    +
     mxConstants.SHADOW_OPACITY = 0.25;
     mxConstants.SHADOWCOLOR = '#000000';
     mxConstants.VML_SHADOWCOLOR = '#d0d0d0';
    @@ -95,6 +107,19 @@ mxGraphView.prototype.minGridSize = 4;
     // UrlParams is null in embed mode
     mxGraphView.prototype.gridColor = '#e0e0e0';
     
    +//Units
    +mxGraphView.prototype.unit = mxConstants.POINTS;
    +
    +mxGraphView.prototype.setUnit = function(unit) 
    +{
    +	if (this.unit != unit)
    +	{
    +	    this.unit = unit;
    +	    
    +	    this.fireEvent(new mxEventObject('unitChanged', 'unit', unit));
    +	}
    +};
    +
     // Alternative text for unsupported foreignObjects
     mxSvgCanvas2D.prototype.foAltText = '[Not supported by viewer]';
     
    @@ -3928,7 +3953,8 @@ HoverIcons.prototype.getState = function(state)
      */
     HoverIcons.prototype.update = function(state, x, y)
     {
    -	if (!this.graph.connectionArrowsEnabled)
    +	if (!this.graph.connectionArrowsEnabled || (state != null &&
    +		mxUtils.getValue(state.style, 'allowArrows', '1') == '0'))
     	{
     		this.reset();
     	}
    @@ -7714,6 +7740,28 @@ if (typeof mxVertexHandler != 'undefined')
     			return hint;
     		};
     		
    +		/**
    +		 * Format pixels in the given unit
    +		 */
    +		function formatHintText(pixels, unit) 
    +		{
    +		    switch(unit) 
    +		    {
    +		        case mxConstants.POINTS:
    +		            return pixels;
    +		        case mxConstants.MILLIMETERS:
    +		            return (pixels / mxConstants.PIXELS_PER_MM).toFixed(1);
    +		        case mxConstants.INCHES:
    +		            return (pixels / mxConstants.PIXELS_PER_INCH).toFixed(2);
    +		    }
    +		};
    +		
    +		
    +		mxGraphView.prototype.formatUnitText = function(pixels) 
    +		{
    +			return pixels? formatHintText(pixels, this.unit) : pixels;
    +		};
    +		
     		/**
     		 * Updates the hint for the current operation.
     		 */
    @@ -7731,8 +7779,9 @@ if (typeof mxVertexHandler != 'undefined')
     				var s = this.graph.view.scale;
     				var x = this.roundLength((this.bounds.x + this.currentDx) / s - t.x);
     				var y = this.roundLength((this.bounds.y + this.currentDy) / s - t.y);
    +				var unit = this.graph.view.unit;
     				
    -				this.hint.innerHTML = x + ', ' + y;
    +				this.hint.innerHTML = formatHintText(x, unit) + ', ' + formatHintText(y, unit);
     	
     				this.hint.style.left = (this.shape.bounds.x + Math.round((this.shape.bounds.width - this.hint.clientWidth) / 2)) + 'px';
     				this.hint.style.top = (this.shape.bounds.y + this.shape.bounds.height + 12) + 'px';
    @@ -7817,7 +7866,9 @@ if (typeof mxVertexHandler != 'undefined')
     				else
     				{
     					var s = this.state.view.scale;
    -					this.hint.innerHTML = this.roundLength(this.bounds.width / s) + ' x ' + this.roundLength(this.bounds.height / s);
    +					var unit = this.state.view.unit;
    +					this.hint.innerHTML = formatHintText(this.roundLength(this.bounds.width / s), unit) + ' x ' + 
    +											formatHintText(this.roundLength(this.bounds.height / s), unit);
     				}
     				
     				var rot = (this.currentAlpha != null) ? this.currentAlpha : this.state.style[mxConstants.STYLE_ROTATION] || '0';
    @@ -7866,8 +7917,9 @@ if (typeof mxVertexHandler != 'undefined')
     			var s = this.graph.view.scale;
     			var x = this.roundLength(point.x / s - t.x);
     			var y = this.roundLength(point.y / s - t.y);
    +			var unit = this.graph.view.unit;
     			
    -			this.hint.innerHTML = x + ', ' + y;
    +			this.hint.innerHTML = formatHintText(x, unit) + ', ' + formatHintText(y, unit);
     			this.hint.style.visibility = 'visible';
     			
     			if (this.isSource || this.isTarget)
    diff --git a/javascript/examples/grapheditor/www/js/Shapes.js b/javascript/examples/grapheditor/www/js/Shapes.js
    index d73f65070..0e76130c1 100644
    --- a/javascript/examples/grapheditor/www/js/Shapes.js
    +++ b/javascript/examples/grapheditor/www/js/Shapes.js
    @@ -2801,6 +2801,26 @@
     		};
     	});
     	
    +	// Registers and defines the custom marker
    +	mxMarker.addMarker('halfCircle', function(c, shape, type, pe, unitX, unitY, size, source, sw, filled)
    +	{
    +		var nx = unitX * (size + sw + 1);
    +		var ny = unitY * (size + sw + 1);
    +		var pt = pe.clone();
    +		
    +		pe.x -= nx;
    +		pe.y -= ny;
    +
    +		return function()
    +		{
    +			c.begin();
    +			c.moveTo(pt.x - ny, pt.y + nx);
    +			c.quadTo(pe.x - ny, pe.y + nx, pe.x, pe.y);
    +			c.quadTo(pe.x + ny, pe.y - nx, pt.x + ny, pt.y - nx);
    +			c.stroke();
    +		};
    +	});
    +
     	mxMarker.addMarker('async', function(c, shape, type, pe, unitX, unitY, size, source, sw, filled)
     	{
     		// The angle of the forward facing arrow sides against the x axis is
    diff --git a/javascript/examples/grapheditor/www/js/Sidebar.js b/javascript/examples/grapheditor/www/js/Sidebar.js
    index 7fae4e8dc..f21a2388f 100644
    --- a/javascript/examples/grapheditor/www/js/Sidebar.js
    +++ b/javascript/examples/grapheditor/www/js/Sidebar.js
    @@ -314,6 +314,7 @@ Sidebar.prototype.showTooltip = function(elt, cells, w, h, title, showLabel)
     				}
     
     				this.tooltip.style.width = width + 'px';
    +				var w2 = width;
     				
     				// Adds title for entry
     				if (this.tooltipTitles && title != null && title.length > 0)
    @@ -324,8 +325,6 @@ Sidebar.prototype.showTooltip = function(elt, cells, w, h, title, showLabel)
     						this.tooltipTitle.style.borderTop = '1px solid gray';
     						this.tooltipTitle.style.textAlign = 'center';
     						this.tooltipTitle.style.width = '100%';
    -						
    -						// Oversize titles are cut-off currently. Should make tooltip wider later.
     						this.tooltipTitle.style.overflow = 'hidden';
     						this.tooltipTitle.style.position = 'absolute';
     						this.tooltipTitle.style.paddingTop = '6px';
    @@ -341,6 +340,8 @@ Sidebar.prototype.showTooltip = function(elt, cells, w, h, title, showLabel)
     					this.tooltipTitle.style.display = '';
     					mxUtils.write(this.tooltipTitle, title);
     					
    +					// Allows for wider labels
    +					w2 = Math.min(this.maxTooltipWidth, Math.max(width, this.tooltipTitle.scrollWidth + 4));
     					var ddy = this.tooltipTitle.offsetHeight + 10;
     					height += ddy;
     					
    @@ -358,9 +359,15 @@ Sidebar.prototype.showTooltip = function(elt, cells, w, h, title, showLabel)
     				{
     					this.tooltipTitle.style.display = 'none';
     				}
    +
    +				// Updates width if label is wider
    +				if (w2 > width)
    +				{
    +					this.tooltip.style.width = w2 + 'px';
    +				}
     				
     				this.tooltip.style.height = height + 'px';
    -				var x0 = -Math.round(bounds.x - this.tooltipBorder);
    +				var x0 = -Math.round(bounds.x - this.tooltipBorder) + (w2 - width) / 2;
     				var y0 = -Math.round(bounds.y - this.tooltipBorder);
     				
     				var b = document.body;
    @@ -1329,8 +1336,13 @@ Sidebar.prototype.addUmlPalette = function(expand)
     			
     			return sb.createVertexTemplateFromCells([cell.clone()], cell.geometry.width, cell.geometry.height, 'Interface 2');
     		}),
    -		this.createVertexTemplateEntry('shape=providedRequiredInterface;html=1;verticalLabelPosition=bottom;', 20, 20, '', 'Provided/Required Interface', null, null, dt + 'provided required interface'),
    -		this.createVertexTemplateEntry('shape=requiredInterface;html=1;verticalLabelPosition=bottom;', 10, 20, '', 'Required Interface', null, null, dt + 'required interface'),
    +		this.createVertexTemplateEntry('shape=providedRequiredInterface;html=1;verticalLabelPosition=bottom;', 20, 20, '', 'Provided/Required Interface', null, null, 'uml provided required interface lollipop'),
    +		this.createVertexTemplateEntry('shape=requiredInterface;html=1;verticalLabelPosition=bottom;', 10, 20, '', 'Required Interface', null, null, 'uml required interface lollipop'),
    +		this.addEntry('uml lollipop provided required interface', function()
    +		{
    +			return sb.createVertexTemplateFromData('zVTBrptADPyavVYEkt4b0uQd3pMq5dD2uAUD27dgZJwE8vX1spsQlETtpVWRIjFjex3PmFVJWvc70m31hjlYlXxWSUqI7N/qPgVrVRyZXCUbFceR/FS8fRJdjNGo1QQN/0lB7AuO2h7AM57oeLCBIDw0Obj8SCVrJK6wxEbbV8RWyIWQP4F52Juzq9AHRqEqrm2IQpN/IsKTwAYb8MzWWBuO9B0hL2E2BGsqIQyxvJ9rzApD7QBrYBokhcBqNsf5UbrzsLzmXUu/oJET42jwGat5QYcHyiDkTDLKy03TiRrFfSx08m+FrrQtUkOZvZdbFKThmwMfVhf4fQ43/W3uZriiPPT+KKhjwnf4anKuQv//wsg+NPJ7/9d9Xf7eVykwbeeMOFWGYd/qzEVO8tHP/Suw4a2ujXV/+gXsEdhkOgSC8os44BQt0tggicZHeG1N2QiXibhAV48epRayEDd8MT7Ct06TUaXVWq027tCuhcx5VZjebeeaoDNn/WMcb/p+j0AM/dNr6InLl4Lgzylsk6OCgRWYsuI592gNZh5OhgmcblPv7+1l+ws=',
    +				40, 10, 'Lollipop Notation');
    +		}),
     		this.createVertexTemplateEntry('shape=umlBoundary;whiteSpace=wrap;html=1;', 100, 80, 'Boundary Object', 'Boundary Object', null, null, 'uml boundary object'),
     		this.createVertexTemplateEntry('ellipse;shape=umlEntity;whiteSpace=wrap;html=1;', 80, 80, 'Entity Object', 'Entity Object', null, null, 'uml entity object'),
     		this.createVertexTemplateEntry('ellipse;shape=umlControl;whiteSpace=wrap;html=1;', 70, 80, 'Control Object', 'Control Object', null, null, 'uml control object'),
    diff --git a/javascript/examples/grapheditor/www/resources/grapheditor.txt b/javascript/examples/grapheditor/www/resources/grapheditor.txt
    index d463301d7..f61eb4036 100644
    --- a/javascript/examples/grapheditor/www/resources/grapheditor.txt
    +++ b/javascript/examples/grapheditor/www/resources/grapheditor.txt
    @@ -87,6 +87,7 @@ distribute=Distribute
     divider=Divider
     documentProperties=Document Properties
     dotted=Dotted
    +dpi=DPI
     drawing=Drawing{1}
     drawingEmpty=Drawing is empty
     drawingTooLarge=Drawing is too large
    diff --git a/javascript/examples/grapheditor/www/resources/grapheditor_de.txt b/javascript/examples/grapheditor/www/resources/grapheditor_de.txt
    index c11cdf3bd..23f0dcd12 100644
    --- a/javascript/examples/grapheditor/www/resources/grapheditor_de.txt
    +++ b/javascript/examples/grapheditor/www/resources/grapheditor_de.txt
    @@ -85,8 +85,9 @@ diamondThin=Diamant (Schmal)
     direction=Richtung
     distribute=Verteilen
     divider=Treelinie
    -dotted=Punktiert
     documentProperties=Dokumenteigenschaften
    +dotted=Punktiert
    +dpi=DPI
     drawing=Zeichnung{1}
     drawingEmpty=Zeichnung ist leer
     drawingTooLarge=Zeichnung ist zu gross
    diff --git a/javascript/mxClient.js b/javascript/mxClient.js
    index 56ba9c6fc..7f11d877d 100644
    --- a/javascript/mxClient.js
    +++ b/javascript/mxClient.js
    @@ -20,9 +20,9 @@ var mxClient =
     	 * 
     	 * versionMajor.versionMinor.buildNumber.revisionNumber
     	 * 
    -	 * Current version is 4.0.3.
    +	 * Current version is 4.0.4.
     	 */
    -	VERSION: '4.0.3',
    +	VERSION: '4.0.4',
     
     	/**
     	 * Variable: IS_IE
    @@ -8860,7 +8860,6 @@ var mxUtils =
     	 * for the STYLE_PERIMETER style.
     	 */
     	PERIMETER_TRIANGLE: 'trianglePerimeter'
    -
     };
     /**
      * Copyright (c) 2006-2015, JGraph Ltd
    @@ -19094,7 +19093,7 @@ mxSvgCanvas2D.prototype.updateFill = function()
     			var id = this.getSvgGradient(String(s.fillColor), String(s.gradientColor),
     				s.gradientFillAlpha, s.gradientAlpha, s.gradientDirection);
     			
    -			if (!mxClient.IS_CHROME_APP && !mxClient.IS_IE && !mxClient.IS_IE11 &&
    +			if (!mxClient.IS_CHROMEAPP && !mxClient.IS_IE && !mxClient.IS_IE11 &&
     				!mxClient.IS_EDGE && this.root.ownerDocument == document)
     			{
     				// Workaround for potential base tag and brackets must be escaped
    @@ -20341,7 +20340,7 @@ mxSvgCanvas2D.prototype.plainText = function(x, y, w, h, str, align, valign, wra
     			this.root.appendChild(c);
     		}
     		
    -		if (!mxClient.IS_CHROME_APP && !mxClient.IS_IE && !mxClient.IS_IE11 &&
    +		if (!mxClient.IS_CHROMEAPP && !mxClient.IS_IE && !mxClient.IS_IE11 &&
     			!mxClient.IS_EDGE && this.root.ownerDocument == document)
     		{
     			// Workaround for potential base tag
    @@ -89072,7 +89071,7 @@ var mxStylesheetCodec = mxCodecRegistry.register(function()
     		
     		if (type == 'function')
     		{
    -			value = mxStyleRegistry.getName(style[j]);
    +			value = mxStyleRegistry.getName(value);
     		}
     		else if (type == 'object')
     		{
    diff --git a/javascript/mxClient.min.js b/javascript/mxClient.min.js
    index ba1442610..caf8bb8bf 100644
    --- a/javascript/mxClient.min.js
    +++ b/javascript/mxClient.min.js
    @@ -1,4 +1,4 @@
    -var mxClient={VERSION:"4.0.3",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&
    +var mxClient={VERSION:"4.0.4",IS_IE:0<=navigator.userAgent.indexOf("MSIE"),IS_IE6:0<=navigator.userAgent.indexOf("MSIE 6"),IS_IE11:!!navigator.userAgent.match(/Trident\/7\./),IS_EDGE:!!navigator.userAgent.match(/Edge\//),IS_QUIRKS:0<=navigator.userAgent.indexOf("MSIE")&&(null==document.documentMode||5==document.documentMode),IS_EM:"spellcheck"in document.createElement("textarea")&&8==document.documentMode,VML_PREFIX:"v",OFFICE_PREFIX:"o",IS_NS:0<=navigator.userAgent.indexOf("Mozilla/")&&0>navigator.userAgent.indexOf("MSIE")&&
     0>navigator.userAgent.indexOf("Edge/"),IS_OP:0<=navigator.userAgent.indexOf("Opera/")||0<=navigator.userAgent.indexOf("OPR/"),IS_OT:0<=navigator.userAgent.indexOf("Presto/")&&0>navigator.userAgent.indexOf("Presto/2.4.")&&0>navigator.userAgent.indexOf("Presto/2.3.")&&0>navigator.userAgent.indexOf("Presto/2.2.")&&0>navigator.userAgent.indexOf("Presto/2.1.")&&0>navigator.userAgent.indexOf("Presto/2.0.")&&0>navigator.userAgent.indexOf("Presto/1."),IS_SF:0<=navigator.userAgent.indexOf("AppleWebKit/")&&
     0>navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_IOS:navigator.userAgent.match(/(iPad|iPhone|iPod)/g)?!0:!1,IS_GC:0<=navigator.userAgent.indexOf("Chrome/")&&0>navigator.userAgent.indexOf("Edge/"),IS_CHROMEAPP:null!=window.chrome&&null!=chrome.app&&null!=chrome.app.runtime,IS_FF:0<=navigator.userAgent.indexOf("Firefox/"),IS_MT:0<=navigator.userAgent.indexOf("Firefox/")&&0>navigator.userAgent.indexOf("Firefox/1.")&&0>navigator.userAgent.indexOf("Firefox/2.")||0<=navigator.userAgent.indexOf("Iceweasel/")&&
     0>navigator.userAgent.indexOf("Iceweasel/1.")&&0>navigator.userAgent.indexOf("Iceweasel/2.")||0<=navigator.userAgent.indexOf("SeaMonkey/")&&0>navigator.userAgent.indexOf("SeaMonkey/1.")||0<=navigator.userAgent.indexOf("Iceape/")&&0>navigator.userAgent.indexOf("Iceape/1."),IS_VML:"MICROSOFT INTERNET EXPLORER"==navigator.appName.toUpperCase(),IS_SVG:"MICROSOFT INTERNET EXPLORER"!=navigator.appName.toUpperCase(),NO_FO:!document.createElementNS||"[object SVGForeignObjectElement]"!=document.createElementNS("http://www.w3.org/2000/svg",
    @@ -306,7 +306,7 @@ e.setAttribute("offset","0%");e.setAttribute("style","stop-color:"+a+c);f.append
     mxSvgCanvas2D.prototype.addNode=function(a,b){var c=this.node,d=this.state;if(null!=c){if("path"==c.nodeName)if(null!=this.path&&0<this.path.length)c.setAttribute("d",this.path.join(" "));else return;a&&null!=d.fillColor?this.updateFill():this.styleEnabled||("ellipse"==c.nodeName&&mxClient.IS_FF?c.setAttribute("fill","transparent"):c.setAttribute("fill","none"),a=!1);b&&null!=d.strokeColor?this.updateStroke():this.styleEnabled||c.setAttribute("stroke","none");null!=d.transform&&0<d.transform.length&&
     c.setAttribute("transform",d.transform);d.shadow&&this.root.appendChild(this.createShadow(c));0<this.strokeTolerance&&!a&&this.root.appendChild(this.createTolerance(c));this.pointerEvents?c.setAttribute("pointer-events",this.pointerEventsValue):this.pointerEvents||null!=this.originalRoot||c.setAttribute("pointer-events","none");("rect"!=c.nodeName&&"path"!=c.nodeName&&"ellipse"!=c.nodeName||"none"!=c.getAttribute("fill")&&"transparent"!=c.getAttribute("fill")||"none"!=c.getAttribute("stroke")||"none"!=
     c.getAttribute("pointer-events"))&&this.root.appendChild(c);this.node=null}};
    -mxSvgCanvas2D.prototype.updateFill=function(){var a=this.state;(1>a.alpha||1>a.fillAlpha)&&this.node.setAttribute("fill-opacity",a.alpha*a.fillAlpha);if(null!=a.fillColor)if(null!=a.gradientColor)if(a=this.getSvgGradient(String(a.fillColor),String(a.gradientColor),a.gradientFillAlpha,a.gradientAlpha,a.gradientDirection),mxClient.IS_CHROME_APP||mxClient.IS_IE||mxClient.IS_IE11||mxClient.IS_EDGE||this.root.ownerDocument!=document)this.node.setAttribute("fill","url(#"+a+")");else{var b=this.getBaseUrl().replace(/([\(\)])/g,
    +mxSvgCanvas2D.prototype.updateFill=function(){var a=this.state;(1>a.alpha||1>a.fillAlpha)&&this.node.setAttribute("fill-opacity",a.alpha*a.fillAlpha);if(null!=a.fillColor)if(null!=a.gradientColor)if(a=this.getSvgGradient(String(a.fillColor),String(a.gradientColor),a.gradientFillAlpha,a.gradientAlpha,a.gradientDirection),mxClient.IS_CHROMEAPP||mxClient.IS_IE||mxClient.IS_IE11||mxClient.IS_EDGE||this.root.ownerDocument!=document)this.node.setAttribute("fill","url(#"+a+")");else{var b=this.getBaseUrl().replace(/([\(\)])/g,
     "\\$1");this.node.setAttribute("fill","url("+b+"#"+a+")")}else this.node.setAttribute("fill",String(a.fillColor).toLowerCase())};mxSvgCanvas2D.prototype.getCurrentStrokeWidth=function(){return Math.max(this.minStrokeWidth,Math.max(.01,this.format(this.state.strokeWidth*this.state.scale)))};
     mxSvgCanvas2D.prototype.updateStroke=function(){var a=this.state;this.node.setAttribute("stroke",String(a.strokeColor).toLowerCase());(1>a.alpha||1>a.strokeAlpha)&&this.node.setAttribute("stroke-opacity",a.alpha*a.strokeAlpha);var b=this.getCurrentStrokeWidth();1!=b&&this.node.setAttribute("stroke-width",b);"path"==this.node.nodeName&&this.updateStrokeAttributes();a.dashed&&this.node.setAttribute("stroke-dasharray",this.createDashPattern((a.fixDash?1:a.strokeWidth)*a.scale))};
     mxSvgCanvas2D.prototype.updateStrokeAttributes=function(){var a=this.state;null!=a.lineJoin&&"miter"!=a.lineJoin&&this.node.setAttribute("stroke-linejoin",a.lineJoin);if(null!=a.lineCap){var b=a.lineCap;"flat"==b&&(b="butt");"butt"!=b&&this.node.setAttribute("stroke-linecap",b)}null==a.miterLimit||this.styleEnabled&&10==a.miterLimit||this.node.setAttribute("stroke-miterlimit",a.miterLimit)};
    @@ -341,7 +341,7 @@ d/2:g==mxConstants.ALIGN_BOTTOM&&(q-=d);"fill"!=m&&mxClient.IS_FF&&mxClient.IS_W
     ")"+z);x.setAttribute("width",Math.round(Math.max(1,c)));x.setAttribute("height",Math.round(Math.max(1,d)));this.root.ownerDocument!=document&&(a=this.createAlternateContent(x,a,b,c,d,e,f,g,k,l,m,n,p),null!=a&&(x.setAttribute("requiredFeatures","http://www.w3.org/TR/SVG11/feature#Extensibility"),c=this.createElement("switch"),c.appendChild(x),c.appendChild(a),u.appendChild(c)))}}else this.plainText(a,b,c,d,e,f,g,k,m,n,p,q)}};
     mxSvgCanvas2D.prototype.createClip=function(a,b,c,d){a=Math.round(a);b=Math.round(b);c=Math.round(c);d=Math.round(d);for(var e="mx-clip-"+a+"-"+b+"-"+c+"-"+d,f=0,g=e+"-"+f;null!=document.getElementById(g);)g=e+"-"+ ++f;clip=this.createElement("clipPath");clip.setAttribute("id",g);e=this.createElement("rect");e.setAttribute("x",a);e.setAttribute("y",b);e.setAttribute("width",c);e.setAttribute("height",d);clip.appendChild(e);return clip};
     mxSvgCanvas2D.prototype.plainText=function(a,b,c,d,e,f,g,k,l,m,n,p){n=null!=n?n:0;k=this.state;var q=k.fontSize,r=this.createElement("g"),t=k.transform||"";this.updateFont(r);0!=n&&(t+="rotate("+n+","+this.format(a*k.scale)+","+this.format(b*k.scale)+")");null!=p&&r.setAttribute("direction",p);m&&0<c&&0<d&&(p=a,n=b,f==mxConstants.ALIGN_CENTER?p-=c/2:f==mxConstants.ALIGN_RIGHT&&(p-=c),"fill"!=l&&(g==mxConstants.ALIGN_MIDDLE?n-=d/2:g==mxConstants.ALIGN_BOTTOM&&(n-=d)),n=this.createClip(p*k.scale-2,
    -n*k.scale-2,c*k.scale+4,d*k.scale+4),null!=this.defs?this.defs.appendChild(n):this.root.appendChild(n),mxClient.IS_CHROME_APP||mxClient.IS_IE||mxClient.IS_IE11||mxClient.IS_EDGE||this.root.ownerDocument!=document?r.setAttribute("clip-path","url(#"+n.getAttribute("id")+")"):(p=this.getBaseUrl().replace(/([\(\)])/g,"\\$1"),r.setAttribute("clip-path","url("+p+"#"+n.getAttribute("id")+")")));n=f==mxConstants.ALIGN_RIGHT?"end":f==mxConstants.ALIGN_CENTER?"middle":"start";"start"!=n&&r.setAttribute("text-anchor",
    +n*k.scale-2,c*k.scale+4,d*k.scale+4),null!=this.defs?this.defs.appendChild(n):this.root.appendChild(n),mxClient.IS_CHROMEAPP||mxClient.IS_IE||mxClient.IS_IE11||mxClient.IS_EDGE||this.root.ownerDocument!=document?r.setAttribute("clip-path","url(#"+n.getAttribute("id")+")"):(p=this.getBaseUrl().replace(/([\(\)])/g,"\\$1"),r.setAttribute("clip-path","url("+p+"#"+n.getAttribute("id")+")")));n=f==mxConstants.ALIGN_RIGHT?"end":f==mxConstants.ALIGN_CENTER?"middle":"start";"start"!=n&&r.setAttribute("text-anchor",
     n);this.styleEnabled&&q==mxConstants.DEFAULT_FONTSIZE||r.setAttribute("font-size",q*k.scale+"px");0<t.length&&r.setAttribute("transform",t);1>k.alpha&&r.setAttribute("opacity",k.alpha);t=e.split("\n");p=Math.round(q*mxConstants.LINE_HEIGHT);var u=q+(t.length-1)*p;n=b+q-1;g==mxConstants.ALIGN_MIDDLE?"fill"==l?n-=d/2:(m=(this.matchHtmlAlignment&&m&&0<d?Math.min(u,d):u)/2,n-=m+1):g==mxConstants.ALIGN_BOTTOM&&("fill"==l?n-=d:(m=this.matchHtmlAlignment&&m&&0<d?Math.min(u,d):u,n-=m+2));for(m=0;m<t.length;m++)0<
     t[m].length&&0<mxUtils.trim(t[m]).length&&(q=this.createElement("text"),q.setAttribute("x",this.format(a*k.scale)+this.textOffset),q.setAttribute("y",this.format(n*k.scale)+this.textOffset),mxUtils.write(q,t[m]),r.appendChild(q)),n+=p;this.root.appendChild(r);this.addTextBackground(r,e,a,b,c,"fill"==l?d:u,f,g,l)};
     mxSvgCanvas2D.prototype.updateFont=function(a){var b=this.state;a.setAttribute("fill",b.fontColor);this.styleEnabled&&b.fontFamily==mxConstants.DEFAULT_FONTFAMILY||a.setAttribute("font-family",b.fontFamily);(b.fontStyle&mxConstants.FONT_BOLD)==mxConstants.FONT_BOLD&&a.setAttribute("font-weight","bold");(b.fontStyle&mxConstants.FONT_ITALIC)==mxConstants.FONT_ITALIC&&a.setAttribute("font-style","italic");(b.fontStyle&mxConstants.FONT_UNDERLINE)==mxConstants.FONT_UNDERLINE&&a.setAttribute("text-decoration",
    @@ -1815,8 +1815,8 @@ mxCodecRegistry.register(function(){var a=new mxObjectCodec(new mxGraphView);a.e
     typeof g&&n.setAttribute(p,g);g=f.absolutePoints;if(null!=g&&0<g.length){l=Math.round(g[0].x)+","+Math.round(g[0].y);for(p=1;p<g.length;p++)l+=" "+Math.round(g[p].x)+","+Math.round(g[p].y);n.setAttribute("points",l)}else n.setAttribute("x",Math.round(f.x)),n.setAttribute("y",Math.round(f.y)),n.setAttribute("width",Math.round(f.width)),n.setAttribute("height",Math.round(f.height));p=f.absoluteOffset;null!=p&&(0!=p.x&&n.setAttribute("dx",Math.round(p.x)),0!=p.y&&n.setAttribute("dy",Math.round(p.y)))}for(p=
     0;p<k;p++)f=this.encodeCell(a,c,b.getChildAt(d,p)),null!=f&&n.appendChild(f)}}return n};return a}());
     var mxStylesheetCodec=mxCodecRegistry.register(function(){var a=new mxObjectCodec(new mxStylesheet);a.encode=function(a,c){var b=a.document.createElement(this.getName()),e;for(e in c.styles){var f=c.styles[e],g=a.document.createElement("add");if(null!=e){g.setAttribute("as",e);for(var k in f){var l=this.getStringValue(k,f[k]);if(null!=l){var m=a.document.createElement("add");m.setAttribute("value",l);m.setAttribute("as",k);g.appendChild(m)}}0<g.childNodes.length&&b.appendChild(g)}}return b};a.getStringValue=
    -function(a,c){var b=typeof c;"function"==b?c=mxStyleRegistry.getName(style[j]):"object"==b&&(c=null);return c};a.decode=function(a,c,d){d=d||new this.template.constructor;var b=c.getAttribute("id");null!=b&&(a.objects[b]=d);for(c=c.firstChild;null!=c;){if(!this.processInclude(a,c,d)&&"add"==c.nodeName&&(b=c.getAttribute("as"),null!=b)){var f=c.getAttribute("extend"),g=null!=f?mxUtils.clone(d.styles[f]):null;null==g&&(null!=f&&mxLog.warn("mxStylesheetCodec.decode: stylesheet "+f+" not found to extend"),
    -g={});for(f=c.firstChild;null!=f;){if(f.nodeType==mxConstants.NODETYPE_ELEMENT){var k=f.getAttribute("as");if("add"==f.nodeName){var l=mxUtils.getTextContent(f);null!=l&&0<l.length&&mxStylesheetCodec.allowEval?l=mxUtils.eval(l):(l=f.getAttribute("value"),mxUtils.isNumeric(l)&&(l=parseFloat(l)));null!=l&&(g[k]=l)}else"remove"==f.nodeName&&delete g[k]}f=f.nextSibling}d.putCellStyle(b,g)}c=c.nextSibling}return d};return a}());mxStylesheetCodec.allowEval=!0;
    +function(a,c){var b=typeof c;"function"==b?c=mxStyleRegistry.getName(c):"object"==b&&(c=null);return c};a.decode=function(a,c,d){d=d||new this.template.constructor;var b=c.getAttribute("id");null!=b&&(a.objects[b]=d);for(c=c.firstChild;null!=c;){if(!this.processInclude(a,c,d)&&"add"==c.nodeName&&(b=c.getAttribute("as"),null!=b)){var f=c.getAttribute("extend"),g=null!=f?mxUtils.clone(d.styles[f]):null;null==g&&(null!=f&&mxLog.warn("mxStylesheetCodec.decode: stylesheet "+f+" not found to extend"),g=
    +{});for(f=c.firstChild;null!=f;){if(f.nodeType==mxConstants.NODETYPE_ELEMENT){var k=f.getAttribute("as");if("add"==f.nodeName){var l=mxUtils.getTextContent(f);null!=l&&0<l.length&&mxStylesheetCodec.allowEval?l=mxUtils.eval(l):(l=f.getAttribute("value"),mxUtils.isNumeric(l)&&(l=parseFloat(l)));null!=l&&(g[k]=l)}else"remove"==f.nodeName&&delete g[k]}f=f.nextSibling}d.putCellStyle(b,g)}c=c.nextSibling}return d};return a}());mxStylesheetCodec.allowEval=!0;
     mxCodecRegistry.register(function(){var a=new mxObjectCodec(new mxDefaultKeyHandler);a.encode=function(a,c){return null};a.decode=function(a,c,d){if(null!=d)for(c=c.firstChild;null!=c;){if(!this.processInclude(a,c,d)&&"add"==c.nodeName){var b=c.getAttribute("as"),f=c.getAttribute("action"),g=c.getAttribute("control");d.bindAction(b,f,g)}c=c.nextSibling}return d};return a}());
     var mxDefaultToolbarCodec=mxCodecRegistry.register(function(){var a=new mxObjectCodec(new mxDefaultToolbar);a.encode=function(a,c){return null};a.decode=function(a,c,d){if(null!=d){var b=d.editor;for(c=c.firstChild;null!=c;){if(c.nodeType==mxConstants.NODETYPE_ELEMENT&&!this.processInclude(a,c,d))if("separator"==c.nodeName)d.addSeparator();else if("br"==c.nodeName)d.toolbar.addBreak();else if("hr"==c.nodeName)d.toolbar.addLine();else if("add"==c.nodeName){var f=c.getAttribute("as"),f=mxResources.get(f)||
     f,g=c.getAttribute("icon"),k=c.getAttribute("pressedIcon"),l=c.getAttribute("action"),m=c.getAttribute("mode"),n=c.getAttribute("template"),p="0"!=c.getAttribute("toggle"),q=mxUtils.getTextContent(c),r=null;if(null!=l)r=d.addItem(f,g,l,k);else if(null!=m)var t=mxDefaultToolbarCodec.allowEval?mxUtils.eval(q):null,r=d.addMode(f,g,m,k,t);else if(null!=n||null!=q&&0<q.length)r=b.templates[n],n=c.getAttribute("style"),null!=r&&null!=n&&(r=b.graph.cloneCell(r),r.setStyle(n)),n=null,null!=q&&0<q.length&&
    diff --git a/javascript/src/css/common.css b/javascript/src/css/common.css
    index 37bfb0eac..21f389211 100644
    --- a/javascript/src/css/common.css
    +++ b/javascript/src/css/common.css
    @@ -29,7 +29,8 @@ div.mxWindow {
     	-webkit-box-shadow: 3px 3px 12px #C0C0C0;
     	-moz-box-shadow: 3px 3px 12px #C0C0C0;
     	box-shadow: 3px 3px 12px #C0C0C0;
    -	background: url('../images/window.gif');
    +	background: url(data:image/gif;base64,R0lGODlhGgAUAIAAAOzs7PDw8CH5BAAAAAAALAAAAAAaABQAAAIijI+py70Ao5y02lud3lzhD4ZUR5aPiKajyZbqq7YyB9dhAQA7);
    +	_background: url('../images/window.gif');
     	border:1px solid #c3c3c3;
     	position: absolute;
     	overflow: hidden;
    @@ -42,7 +43,8 @@ table.mxWindow {
     	font-size: 8pt;
     }
     td.mxWindowTitle {
    -	background: url('../images/window-title.gif') repeat-x;
    +	background: url(data:image/gif;base64,R0lGODlhFwAXAMQAANfX18rKyuHh4c7OzsDAwMHBwc/Pz+Li4uTk5NHR0dvb2+jo6O/v79/f3/n5+dnZ2dbW1uPj44yMjNPT0+Dg4N3d3ebm5szMzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAXABcAAAWQICESxWiW5Ck6bOu+MMvMdG3f86LvfO/rlqBwSCwaj8ikUohoOp/QaDNCrVqvWKpgezhsv+AwmEIum89ocmPNbrvf64p8Tq/b5Yq8fs/v5x+AgYKDhIAAh4iJiouHEI6PkJGSjhOVlpeYmZUJnJ2en6CcBqMDpaanqKgXq6ytrq+rAbKztLW2shK5uru8vbkhADs=)  repeat-x;
    +	_background: url('../images/window-title.gif') repeat-x;
     	text-overflow: ellipsis;
     	white-space: nowrap;
      	text-align: center;
    @@ -75,7 +77,8 @@ td.mxWindowPane input, td.mxWindowPane select, td.mxWindowPane textarea, td.mxWi
      	padding: 1px;
     }
     td.mxWindowPane button {
    -	background: url('../images/button.gif') repeat-x;
    +	background: url(data:image/gif;base64,R0lGODlhCgATALMAAP7+/t7e3vj4+Ojo6OXl5e/v7/n5+fb29vPz8/39/e3t7fHx8e7u7v///wAAAAAAACH5BAAAAAAALAAAAAAKABMAAAQ2MMlJhb0Y6c2X/2AhjiRjnqiirizqMkEsz0Rt30Ou7y8K/ouDcEg0GI9IgHLJbDif0Kh06owAADs=) repeat-x;
    +	_background: url('../images/button.gif') repeat-x;
       	font-family: Arial;
       	font-size: 8pt;
       	padding: 2px;
    @@ -126,7 +129,8 @@ div.mxPopupMenu {
     	-webkit-box-shadow: 3px 3px 12px #C0C0C0;
     	-moz-box-shadow: 3px 3px 12px #C0C0C0;
     	box-shadow: 3px 3px 12px #C0C0C0;
    -	background: url('../images/window.gif');
    +	background: url(data:image/gif;base64,R0lGODlhGgAUAIAAAOzs7PDw8CH5BAAAAAAALAAAAAAaABQAAAIijI+py70Ao5y02lud3lzhD4ZUR5aPiKajyZbqq7YyB9dhAQA7);
    +	_background: url('../images/window.gif');
     	position: absolute;
     	border-style: solid;
     	border-width: 1px;
    diff --git a/javascript/src/js/io/mxStylesheetCodec.js b/javascript/src/js/io/mxStylesheetCodec.js
    index 8899116fb..5e70ea48f 100644
    --- a/javascript/src/js/io/mxStylesheetCodec.js
    +++ b/javascript/src/js/io/mxStylesheetCodec.js
    @@ -66,7 +66,7 @@ var mxStylesheetCodec = mxCodecRegistry.register(function()
     		
     		if (type == 'function')
     		{
    -			value = mxStyleRegistry.getName(style[j]);
    +			value = mxStyleRegistry.getName(value);
     		}
     		else if (type == 'object')
     		{
    diff --git a/javascript/src/js/mxClient.js b/javascript/src/js/mxClient.js
    index f138b1c32..51f338308 100644
    --- a/javascript/src/js/mxClient.js
    +++ b/javascript/src/js/mxClient.js
    @@ -20,9 +20,9 @@ var mxClient =
     	 * 
     	 * versionMajor.versionMinor.buildNumber.revisionNumber
     	 * 
    -	 * Current version is 4.0.3.
    +	 * Current version is 4.0.4.
     	 */
    -	VERSION: '4.0.3',
    +	VERSION: '4.0.4',
     
     	/**
     	 * Variable: IS_IE
    diff --git a/javascript/src/js/util/mxConstants.js b/javascript/src/js/util/mxConstants.js
    index 543c4400d..5ce2dc150 100644
    --- a/javascript/src/js/util/mxConstants.js
    +++ b/javascript/src/js/util/mxConstants.js
    @@ -2326,5 +2326,4 @@
     	 * for the STYLE_PERIMETER style.
     	 */
     	PERIMETER_TRIANGLE: 'trianglePerimeter'
    -
     };
    diff --git a/javascript/src/js/util/mxSvgCanvas2D.js b/javascript/src/js/util/mxSvgCanvas2D.js
    index a9503a449..d252b3bc6 100644
    --- a/javascript/src/js/util/mxSvgCanvas2D.js
    +++ b/javascript/src/js/util/mxSvgCanvas2D.js
    @@ -676,7 +676,7 @@ mxSvgCanvas2D.prototype.updateFill = function()
     			var id = this.getSvgGradient(String(s.fillColor), String(s.gradientColor),
     				s.gradientFillAlpha, s.gradientAlpha, s.gradientDirection);
     			
    -			if (!mxClient.IS_CHROME_APP && !mxClient.IS_IE && !mxClient.IS_IE11 &&
    +			if (!mxClient.IS_CHROMEAPP && !mxClient.IS_IE && !mxClient.IS_IE11 &&
     				!mxClient.IS_EDGE && this.root.ownerDocument == document)
     			{
     				// Workaround for potential base tag and brackets must be escaped
    @@ -1923,7 +1923,7 @@ mxSvgCanvas2D.prototype.plainText = function(x, y, w, h, str, align, valign, wra
     			this.root.appendChild(c);
     		}
     		
    -		if (!mxClient.IS_CHROME_APP && !mxClient.IS_IE && !mxClient.IS_IE11 &&
    +		if (!mxClient.IS_CHROMEAPP && !mxClient.IS_IE && !mxClient.IS_IE11 &&
     			!mxClient.IS_EDGE && this.root.ownerDocument == document)
     		{
     			// Workaround for potential base tag
    diff --git a/package.json b/package.json
    index 6197a4130..1e895611d 100644
    --- a/package.json
    +++ b/package.json
    @@ -1,7 +1,7 @@
     {
       "name": "mxgraph",
       "description": "mxGraph is a fully client side JavaScript diagramming library that uses SVG and HTML for rendering.",
    -  "version": "4.0.3",
    +  "version": "4.0.4",
       "homepage": "https://github.com/jgraph/mxgraph",
       "author": {
         "name": "JGraph Ltd",
    diff --git a/php/examples/backend.php b/php/examples/backend.php
    deleted file mode 100644
    index 2e1d87735..000000000
    --- a/php/examples/backend.php
    +++ /dev/null
    @@ -1,61 +0,0 @@
    -<?php
    -/**
    - * Copyright (c) 2006, Gaudenz Alder
    - */
    -include_once("../src/mxServer.php");
    -
    -/**
    - * Creates a graph using the API and returns the XML.
    - */
    -function createGraph()
    -{
    -	$id = $_GET["id"];
    -	error_log("Requested id=".$id);
    -	
    -	// Creates the graph on the server-side
    -	$graph = new mxGraph();
    -	$model = $graph->getModel();
    -	$parent = $graph->getDefaultParent();
    -
    -	$model->beginUpdate();
    -	
    -	$v1 = $graph->insertVertex($parent, null, "Hello", 20, 20, 80, 30);
    -	$v2 = $graph->insertVertex($parent, null, "World", 200, 150, 80, 30);
    -	$graph->insertEdge($parent, null, "", $v1, $v2);
    -
    -	$model->endUpdate();
    -
    -	$enc = new mxCodec();
    -	$xmlNode = $enc->encode($model);
    -	
    -	return str_replace("\n", "&#xa;", $xmlNode->ownerDocument->saveXML($xmlNode));
    -}
    -
    -/**
    - * Handles save request and prints XML.
    - */
    -if (isset($_POST["xml"]))
    -{
    -	$id = $_GET["id"];
    -	$xml = str_replace("\n", "&#xa;", stripslashes($_POST["xml"]));
    -	
    -	error_log("Received id=".$id." xml=".$xml);
    -}
    -else
    -{
    -	if (isset($_GET["id"]))
    -	{
    -		header("Content-Type: text/xml;charset=UTF-8");
    -		header("Pragma: no-cache"); // HTTP 1.0
    -		header("Cache-Control: private, no-cache, no-store");
    -		header("Expires: 0");
    -		
    -		echo createGraph();
    -	}
    -	else
    -	{
    -		// Redirects to frontend.html
    -		header('Location: frontend.html');
    -	}
    -}
    -?>
    diff --git a/php/examples/deployment.php b/php/examples/deployment.php
    deleted file mode 100644
    index 5ff7446d2..000000000
    --- a/php/examples/deployment.php
    +++ /dev/null
    @@ -1,115 +0,0 @@
    -<?php
    -/**
    - * Copyright (c) 2006, Gaudenz Alder
    - */
    -include_once("../src/mxServer.php");
    -
    -/**
    - * Function: main
    - * 
    - * Demonstrates the deployment of a graph which is created on the server side
    - * and then deployed with the client library in a single response. This is done
    - * by replacing the %graph% placeholder in the javascript/example/template.html
    - * file with the XML representation of the graph that was created on the server.
    - * 
    - * Point your browser to http://localhost/graph to fetch the HTML file. Make sure
    - * to deploy the mxgraph distribution directory to the webroot for this example
    - * to work, or replace the mxBasePath and URL for the mxClient.js in the
    - * template to match your environment.
    - *
    - * This example returns an HTML page when the client issues a get request. The
    - * readme in the php directory explains how to run this example.
    - * 
    - * The template.html file is used by this example. In main a graph is created
    - * and the XML of the graph obtained by:
    - * 
    - *   $enc = new mxCodec();
    - *   $xmlNode = $enc->encode($model);
    - *   $xml = $xmlNode->ownerDocument->saveXML($xmlNode);
    - * 
    - * The template.html is then loaded as a string and instances of %graph% are
    - * replaced with the XML of the graph. In the template.html the following line
    - * defines the page body:
    - * 
    - *   <body onload="main(document.getElementById('graphContainer'), '%graph%');">
    - * 
    - * So the XML string of the graph becomes the second parameter of the main
    - * function. When the template.html page is loaded in the browser, the main
    - * function is called and within that function these lines:
    - * 
    - *   var doc = mxUtils.parseXml(xml);
    - *   var codec = new mxCodec(doc);
    - *   codec.decode(doc.documentElement, graph.getModel());
    - * 
    - * insert the XML into the graph model and that graph will then display.
    - */
    -function main()
    -{
    -	// True-type fonts not needed in this example
    -	mxConstants::$TTF_ENABLED = false;
    -
    -	// Creates the graph on the server-side
    -	$graph = new mxGraph();
    -	$model = $graph->getModel();
    -	$parent = $graph->getDefaultParent();
    -
    -	$model->beginUpdate();
    -	try
    -	{	
    -		$v1 = $graph->insertVertex($parent, null, "Hello", 20, 20, 80, 30);
    -		$v2 = $graph->insertVertex($parent, null, "World", 200, 150, 80, 30);
    -		$graph->insertEdge($parent, null, "", $v1, $v2);
    -	}
    -	catch (Exception $e)
    -	{
    -		$model->endUpdate();
    -		throw($e);
    -	}
    -	$model->endUpdate();
    -
    -	// Turns the graph into XML data
    -	$enc = new mxCodec();
    -	$xmlNode = $enc->encode($model);
    -	$xml = addslashes(htmlentities(str_replace("\n", "&#xa;",
    -		$xmlNode->ownerDocument->saveXML($xmlNode))));
    -	
    -	// Loads the template into a single string
    -	$template = mxUtils::readFile("template.html");
    -
    -	// Replaces the placeholder in the template with the XML data
    -	// which is then parsed into the graph model. Note: In a production
    -	// environment you should use a template engine instead.
    -	$page = str_replace("%graph%", $xml, $template);
    -	
    -	// Makes sure there is no caching on the client side
    -	header("Pragma: no-cache"); // HTTP 1.0
    -	header("Cache-control: private, no-cache, no-store");
    -	header("Expires: 0");
    -
    -	echo $page;
    -}
    -
    -// Uses a local font so that all examples work on all platforms. This can be
    -// changed to vera on Mac or arial on Windows systems.
    -mxConstants::$DEFAULT_FONTFAMILY = "ttf/verah.ttf";
    -
    -// If you can't get the fonts to render try using one of the following:
    -//mxConstants::$DEFAULT_FONTFAMILY = "C:\WINDOWS\Fonts\arial.ttf";
    -//mxConstants::$DEFAULT_FONTFAMILY = "verah"; putenv("GDFONTPATH=".realpath("./ttf"));
    -//mxConstants::$TTF_ENABLED = false;
    -
    -// Handles save image request
    -if ($_SERVER["REQUEST_METHOD"] == "POST")
    -{
    -	$xml = urldecode($_POST["xml"]);
    -	
    -	// Creates a PNG representation of the file
    -	$image =  mxGraphViewImageReader::convert($xml, "#FFFFFF");
    -	header("Content-Type: image/png");
    -	echo mxUtils::encodeImage($image);
    -}
    -else
    -{
    -	main();
    -}
    -?>
    diff --git a/php/examples/diagrams/graphmodel.xml b/php/examples/diagrams/graphmodel.xml
    deleted file mode 100644
    index 9bf1f34e2..000000000
    --- a/php/examples/diagrams/graphmodel.xml
    +++ /dev/null
    @@ -1,8 +0,0 @@
    -<mxGraphModel>
    -	<root>
    -		<Workflow label="Swimlanes" id="0"></Workflow>
    -		<Layer label="Default Layer" id="1">
    -			<mxCell parent="0" />
    -		</Layer>
    -	</root>
    -</mxGraphModel>
    diff --git a/php/examples/diagrams/graphview.xml b/php/examples/diagrams/graphview.xml
    deleted file mode 100644
    index e7754c34a..000000000
    --- a/php/examples/diagrams/graphview.xml
    +++ /dev/null
    @@ -1,34 +0,0 @@
    -<graph label="My Diagram" x="90" y="50" width="400" height="280">
    -	<layer label="Default Layer">
    -		<group label="Container" x="90" y="50" width="200" height="200"
    -			shape="swimlane" fontSize="11" align="center" verticalAlign="top"
    -			shadow="0" strokeColor="#EEEEEE" fillColor="#D4D4D4"
    -			gradientColor="white" startSize="23">
    -			<vertex label="Rounded" x="110" y="90" width="80"
    -				height="30" shape="rectangle" fontSize="11" align="center"
    -				verticalAlign="middle" shadow="1" strokeColor="#C3D9FF"
    -				fillColor="#C3D9FF" gradientColor="white" rounded="1" />
    -			<vertex label="Shape" x="130" y="160" width="60" height="50"
    -				shape="ellipse" fontSize="11" align="center" verticalAlign="middle"
    -				shadow="1" strokeColor="#CDEB8B" fillColor="#CDEB8B"
    -				gradientColor="white" />
    -			<edge label="" points="150,120 150,159" shape="connector"
    -				fontSize="10" rounded="1" strokeColor="#36393D" strokeWidth="1"
    -				endArrow="classic" />
    -		</group>
    -		<vertex label="Shape" x="380" y="170" width="60" height="50"
    -			shape="rhombus" fontSize="11" align="center" verticalAlign="middle"
    -			shadow="1" strokeColor="#FFCF8A" fillColor="#FFCF8A"
    -			gradientColor="white" />
    -		<edge label="" points="190,185 379,185" shape="connector"
    -			fontSize="10" rounded="1" strokeColor="#36393D" strokeWidth="1"
    -			endArrow="classic" />
    -		<vertex label="Shape" x="240" y="280" width="60" height="50"
    -			shape="cylinder" fontSize="11" align="center" verticalAlign="middle"
    -			shadow="1" strokeColor="#4096EE" fillColor="#4096EE"
    -			gradientColor="white" />
    -		<edge label="" points="440,195 490,195 490,305 301,305"
    -			shape="connector" fontSize="10" rounded="1" strokeColor="#36393D"
    -			strokeWidth="1" endArrow="classic" />
    -	</layer>
    -</graph>
    diff --git a/php/examples/embedimage.html b/php/examples/embedimage.html
    deleted file mode 100644
    index ff4fe1a5d..000000000
    --- a/php/examples/embedimage.html
    +++ /dev/null
    @@ -1,124 +0,0 @@
    -<html>
    -<head>
    -	<title>Embedded images</title>
    -	<!--%mhtml%-->
    -	<!-- Sets the basepath for the library if not in same directory -->
    -	<script type="text/javascript">
    -		mxBasePath = '../../javascript/src';
    -	</script>
    -
    -	<!-- Loads and initializes the library -->
    -	<script type="text/javascript" src="../../javascript/src/js/mxClient.js"></script>
    -
    -	<!-- Example code -->
    -	<script type="text/javascript">
    -		// True if data URIs are supported. IE8 has a size limit of 32KB for
    -		// data URIs, so this must be used as a global size limit. It's not
    -		// possible to work around this limitation by using MHTML because that
    -		// is not supported in IE8.
    -		var DATA_URL = %dataUrl%;
    -		var graph = new mxGraph();
    -		var bundle = new mxImageBundle(!DATA_URL);
    -
    -		function insert(name, data, fallback)
    -		{
    -			bundle.putImage(name, data, fallback);
    -			var parent = graph.getDefaultParent();
    -			graph.insertVertex(parent, null, '', 100, 20, 130, 80, 'shape=image;image=' + name);
    -		};
    -	
    -		// Program starts here. Creates a sample graph in the
    -		// DOM node with the specified ID. This function is invoked
    -		// from the onLoad event handler of the document (see below).
    -		function main()
    -		{
    -			%bundle%
    -			graph.addImageBundle(bundle);
    -			graph.init(document.getElementById('graphContainer'));
    -			graph.setConnectable(true);
    -			
    -			// Enables rubberband selection
    -			new mxRubberband(graph);
    -			
    -			// Gets the default parent for inserting new cells. This
    -			// is normally the first child of the root (ie. layer 0).
    -			var parent = graph.getDefaultParent();
    -							
    -			// Adds cells to the model in a single step
    -			graph.getModel().beginUpdate();
    -			try
    -			{
    -				graph.insertVertex(parent, null, '', 20, 20, 30, 30, 'shape=image;image=myImage');
    -			}
    -			finally
    -			{
    -				// Updates the display
    -				graph.getModel().endUpdate();
    -			}
    -
    -			// Three scenarios for loading embedded images in IE6/7:
    -			// 1. At load-time: Embed in HTML page (see above and server-side)
    -			// 2. From URL at runtime: Use script to encode and cache response. This is also needed for
    -			//    browsers that support HTML5 canvas because it's not possible to base64 encode an image
    -			//    from another domain due to security restrictions.
    -			var url = 'http://www.jgraph.com/images/mxgraph.gif';
    -			mxUtils.get(window.location.href + '?url=' + encodeURIComponent(url), function(req)
    -			{
    -				var lines = req.getText().split('\n');
    -				var data = '';
    -				
    -				// Scans the response for base64 encoded image data
    -				for (var i = 6; i < lines.length; i++)
    -				{
    -					if (lines[i].length == 0)
    -					{
    -						data = lines[i + 1];
    -						break;
    -					}
    -				}
    -				
    -				data = data.substring(0, data.length - 1);
    -
    -				// The fallback can either be the URL or the MHTML URL which turns the image
    -				// into MHTML on the server-side. Both are cached so even if the image changes
    -				// while the diagram is open the image will remain visible. Note that the image
    -				// will be replaced with an embedded image the next time the diagram is opened.
    -				//url = 'mhtml:' + window.location.href + '?url=' + encodeURIComponent(url) + '!image';
    -				insert(url, 'data:image/gif,' + data, url);
    -			});
    -
    -			// 3. From local at runtime: Requires two roundtrips, one to get the base64 encoded
    -			//    string to put it into the bundle and another (in IE6/7) for the mhtml href.
    -			//    The response of the POST request contains JavaScript which calls the insert
    -			//    method above and removes the dynamically generated iframe with the form (below).
    -			var clickHandler = function()
    -			{
    -				if (document.getElementById('embedimageframe') == null)
    -				{
    -					var ifrm = document.createElement('iframe');
    -					ifrm.setAttribute('id', 'embedimageframe');
    -					document.body.appendChild(ifrm);
    -					ifrm = (ifrm.contentWindow) ? ifrm.contentWindow :
    -						(ifrm.contentDocument.document) ? ifrm.contentDocument.document : ifrm.contentDocument;
    -		            ifrm.document.open();
    -		            ifrm.document.write('<form method="POST" enctype="multipart/form-data" '+
    -				    	'action="' + window.location.href + '">');
    -		            ifrm.document.write('File: <input type="file" name="upfile">');
    -		            ifrm.document.write('<input type="hidden" name="dataurl" value="' + DATA_URL + '">');
    -		            ifrm.document.write('<br><input type="submit" value="Insert">');
    -		            ifrm.document.write('</form>');
    -		            ifrm.document.close();
    -				}
    -			};
    -
    -			document.body.appendChild(mxUtils.button('Insert image', clickHandler));
    -			mxUtils.br(document.body);
    -		};
    -	</script>
    -</head>
    -<body onload="main()">
    -	<div id="graphContainer"
    -		style="overflow:hidden;width:320px;height:240px;border:solid black 1px;cursor:default;">
    -	</div>
    -</body>
    -</html>
    diff --git a/php/examples/embedimage.php b/php/examples/embedimage.php
    deleted file mode 100644
    index 1247de5eb..000000000
    --- a/php/examples/embedimage.php
    +++ /dev/null
    @@ -1,147 +0,0 @@
    -<?php
    -// Does not use cookies for sessions since the only session exists between
    -// two requests where the URL of the second request is defined below.
    -ini_set('session.use_cookies', '0');
    -$compress = strpos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') !== false;
    -
    -function mhtml($name, $data)
    -{
    -	return "Content-Type: multipart/related; boundary=\"----\"\n".
    -		"\n".
    -		"------\n".
    -		"Content-Location:$name\n".
    -		"Content-Transfer-Encoding:base64\n".
    -		"\n".
    -		$data.
    -		"=\n".
    -		"------\n";
    -}
    -
    -// Uses wire-compression for response
    -if ($compress)
    -{
    -	ob_start();
    -	ob_start("ob_gzhandler");
    -}
    -
    -// Converts an uploaded file to a base64 MHTML response
    -// which is inserted via injected JavaScript on the client-side.
    -if ($_SERVER["REQUEST_METHOD"] == "POST")
    -{
    -	$tmpfile = $_FILES["upfile"]["tmp_name"];
    -	header("Content-Type: text/html");	
    -
    -	echo "<html>\n";
    -	echo "<head>\n";
    -	echo "</head>\n";
    -	echo "<body>\n";
    -	echo "<script type=\"text/javascript\">\n";
    -	
    -	// Shows an error message on the client-side if the file is larger than
    -	// 32 KB, which is the maximum size foe data URIs in IE8.
    -	if (filesize($tmpfile) > 32768)
    -	{
    -		echo "alert(\"File exceeds the maximum allowed size. File must be less than 32KB.\");\n";
    -	}
    -	else
    -	{
    -		$img = file_get_contents($tmpfile);
    -		$data = base64_encode($img);
    -		
    -		// Makes the name unique by adding a timestamp as a postfix
    -		$name = $_FILES["upfile"]["name"]."-".mktime();
    -
    -		// Stores the file in the session which only exists between this and the
    -		// next request. The subsequent request is handled in the else branch.
    -		// Note that the request destroys the session and its contents, however,
    -		// in IE the MHTML resource is only loaded once and kept in the browser.
    -		if ($_POST["dataurl"] == "false")
    -		{
    -			// In theory, up to 4K in 300 cookies can be used to transfer the data
    -			// directly in the GET request of the image to avoid a session state.
    -			// This can be done by splitting the base64 data into 4K cookies in the
    -			// insert method in the client and then forcing an image prefetch with
    -			// the respective MHTML URL for the image. On the server-side all we
    -			// we need to do is fetch the content location (get param) and data.
    -			// In practice most servers have a header size limit of 8-16K.
    -			session_start();
    -			$url = "'mhtml:'+window.location.href+'?PHPSESSID=".session_id()."&img=$name!$name'";
    -			$_SESSION["image"] = "<!--\n".mhtml($name, $data)."-->\n";
    -		}
    -		else
    -		{
    -			$url = "null";
    -		}
    -
    -		echo "window.parent.insert(\"$name\", \"data:image/png,".$data."\", $url);\n";
    -	}
    -
    -	// NOTE: Ignore "Failed to load resource" error in Chrome,
    -	// see http://code.google.com/p/chromium/issues/detail?id=29180
    -	echo "var iframe = window.parent.document.getElementById('embedimageframe');\n";
    -	echo "iframe.parentNode.removeChild(iframe);";
    -	echo "</script>\n";
    -	echo "</body>\n";
    -	echo "</html>\n";
    -}
    -// Fetches the given image and encodes it as a MHTM page.
    -// On the client-side the page is used as is and the
    -// base64 encoded data is extracted and put into an
    -// mxImageBundle for storage with the diagram.
    -else if (isset($_GET["url"]))
    -{
    -	$url = $_GET["url"];
    -	$img = file_get_contents($url);
    -
    -	// Enables caching of this response
    -	header("Content-Type: text/plain");
    -	header("Cache-Control: private");
    -	header("Expires: Thu, 15 Apr 2030 20:00:00 GMT");
    -	
    -	echo "<!--\n".mhtml("image", base64_encode($img))."-->\n";
    -}
    -// Returns the MHTML stored in the session.
    -else if (isset($_GET["PHPSESSID"]))
    -{
    -	header("Content-Type: text/plain");
    -
    -	// Gets the image from the session and destroys the session (since we do
    -	// not use session cookies there is no need to delete a cookie here).
    -	session_start();
    -	echo $_SESSION["image"];
    -	session_destroy();
    -}
    -else
    -{
    -	header("Content-Type: text/html");
    -	
    -	$userAgent = strtoupper(getenv("HTTP_USER_AGENT"));
    -	$dataUrl = strpos($userAgent, "MSIE 6") === false &&
    -			   strpos($userAgent, "MSIE 7") === false;
    -
    -	// In a real-world environment the following would be done for each entry
    -	// of the image bundle in an XML file for a diagram.
    -	$name = "myImage";
    -	$data = "R0lGODlhEAAQAMIGAAAAAICAAICAgP//AOzp2O3r2////////yH+FUNyZWF0ZWQgd2l0aCBUaGUgR0lNUAAh+QQBCgAHACwAAAAAEAAQAAADTXi63AowynnAMDfjPUDlnAAJhmeBFxAEloliKltWmiYCQvfVr6lBPB1ggxN1hilaSSASFQpIV5HJBDyHpqK2ejVRm2AAgZCdmCGO9CIBADs";
    -	
    -	$mhtml = ($dataUrl) ? "" : "\n".mhtml($name, $data);
    -	$bundle = "bundle.putImage('myImage', 'data:image/png,$data=', 'mhtml:' + window.location.href + '!$name');";
    -
    -	// Replaces the placeholders in the template with the data from above.
    -	// Note: In a production environment you should use a template engine.
    -	$page = file_get_contents("embedimage.html");
    -	$page = str_replace("%mhtml%", $mhtml, $page);
    -	$page = str_replace("%dataUrl%", ($dataUrl) ? "true" : "false", $page);
    -	$page = str_replace("%bundle%", $bundle, $page);
    -	
    -	echo $page;
    -}
    -
    -// Flushes the compression buffers	
    -if ($compress)
    -{
    -	ob_end_flush();
    -	ob_end_flush();
    -}
    -?>
    -
    diff --git a/php/examples/fixedpoints.php b/php/examples/fixedpoints.php
    deleted file mode 100644
    index 28b7a0cb2..000000000
    --- a/php/examples/fixedpoints.php
    +++ /dev/null
    @@ -1,64 +0,0 @@
    -<?php
    -/**
    - * Copyright (c) 2006, Gaudenz Alder
    - */
    -include_once("../src/mxServer.php");
    -
    -/**
    - * Function: main
    - * 
    - * Creates a graph using the API and converts it into a PNG image.
    - */
    -function main()
    -{
    -	// Creates graph with model
    -	$model = new mxGraphModel();
    -	$graph = new mxGraph($model);
    -	$parent = $graph->getDefaultParent();
    -	
    -	// Adds cells into the model
    -	$model->beginUpdate();
    -	try
    -	{
    -		$v1 = $graph->insertVertex($parent, null, "Hello,", 20, 20, 80, 60,
    -			"shape=triangle;perimeter=trianglePerimeter");
    -		$v2 = $graph->insertVertex($parent, null, "World!", 200, 150, 80, 60,
    -			"shape=ellipse;perimeter=ellipsePerimeter");
    -		$v3 = $graph->insertVertex($parent, null, "Hello,", 200, 20, 80, 30);
    -		$e1 = $graph->insertEdge($parent, null, "", $v1, $v2,
    -			"edgeStyle=elbowEdgeStyle;elbow=horizontal;".
    -			"exitX=0.5;exitY=1;exitPerimeter=1;entryX=0;entryY=0;entryPerimeter=1;");
    -		$e2 = $graph->insertEdge($parent, null, "", $v3, $v2,
    -			"edgeStyle=elbowEdgeStyle;elbow=horizontal;orthogonal=0;".
    -			"entryX=0;entryY=0;entryPerimeter=1;");
    -	}
    -	catch (Exception $e)
    -	{
    -		$model->endUpdate();
    -		throw($e);
    -	}
    -	$model->endUpdate();
    -
    -	// Sends PNG image to client
    -	$image = $graph->createImage(null, "#FFFFFF");
    -	
    -	// Creates an interlaced image for better loading in the browser
    -	//imageInterlace($image, 1);
    -	// Marks background color as being transparent
    -	//imageColorTransparent($image, imageColorAllocate($image, 255, 255, 255));
    -
    -	header("Content-Type: image/png");	
    -	echo mxUtils::encodeImage($image);
    -}
    -
    -// Uses a local font so that all examples work on all platforms. This can be
    -// changed to vera on Mac or arial on Windows systems.
    -mxConstants::$DEFAULT_FONTFAMILY = "ttf/verah.ttf";
    -
    -// If you can't get the fonts to render try using one of the following:
    -//mxConstants::$DEFAULT_FONTFAMILY = "C:\WINDOWS\Fonts\arial.ttf";
    -//mxConstants::$DEFAULT_FONTFAMILY = "verah"; putenv("GDFONTPATH=".realpath("./ttf"));
    -//mxConstants::$TTF_ENABLED = false;
    -
    -main();
    -?>
    diff --git a/php/examples/frontend.html b/php/examples/frontend.html
    deleted file mode 100644
    index 36d17f1db..000000000
    --- a/php/examples/frontend.html
    +++ /dev/null
    @@ -1,92 +0,0 @@
    -<!--
    -  Copyright (c) 2006-2013, JGraph Ltd
    -  
    -  Backend example for mxGraph. This example demonstrates using
    -  AJAX to open and save XML from a Java backend.
    --->
    -<html>
    -<head>
    -	<title>Backend example for mxGraph</title>
    -
    -	<!-- Sets the basepath for the library if not in same directory -->
    -	<script type="text/javascript">
    -		mxBasePath = '../../javascript/src';
    -	</script>
    -
    -	<!-- Loads and initializes the library -->
    -	<script type="text/javascript" src="../../javascript/src/js/mxClient.js"></script>
    -
    -	<!-- Example code -->
    -	<script type="text/javascript">
    -		// Program starts here. Creates a sample graph in the
    -		// DOM node with the specified ID. This function is invoked
    -		// from the onLoad event handler of the document (see below).
    -		function main(container)
    -		{
    -			// Checks if the browser is supported
    -			if (!mxClient.isBrowserSupported())
    -			{
    -				// Displays an error message if the browser is not supported.
    -				mxUtils.error('Browser is not supported!', 200, false);
    -			}
    -			else
    -			{
    -				// Disables the built-in context menu
    -				mxEvent.disableContextMenu(container);
    -				
    -				// Creates the graph inside the given container
    -				var graph = new mxGraph(container);
    -
    -				// Opens a file from the backend
    -				document.body.appendChild(mxUtils.button('Open', function()
    -				{
    -					// Asks for dummy file ID to demonstrate handling of IDs in general
    -					var id = mxUtils.prompt('Enter file ID');
    -					
    -					mxUtils.get('backend.php?id=' + id, function(req)
    -					{
    -						var node = req.getDocumentElement();
    -						var dec = new mxCodec(node.ownerDocument);
    -						dec.decode(node, graph.getModel());
    -						
    -						// Stores ID for saving
    -						graph.id = id;
    -					});
    -				}));
    -				
    -				// Saves a file to the backend
    -				document.body.appendChild(mxUtils.button('Save', function()
    -				{
    -					if (graph.id == null)
    -					{
    -						mxUtils.alert('No open file');
    -					}
    -					else
    -					{
    -						var enc = new mxCodec();
    -						var node = enc.encode(graph.getModel());
    -						var xml = mxUtils.getXml(node);
    -						
    -						mxUtils.post('backend.php?id=' + graph.id, 'xml=' + encodeURIComponent(xml), function()
    -						{
    -							mxUtils.alert('Saved');
    -						}, function()
    -						{
    -							mxUtils.alert('Error');
    -						});
    -					}
    -				}));
    -			}
    -		};
    -	</script>
    -</head>
    -
    -<!-- Page passes the container for the graph to the program -->
    -<body onload="main(document.getElementById('graphContainer'))">
    -
    -	<!-- Creates a container for the graph with a grid wallpaper -->
    -	<div id="graphContainer"
    -		style="position:relative;overflow:hidden;width:321px;height:241px;background:url('../../javascript/examples/editors/images/grid.gif');cursor:default;">
    -	</div>
    -</body>
    -</html>
    diff --git a/php/examples/graph.php b/php/examples/graph.php
    deleted file mode 100644
    index f929c86b7..000000000
    --- a/php/examples/graph.php
    +++ /dev/null
    @@ -1,56 +0,0 @@
    -<?php
    -/**
    - * Copyright (c) 2006, Gaudenz Alder
    - */
    -include_once("../src/mxServer.php");
    -
    -/**
    - * Function: main
    - * 
    - * Creates a graph using the API and converts it into a PNG image.
    - */
    -function main()
    -{
    -	// Creates graph with model
    -	$model = new mxGraphModel();
    -	$graph = new mxGraph($model);
    -	$parent = $graph->getDefaultParent();
    -	
    -	// Adds cells into the model
    -	$model->beginUpdate();
    -	try
    -	{
    -	    $v1 = $graph->insertVertex($parent, null, "Hello,", 20, 20, 80, 30);
    -	    $v2 = $graph->insertVertex($parent, null, "World!", 200, 150, 80, 30);
    -	    $e1 = $graph->insertEdge($parent, null, "e1", $v1, $v2);
    -	}
    -	catch (Exception $e)
    -	{
    -		$model->endUpdate();
    -		throw($e);
    -	}
    -	$model->endUpdate();
    -
    -	// Sends PNG image to client
    -	$image = $graph->createImage(null, "#FFFFFF");
    -	
    -	// Creates an interlaced image for better loading in the browser
    -	//imageInterlace($image, 1);
    -	// Marks background color as being transparent
    -	//imageColorTransparent($image, imageColorAllocate($image, 255, 255, 255));
    -
    -	header("Content-Type: image/png");	
    -	echo mxUtils::encodeImage($image);
    -}
    -
    -// Uses a local font so that all examples work on all platforms. This can be
    -// changed to vera on Mac or arial on Windows systems.
    -mxConstants::$DEFAULT_FONTFAMILY = "ttf/verah.ttf";
    -
    -// If you can't get the fonts to render try using one of the following:
    -//mxConstants::$DEFAULT_FONTFAMILY = "C:\WINDOWS\Fonts\arial.ttf";
    -//mxConstants::$DEFAULT_FONTFAMILY = "verah"; putenv("GDFONTPATH=".realpath("./ttf"));
    -//mxConstants::$TTF_ENABLED = false;
    -
    -main();
    -?>
    diff --git a/php/examples/reader.php b/php/examples/reader.php
    deleted file mode 100644
    index db9a20261..000000000
    --- a/php/examples/reader.php
    +++ /dev/null
    @@ -1,49 +0,0 @@
    -<?php
    -/**
    - * Copyright (c) 2006, Gaudenz Alder
    - */
    -include_once("../src/mxServer.php");
    -
    -/**
    - * Function: main
    - * 
    - * Reads a graph view XML file and creates HTML on the fly,
    - * ie. without creating a graph and model for it.
    - */
    -function main()
    -{
    -	// Reads the XML representation of a graph_view_! If you need to
    -	// create an image for a graph_model_ then use the following code:
    -	//
    -	// $doc = mxUtils::parseXml($xml);
    -	// $dec = new mxCodec($doc);
    -	// $dec->decode($doc->documentElement, $graph->getModel());
    -	//
    -	// $image = $graph->createImage(null, "#FFFFFF");
    -
    -	$filename = "diagrams/graphview.xml";
    -	//echo mxGraphViewHtmlReader::convertFile($filename);
    -
    -	// Creates a PNG representation of the file
    -	$image =  mxGraphViewImageReader::convertFile($filename, "#FFFFFF");
    -
    -	// Creates an interlaced image for better loading in the browser
    -	//imageInterlace($image, 1);
    -	// Marks background color as being transparent
    -	//imageColorTransparent($image, imageColorAllocate($image, 255, 255, 255));
    -	
    -	header("Content-Type: image/png");
    -	echo mxUtils::encodeImage($image);
    -}
    -
    -// Uses a local font so that all examples work on all platforms. This can be
    -// changed to vera on Mac or arial on Windows systems.
    -mxConstants::$DEFAULT_FONTFAMILY = "ttf/verah.ttf";
    -
    -// If you can't get the fonts to render try using one of the following:
    -//mxConstants::$DEFAULT_FONTFAMILY = "C:\WINDOWS\Fonts\arial.ttf";
    -//mxConstants::$DEFAULT_FONTFAMILY = "verah"; putenv("GDFONTPATH=".realpath("./ttf"));
    -//mxConstants::$TTF_ENABLED = false;
    -
    -main();
    -?>
    diff --git a/php/examples/server.php b/php/examples/server.php
    deleted file mode 100644
    index 23fb717ba..000000000
    --- a/php/examples/server.php
    +++ /dev/null
    @@ -1,71 +0,0 @@
    -<?php
    -/**
    - * Copyright (c) 2006, Gaudenz Alder
    - *
    - * This server handles two types of POST requests:
    - * 
    - *   - Save requests persist a graph model XML to a local file.
    - *     They have an xml and draft (GET) parameter. draft
    - *     is optional, the default value for draft is false.
    - *   - Show requests convert a display XML to an image
    - *     They have an xml and format (GET) paramter.
    - *     xml is the mxGraphView XML data, format
    - *     is one of html, png or jpg.
    - */
    -// Includes the mxGraph library
    -include_once("../src/mxServer.php");
    -
    -// Gets the format parameter from the URL
    -$format = $_GET["format"];
    -
    -// Gets the XML parameter from the POST request
    -$xml = stripslashes($_POST["xml"]);
    -
    -if (isset($xml))
    -{
    -	// Creates an image for the given format
    -	if (isset($format))
    -	{
    -		// Displays a saveAs dialog on the client
    -		header("Content-Disposition: attachment; filename=\"diagram.$format\"");
    -		header("Content-Type: image/$format");
    -		$image = mxGraphViewImageReader::convert($xml, "#FFFFFF");
    -		echo mxUtils::encodeImage($image, $format);
    -	}
    -	else
    -	{
    -		// Stores the xml in a local file
    -		$ext = "tmp";
    -
    -		if (!isset($HTTP_GET_VARS["draft"]))
    -		{
    -			$ext = "xml";
    -			unlink("diagram.tmp");
    -		}
    -		
    -		$filename = "diagram.$ext";
    -		$fh = fopen($filename, "w");
    -		fputs($fh, stripslashes($xml)); 
    -		fclose($fh);
    -		chmod($filename, 0777);
    -	}
    -}
    -else
    -{
    -	// Sends the diagram file to the client if
    -	// there is a draft (tmp-file).	
    -	$filename = "diagram.tmp";
    -
    -	if (file_exists($filename))
    -	{
    -		// Avoids cache in Firefox
    -		header("Content-type: text/xml");
    -		Header("Pragma: no-cache"); #HTTP 1.0
    -		Header("Cache-control: private, no-cache, no-store");
    -		Header("Expires: 0");
    -		$fh=fopen($filename, "r");
    -		fpassthru($fh); 
    -		fclose($fh);
    -	}
    -}
    -?>
    diff --git a/php/examples/template.html b/php/examples/template.html
    deleted file mode 100644
    index 5a9a43d59..000000000
    --- a/php/examples/template.html
    +++ /dev/null
    @@ -1,67 +0,0 @@
    -<!--
    -  Copyright (c) 2008, Gaudenz Alder
    -  
    -  Template example for mxGraph. This is used as a template HTML file by the
    -  backends to demonstrate the deployment of the client with a graph embedded
    -  in the page as XML data (see graph variable in the onload-handler).
    -  
    -  *** THIS FILE MUST BE DEPLOYED BY ONE OF THE BACKENDS! ***
    --->
    -<html>
    -<head>
    -	<title>Hello, World! example for mxGraph</title>
    -
    -	<!-- Sets the basepath for the library if not in same directory -->
    -	<script type="text/javascript">
    -		mxBasePath = '../../javascript/src';
    -	</script>
    -
    -	<!-- Loads and initializes the library -->
    -	<script type="text/javascript" src="../../javascript/src/js/mxClient.js"></script>
    -
    -	<!-- Example code -->
    -	<script type="text/javascript">
    -		// Program starts here. Creates a sample graph in the
    -		// DOM node with the specified ID. This function is invoked
    -		// from the onLoad event handler of the document (see below).
    -		function main(container, xml)
    -		{
    -			// Checks if the browser is supported
    -			if (!mxClient.isBrowserSupported())
    -			{
    -				// Displays an error message if the browser is not supported.
    -				mxUtils.error('Browser is not supported!', 200, false);
    -			}
    -			else
    -			{
    -				// Creates the graph inside the given container
    -				var graph = new mxGraph(container);
    -				
    -				// Adds rubberband selection to the graph
    -				new mxRubberband(graph);
    -				
    -				var doc = mxUtils.parseXml(xml);
    -				var codec = new mxCodec(doc);
    -				codec.decode(doc.documentElement, graph.getModel());
    -			}
    -			
    -			// Adds button for saving image via PHP backend
    -			document.body.appendChild(mxUtils.button('Save Image', function()
    -			{
    -    			var node = mxUtils.getViewXml(graph, 1);
    -    			var xml = mxUtils.getXml(node);
    -
    -				new mxXmlRequest('deployment.php', 'xml=' + encodeURIComponent(xml)).simulate(document, '_blank');
    -			}));
    -		};
    -	</script>
    -</head>
    -
    -<!-- Page passes the container for the graph to the program -->
    -<body onload="main(document.getElementById('graphContainer'), '%graph%');">
    -
    -	<!-- Creates a container for the graph with a grid wallpaper -->
    -	<div id="graphContainer" style="overflow:hidden;width:321px;height:241px;background:url('../../javascript/examples/editors/images/grid.gif')">
    -	</div>
    -</body>
    -</html>
    diff --git a/php/examples/ttf/verah.ttf b/php/examples/ttf/verah.ttf
    deleted file mode 100644
    index fd3e07692f5b761c9b59f95d47a79f2424187170..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 71024
    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
    HR?_@`SVI=1
    
    diff --git a/php/index.html b/php/index.html
    deleted file mode 100644
    index b48679ef5..000000000
    --- a/php/index.html
    +++ /dev/null
    @@ -1,68 +0,0 @@
    -<html>
    -<head>
    -	<title>mxGraph PHP</title>
    -    <link rel="stylesheet" href="../docs/css/manual-styles.css">
    -    <link rel="stylesheet" href="../docs/css/manual-colors.css">
    -</head>
    -<body>
    -<h1>mxGraph PHP</h1>
    -<h2>Installation</h2>
    -<p>
    -	The following assumes that an Apache server or another server capable of
    -	running PHP 5 is running on the default port (80) on localhost. The
    -	mxGraph top-level directory is assumed to be located at
    -	<a href="http://localhost/mxgraph">http://localhost/mxgraph</a>.
    -</p>
    -<h2>Examples</h2>
    -<h3>Graph</h3>
    -<p>
    -	In this example, a graph is programmatically created and turned into a PNG
    -	image. Point your browser to
    -	<a href="http://localhost/mxgraph/php/examples/graph.php">http://localhost/mxgraph/php/examples/graph.php</a>
    -	to run this example.
    -</p>
    -<h3>Reader</h3>
    -<p>
    -	Creates a HTML graphical representation for a GraphView which is stored in
    -	an XML file. Point your browser to 
    -	<a href="http://localhost/mxgraph/php/examples/reader.php">http://localhost/mxgraph/php/examples/reader.php</a>
    -	to run this example.
    -</p>
    -<h3>Server</h3>
    -<p>
    -	In order to be able to save files, the server.php file demonstrates how to
    -	accept a post request from a client, and put the data from the client
    -	request into a file on the disk.
    -</p>
    -<p>
    -	Before accessing the HTML files, you must modify the config file of the
    -	example you want to use. For example, when using the diagrameditor.html
    -	file, you should modify javascript/examples/editors/config/diagrameditor.xml.
    -	The only change to the config file is to add the urlPost attribute to the
    -	mxEditor node as follows:
    -</p>
    -<pre>
    -&lt;mxEditor urlPost="php/examples/server.php" ... &gt;
    -</pre>
    -<p>
    -	This enables the save function in the editor and will post the XML of the
    -	current diagram to the server.php on the server. The script will write the
    -	diagram to a local file called diagram.xml in the same directory as the
    -	script is located.
    -</p>
    -<p>
    -	Note that you will have to add the save action in the user interface. To
    -	add the save action to the dropdown list of actions, change the items in
    -	the diagrameditor.html file as follows:
    -</p>
    -<pre>
    -var items = ['redo', 'ungroup', 'cut', 'copy', 'paste', 'show', 'exportImage', 'save'];
    -</pre>
    -<p>
    -	To use the example, point your browser to
    -	<a href="http://localhost/mxgraph/javascript/examples/editors/diagrameditor.html">http://localhost/mxgraph/javascript/examples/editors/diagrameditor.html</a>
    -</p>
    -<hr size="1">
    -&copy; 2006-2017 by JGraph Ltd.
    -</body>
    -</html>
    diff --git a/php/src/canvas/mxGdCanvas.php b/php/src/canvas/mxGdCanvas.php
    deleted file mode 100644
    index b4812a450..000000000
    --- a/php/src/canvas/mxGdCanvas.php
    +++ /dev/null
    @@ -1,1414 +0,0 @@
    -<?php
    -/**
    - * Copyright (c) 2006-2013, Gaudenz Alder
    - */
    -class mxGdCanvas
    -{
    -	/** 
    -	 * Variable: antialias
    -	 *
    -	 * Specifies if image aspect should be preserved in drawImage. Default is true.
    -	 */
    -	public static $PRESERVE_IMAGE_ASPECT = true;
    -	
    -	/**
    -	 * Class: mxGdCanvas
    -	 *
    -	 * Canvas for drawing graphs using the GD library. This class requires GD
    -	 * support (GDLib). Note that rounded corners, gradients and word wrapping
    -	 * are not supported by GD.
    -	 * 
    -	 * Variable: antialias
    -	 *
    -	 * Specifies if antialiasing should be enabled. Default is false. NOTE: GD
    -	 * has a known bug where strokeWidths are ignored if this is enabled.
    -	 */
    -	var $antialias = false;
    -
    -	/**
    -	 * Variable: enableTtf
    -	 *
    -	 * Specifies if truetype fonts are enabled if available. Default is <mxConstants.TTF_ENABLED>.
    -	 */
    -	var $enableTtf;
    -
    -	/**
    -	 * Variable: shadowColor
    -	 *
    -	 * Holds the color object for the shadow color defined in
    -	 * <mxConstants.W3C_SHADOWCOLOR>.
    -	 */
    -	var $shadowColor;
    -
    -	/**
    -	 * Defines the base path for images with relative paths. Trailing slash
    -	 * is required. Default is an empty string.
    -	 */
    -	var $imageBasePath;
    -
    -	/**
    -	 * Variable: imageCache
    -	 *
    -	 * Holds the image cache.
    -	 */
    -	var $imageCache = array();
    -	
    -	/**
    -	 * Variable: image
    -	 *
    -	 * Holds the image.
    -	 */
    -	var $image;
    -	
    -	/**
    -	 * Variable: height
    -	 *
    -	 * Holds the height.
    -	 */
    -	var $scale;
    -
    -	/**
    -	 * Constructor: mxGdCanvas
    -	 *
    -	 * Constructs a new GD canvas. Use a HTML color definition for
    -	 * the optional background parameter, eg. white or #FFFFFF.
    -	 * The buffered <image> is only created if the given
    -	 * width and height are greater than 0.
    -	 */
    -	function mxGdCanvas($width = 0, $height = 0, $scale = 1,
    -		$background = null, $imageBasePath = "")
    -	{
    -	 	$this->enableTtf = mxConstants::$TTF_ENABLED;
    -		$this->imageBasePath = $imageBasePath;
    -	 	$this->scale = $scale;
    -	 	
    -	 	if ($width > 0 && $height > 0)
    -	 	{
    -			$this->image = @imageCreateTrueColor($width, $height);
    -			
    -			if ($this->antialias &&
    -				function_exists("imageantialias"))
    -			{
    -				imageantialias($this->image, true);
    -	 		}
    -			
    -			if (isset($background))
    -			{
    -				$color = $this->getColor($background);
    -				imageFilledRectangle($this->image,
    -					0, 0, $width, $height, $color);
    -			}
    -			
    -			$this->shadowColor = $this->getColor(mxConstants::$W3C_SHADOWCOLOR);
    -		}
    -	}
    -
    -	/**
    -	 * Function: loadImage
    -	 * 
    -	 * Returns an image instance for the given URL. If the URL has
    -	 * been loaded before than an instance of the same instance is
    -	 * returned as in the previous call.
    -	 */
    -	function loadImage($image)
    -	{
    -		$img = (array_key_exists($image, $this->imageCache)) ? $this->imageCache[$image] : null;
    -		
    -		if (!isset($img))
    -		{
    -			$img = mxUtils::loadImage($image);
    -
    -			if (isset($img))
    -			{
    -				$this->imageCache[$image] = $img;
    -			}
    -		}
    -		
    -		return $img;
    -	}
    -
    -	/**
    -	 * Function: drawCell
    -	 * 
    -	 * Draws the given cell state.
    -	 */
    -	function drawCell($state)
    -	{
    -		$style = $state->style;
    -		
    -		if (sizeof($state->absolutePoints) > 1)
    -		{
    -			$dashed = mxUtils::getNumber($style, mxConstants::$STYLE_DASHED);
    -			$stroke = mxUtils::getValue($style, mxConstants::$STYLE_STROKECOLOR);
    -			$strokeWidth = mxUtils::getNumber($style, mxConstants::$STYLE_STROKEWIDTH, 1) * $this->scale;
    -
    -			if ($stroke == "none")
    -			{
    -				$stroke = null;
    -			}
    -						
    -			if (isset($this->image))
    -			{
    -				// KNOWN: Stroke widths are ignored by GD if antialias is on
    -				imagesetthickness($this->image, $strokeWidth);
    -			}
    -	
    -			// Draws the start marker
    -			$marker = mxUtils::getValue($style, mxConstants::$STYLE_STARTARROW);
    -	
    -			$pts = $state->absolutePoints;
    -			$p0 = $pts[0];
    -			$pt = $pts[1];
    -			$offset = null;
    -			
    -			if (isset($marker))
    -			{
    -				$size = mxUtils::getNumber($style, mxConstants::$STYLE_STARTSIZE,
    -					mxConstants::$DEFAULT_MARKERSIZE);
    -				$offset = $this->drawMarker($marker, $pt, $p0, $size, $stroke);
    -			}
    -			else
    -			{
    -				$dx = $pt->x - $p0->x;
    -				$dy = $pt->y - $p0->y;
    -	
    -				$dist = max(1, sqrt($dx * $dx + $dy * $dy));
    -				$nx = $dx * $strokeWidth / $dist;
    -				$ny = $dy * $strokeWidth / $dist;
    -				
    -				$offset = new mxPoint($nx / 2, $ny / 2);
    -			}
    -
    -			// Applies offset to the point
    -			if (isset($offset))
    -			{
    -				$p0 = $p0->copy();
    -				$p0->x += $offset->x;
    -				$p0->y += $offset->y;
    -				
    -				unset($offset);
    -			}
    -		
    -			// Draws the end marker
    -			$len = sizeof($pts);
    -			$marker = mxUtils::getValue($style, mxConstants::$STYLE_ENDARROW);
    -			
    -			$pe = $pts[$len - 1];
    -			$pt = $pts[$len - 2];
    -			$offset = null;
    -			
    -			if (isset($marker))
    -			{
    -				$size = mxUtils::getNumber($style, mxConstants::$STYLE_ENDSIZE,
    -					mxConstants::$DEFAULT_MARKERSIZE);
    -				$offset = $this->drawMarker($marker, $pt, $pe, $size, $stroke);
    -			}
    -			else
    -			{
    -				$dx = $pt->x - $p0->x;
    -				$dy = $pt->y - $p0->y;
    -	
    -				$dist = max(1, sqrt($dx * $dx + $dy * $dy));
    -				$nx = $dx * $strokeWidth / $dist;
    -				$ny = $dy * $strokeWidth / $dist;
    -				
    -				$offset = new mxPoint($nx / 2, $ny / 2);
    -			}
    -
    -			// Applies offset to the point			
    -			if (isset($offset))
    -			{
    -				$pe = $pe->copy();
    -				$pe->x += $offset->x;
    -				$pe->y += $offset->y;
    -				
    -				unset($offset);
    -			}
    -
    -			// Draws the line segments
    -			$pt = $p0;
    -			
    -		 	for ($i = 1; $i < $len - 1; $i++)
    -		 	{
    -		 		$tmp = $pts[$i];
    -		 		$this->drawLine($pt->x, $pt->y, $tmp->x, $tmp->y, $stroke, $dashed);
    -		 		$pt = $tmp;
    -			}
    -			
    -			$this->drawLine($pt->x, $pt->y, $pe->x, $pe->y, $stroke, $dashed);
    -			
    -			if (isset($this->image))
    -			{
    -				imagesetthickness($this->image, 1);
    -			}
    -		}
    -		else
    -		{
    -			$x = $state->x;
    -			$y = $state->y;
    -			$w = $state->width;
    -			$h = $state->height;
    -
    -			// Draws the vertex
    -			if (mxUtils::getValue($style, mxConstants::$STYLE_SHAPE, "") !=
    -            	mxConstants::$SHAPE_SWIMLANE)
    -			{
    -				$this->drawShape($x, $y, $w, $h, $style);
    -			}
    -			else
    -			{
    -				$start = mxUtils::getNumber($style, mxConstants::$STYLE_STARTSIZE,
    -					mxConstants::$DEFAULT_STARTSIZE) * $this->scale;
    -
    -                    // Removes some styles to draw the content area
    -				$cloned = array_slice($style, 0);
    -				$cloned[mxConstants::$STYLE_FILLCOLOR] = $cloned[mxConstants::$STYLE_SWIMLANE_FILLCOLOR];
    -				unset($cloned[mxConstants::$STYLE_GRADIENTCOLOR]);
    -				unset($cloned[mxConstants::$STYLE_ROUNDED]);
    -
    -				// TODO: Clone style, remove fill and rounded and take into account
    -				// the label orientation
    -				//if (mxUtils::getValue($style, mxConstants::$STYLE_HORIZONTAL, true))
    -				{
    -					$this->drawShape($x, $y, $w, $h, $cloned);
    -					$this->drawShape($x, $y, $w, min($h, $start), $style);
    -				}
    -			}
    -		}
    -	}
    -	
    -	/**
    -	 * Function: drawLabel
    -	 * 
    -	 * Draws the given label.
    -	 */
    -	function drawLabel($text, $state, $html = false)
    -	{
    -		$bounds = $state->labelBounds;
    -		
    -		if (isset($bounds))
    -		{
    -			$x = $bounds->x;
    -			$y = $bounds->y;
    -			$w = $bounds->width;
    -			$h = $bounds->height;
    -			
    -			$this->drawText($text, $x, $y, $w, $h, $state->style);
    -		}
    -	}
    -	
    -	/**
    -	 * Function: drawMarker
    -	 * 
    -	 * Draws the specified marker.
    -	 */
    -	function drawMarker($type, $p0, $pe, $size, $stroke)
    -	{
    -		$offset = null;
    -
    -		// Computes the norm and the inverse norm
    -		$dx = $pe->x - $p0->x;
    -		$dy = $pe->y - $p0->y;
    -
    -		$dist = max(1, sqrt($dx*$dx+$dy*$dy));
    -		$absSize = $size * $this->scale;
    -		$nx = $dx * $absSize / $dist;
    -		$ny = $dy * $absSize / $dist;
    -		
    -		$pe = $pe->copy();
    -		$pe->x -= $nx / (2 * $size);
    -		$pe->y -= $ny / (2 * $size);
    -
    -		if ($type == mxConstants::$ARROW_CLASSIC ||
    -			$type == mxConstants::$ARROW_BLOCK)
    -		{
    -			$poly = array($pe->x, $pe->y,
    -				$pe->x - $nx - $ny / 2,
    -				$pe->y - $ny + $nx / 2);
    -
    -			if ($type == mxConstants::$ARROW_CLASSIC)
    -			{
    -				array_push($poly, $pe->x - $nx * 3 / 4, $pe->y - $ny * 3 / 4);
    -			}
    -			
    -			array_push($poly, $pe->x + $ny / 2 - $nx, $pe->y - $ny - $nx / 2);
    -			$this->drawPolygon($poly, $stroke, $stroke, false);
    -			
    -			$offset = new mxPoint(-$nx * 3 / 4, -$ny * 3 / 4);
    -		}
    -		else if ($type == mxConstants::$ARROW_OPEN)
    -		{
    -			$nx *= 1.2;
    -			$ny *= 1.2;
    -			
    -			$this->drawLine($pe->x - $nx -  $ny / 2, $pe->y - $ny + $nx / 2,
    -				$pe->x - $nx / 6, $pe->y - $ny / 6, $stroke);
    -			$this->drawLine($pe->x - $nx / 6, $pe->y - $ny / 6,
    -				$pe->x + $ny / 2 - $nx, $pe->y - $ny - $nx / 2, $stroke);
    -
    -			$offset = new mxPoint(-$nx / 4, -$ny / 4);
    -		}
    -		else if ($type == mxConstants::$ARROW_OVAL)
    -		{
    -			$nx *= 1.2;
    -			$ny *= 1.2;
    -			$absSize *= 1.2;
    -			
    -			$tmp = $absSize / 2;
    -			$x = $pe->x - $nx / 2 - $tmp;
    -			$y = $pe->y - $ny / 2 - $tmp;
    -			
    -			$this->drawOval($x, $y, $absSize, $absSize, $stroke, $stroke, false);
    -			
    -			$offset = new mxPoint(-$nx / 2, -$ny / 2);
    -		}
    -		else if ($type == mxConstants::$ARROW_DIAMOND)
    -		{
    -			$nx *= 1.2;
    -			$ny *= 1.2;
    -			
    -			$poly = array($pe->x + $nx / 2, $pe->y + $ny / 2,
    -				$pe->x - $ny / 2, $pe->y + $nx / 2,
    -				$pe->x - $nx / 2, $pe->y - $ny / 2,
    -				$pe->x + $ny, $pe->y - $nx / 2);
    -			$this->drawPolygon($poly, $stroke, $stroke, false);
    -		}
    -		
    -		return $offset;
    -	}
    -
    -	/**
    -	 * Function: getImage
    -	 *
    -	 * Returns an image that represents this canvas.
    -	 */
    -	function getImage()
    -	{
    -		return $this->image;
    -	}
    -
    -	/**
    -	 * Function: setImage
    -	 *
    -	 * Sets the image that represents the canvas.
    -	 */
    -	function setImage($img)
    -	{
    -		$this->image = $img;
    -	}
    -
    -	/**
    -	 * Function: getImageForStyle
    -	 *
    -	 * Returns an image that represents this canvas.
    -	 */
    -	function getImageForStyle($style)
    -	{
    -		$filename = mxUtils::getValue($style, mxConstants::$STYLE_IMAGE, "");
    -
    -		if ($filename != null && strpos($filename, "/") > 0)
    -		{
    -			$filename = $this->imageBasePath.$filename;
    -		}
    -
    -		return $filename;
    -	}
    -	
    -	/**
    -	 * Function: drawLine
    -	 *
    -	 * Draws the given line.
    -	 */
    -	function drawLine($x0, $y0, $x1, $y1, $stroke = null, $dashed = false)
    -	{
    -		$stroke = $this->getColor($stroke, "black");
    -		
    -		if ($dashed)
    -		{
    -			// ImageDashedLine only works for vertical lines and
    -			// ImageSetStyle doesnt work with antialiasing.
    -			if ($this->antialias &&
    -				function_exists("imageantialias"))
    -			{
    -				imageantialias($this->image, false);
    -	 		}
    -	 		
    -			$st = array($stroke, $stroke, $stroke, $stroke,
    -				IMG_COLOR_TRANSPARENT, IMG_COLOR_TRANSPARENT,
    -				IMG_COLOR_TRANSPARENT, IMG_COLOR_TRANSPARENT);
    -			imageSetStyle($this->image, $st);
    -			imageLine($this->image, $x0, $y0, $x1, $y1, IMG_COLOR_STYLED);
    -
    -			if ($this->antialias &&
    -				function_exists("imageantialias"))
    -			{
    -				imageantialias($this->image, true);
    -	 		}
    -		}
    -		else
    -		{
    -			imageLine($this->image, $x0, $y0, $x1, $y1, $stroke);
    -		}
    -	}
    -	
    -	/**
    -	 * Function: drawShape
    -	 *
    -	 * Draws the given shape.
    -	 */
    -	function drawShape($x, $y, $w, $h, $style)
    -	{
    -		// Draws the shape
    -		$shape = mxUtils::getValue($style, mxConstants::$STYLE_SHAPE);
    -		$image = $shape == mxConstants::$SHAPE_IMAGE;
    -		
    -		// Redirects background styles for image shapes
    -		$fillStyle = ($image) ? mxConstants::$STYLE_IMAGE_BACKGROUND : mxConstants::$STYLE_FILLCOLOR;
    -		$strokeStyle = ($image) ? mxConstants::$STYLE_IMAGE_BORDER : mxConstants::$STYLE_STROKECOLOR;
    -
    -        // Prepares the background and foreground
    -		$stroke = mxUtils::getValue($style, $strokeStyle);
    -		$fill = mxUtils::getValue($style, $fillStyle);
    -					
    -		if ($stroke == "none")
    -		{
    -			$stroke = null;
    -		}
    -		
    -		if ($fill == "none")
    -		{
    -			$fill = null;
    -		}
    -		
    -		if ($fill != null || $stroke != null || $image)
    -		{
    -			$shadow = mxUtils::getValue($style, mxConstants::$STYLE_SHADOW);
    -			$strokeWidth = mxUtils::getValue($style, mxConstants::$STYLE_STROKEWIDTH, 1) * $this->scale;
    -			
    -			if (isset($this->image))
    -			{
    -				imagesetthickness($this->image, $strokeWidth);
    -			}
    -
    -			if ($shape == mxConstants::$SHAPE_ELLIPSE)
    -	 		{
    -	 			$this->drawOval($x, $y, $w, $h, $fill, $stroke, $shadow);
    -	 		}
    -	 		else if ($shape == mxConstants::$SHAPE_LINE)
    -	 		{
    -				$direction = mxUtils::getValue($style, mxConstants::$STYLE_DIRECTION, mxConstants::$DIRECTION_EAST);
    -	 			
    -	            if ($direction == mxConstants::$DIRECTION_EAST || $direction == mxConstants::$DIRECTION_WEST)
    -	            {
    -	                $mid = $y + $h / 2;
    -	                $this->drawLine($x, $mid, $x + $w, $mid, $stroke);
    -	            }
    -	            else
    -	            {
    -	                $mid = $x + $w / 2;
    -	                $this->drawLine($mid, $y, $mid, $y + $h, $stroke);
    -	            }
    -	 			
    -	 		}
    -	 		else if ($shape == mxConstants::$SHAPE_DOUBLE_ELLIPSE)
    -	 		{
    -	 			$this->drawOval($x, $y, $w, $h, $fill, $stroke, $shadow);
    -	 			
    -	 			$inset = (3 + 1) * $this->scale;
    -	 			$x += $inset;
    -	 			$y += $inset;
    -	 			$w -= 2 * $inset;
    -	 			$h -= 2 * $inset;
    -	 			$this->drawOval($x, $y, $w, $h, null, $stroke, false);
    -	 		}
    -	 		else if ($shape == mxConstants::$SHAPE_RHOMBUS)
    -	 		{
    -				$this->drawRhombus($x, $y, $w, $h, $fill, $stroke, $shadow);
    -	 		}
    -	 		else if ($shape == mxConstants::$SHAPE_TRIANGLE)
    -	 		{
    -				$dir = mxUtils::getValue($style, mxConstants::$STYLE_DIRECTION);
    -				$this->drawTriangle($x, $y, $w, $h, $fill, $stroke, $shadow, $dir);
    -	 		}
    -	 		else if ($shape == mxConstants::$SHAPE_HEXAGON)
    -	 		{
    -				$dir = mxUtils::getValue($style, mxConstants::$STYLE_DIRECTION);
    -				$this->drawHexagon($x, $y, $w, $h, $fill, $stroke, $shadow, $dir);
    -	 		}
    -	 		else if ($shape == mxConstants::$SHAPE_CYLINDER)
    -	 		{
    -			 	$this->drawCylinder($x, $y, $w, $h, $fill, $stroke, $shadow);
    -	 		}
    -	 		else if ($shape == mxConstants::$SHAPE_CLOUD)
    -	 		{
    -			 	$this->drawCloud($x, $y, $w, $h, $fill, $stroke, $shadow);
    -	 		}
    -	 		else if ($shape == mxConstants::$SHAPE_ACTOR)
    -	 		{
    -			 	$this->drawActor($x, $y, $w, $h, $fill, $stroke, $shadow);
    -	 		}
    -	 		else
    -	 		{
    -				$rounded = mxUtils::getValue($style, mxConstants::$STYLE_ROUNDED);
    -				$dashed = mxUtils::getNumber($style, mxConstants::$STYLE_DASHED);
    -				$this->drawRect($x, $y, $w, $h, $fill, $stroke, $shadow, $rounded, $dashed);
    -	
    -				// Draws the image as a shape
    -		 		if ($image)
    -		 		{
    -					$img = $this->getImageForStyle($style);
    -					
    -					if ($img != null)
    -					{
    -						$aspect = mxGdCanvas::$PRESERVE_IMAGE_ASPECT;
    -						$flipH = mxUtils::getValue($style, mxConstants::$STYLE_IMAGE_FLIPH, 0);
    -						$flipV = mxUtils::getValue($style, mxConstants::$STYLE_IMAGE_FLIPV, 0);
    -						
    -						$this->drawImage($x, $y, $w, $h, $img, $aspect, $flipH, $flipV);
    -					}
    -				}
    -	 			
    -				// Draws the image of the label inside the label shape
    -	 			if ($shape == mxConstants::$SHAPE_LABEL)
    -	 			{
    -					$image = $this->getImageForStyle($style);
    -					
    -					if ($image != null)
    -					{
    -		 				$imgAlign = mxUtils::getValue($style, mxConstants::$STYLE_IMAGE_ALIGN);
    -		 				$imgValign = mxUtils::getValue($style, mxConstants::$STYLE_IMAGE_VERTICAL_ALIGN);
    -		 				$imgWidth = mxUtils::getNumber($style, mxConstants::$STYLE_IMAGE_WIDTH,
    -		 					mxConstants::$DEFAULT_IMAGESIZE) * $this->scale;
    -		 				$imgHeight = mxUtils::getNumber($style, mxConstants::$STYLE_IMAGE_HEIGHT,
    -		 					mxConstants::$DEFAULT_IMAGESIZE) * $this->scale;
    -		 				$spacing = mxUtils::getNumber($style, mxConstants::$STYLE_SPACING, 2) * $this->scale;
    -		 				
    -		 				$imgX = $x;
    -		 				
    -		 				if ($imgAlign == mxConstants::$ALIGN_LEFT)
    -		 				{
    -		 					$imgX += $spacing;
    -		 				}
    -		 				else if ($imgAlign == mxConstants::$ALIGN_RIGHT)
    -		 				{
    -		 					$imgX += $w - $imgWidth - $spacing;
    -		 				}
    -		 				else // CENTER
    -		 				{
    -		 					$imgX += ($w - $imgWidth) / 2;
    -		 				}
    -		 				
    -		 				$imgY = $y;
    -		 				
    -		 				if ($imgValign == mxConstants::$ALIGN_TOP)
    -		 				{
    -		 					$imgY += $spacing;
    -		 				}
    -		 				else if ($imgValign == mxConstants::$ALIGN_BOTTOM)
    -		 				{
    -		 					$imgY += $h - $imgHeight - $spacing;
    -		 				}
    -		 				else // MIDDLE
    -		 				{
    -		 					$imgY += ($h - $imgHeight) / 2;
    -		 				}
    -		
    -						$this->drawImage($imgX, $imgY, $imgWidth, $imgHeight, $image);
    -					} 				
    -	 			}
    -			}
    -			
    -			if (isset($this->image))
    -			{
    -				imagesetthickness($this->image, 1);
    -			}
    -		}
    -	}
    -
    -	/**
    -	 * Function: drawPolygon
    -	 *
    -	 * Draws the given polygon.
    -	 */
    -	function drawPolygon($points, $fill = null, $stroke = null, $shadow = false)
    -	{
    -		if (isset($this->image))
    -		{
    -			$n = sizeof($points) / 2;
    -			
    -			if (isset($fill))
    -		 	{
    -				if ($shadow)
    -				{
    -					imageFilledPolygon($this->image, $this->offset($points),
    -						$n, $this->shadowColor);	
    -				}
    -				
    -			 	$fill = $this->getColor($fill);
    -				imageFilledPolygon($this->image, $points, $n, $fill);
    -			}
    -			
    -		 	if (isset($stroke))
    -		 	{
    -			 	$stroke = $this->getColor($stroke);
    -				imagePolygon($this->image, $points, $n, $stroke);
    -			}
    -		}
    -	}
    -	
    -	/**
    -	 * Function: drawRect
    -	 *
    -	 * Draws then given rectangle. Rounded is currently ignored.
    -	 */
    -	function drawRect($x, $y, $w, $h, $fill = null, $stroke = null,
    -		$shadow = false, $rounded = false, $dashed = false)
    -	{
    -		// TODO: Rounded rectangles
    -	 	if (isset($fill))
    -	 	{
    -			if ($shadow)
    -			{
    -				imageFilledRectangle($this->image,
    -					$x + mxConstants::$SHADOW_OFFSETX ,
    -					$y + mxConstants::$SHADOW_OFFSETY,
    -					$x + mxConstants::$SHADOW_OFFSETX + $w,
    -					$y + mxConstants::$SHADOW_OFFSETX + $h,
    -					$this->shadowColor);
    -			}
    -			
    -		 	$fill = $this->getColor($fill);
    -			imageFilledRectangle($this->image, $x, $y, $x + $w, $y + $h, $fill);
    -		}
    -		
    -	 	if (isset($stroke))
    -	 	{
    -		 	if ($dashed)
    -		 	{
    -		 		$this->drawLine($x, $y, $x + $w, $y, $stroke, $dashed);
    -		 		$this->drawLine($x + $w, $y, $x + $w, $y + $h, $stroke, $dashed);
    -		 		$this->drawLine($x, $y + $h, $x + $w, $y + $h, $stroke, $dashed);
    -		 		$this->drawLine($x, $y + $h, $x, $y, $stroke, $dashed);
    -		 	}
    -		 	else
    -		 	{
    -		 		$stroke = $this->getColor($stroke);
    -		 		imageRectangle($this->image, $x, $y, $x + $w, $y + $h, $stroke);
    -		 	}
    -		}
    -	}
    -	
    -	/**
    -	 * Function: drawOval
    -	 *
    -	 * Draws then given ellipse.
    -	 */
    -	function drawOval($x, $y, $w, $h, $fill = null, $stroke = null, $shadow = false)
    -	{
    -	 	if (isset($fill))
    -	 	{
    -			if ($shadow)
    -			{
    -				imageFilledEllipse($this->image,
    -					$x + $w / 2 + mxConstants::$SHADOW_OFFSETX,
    -					$y + $h / 2 + mxConstants::$SHADOW_OFFSETY,
    -					$w, $h, $this->shadowColor);	
    -			}
    -			
    -		 	$fill = $this->getColor($fill);
    -			imageFilledEllipse($this->image, $x + $w / 2, $y + $h / 2,
    -				$w, $h, $fill);
    -		}
    -		
    -	 	if (isset($stroke))
    -	 	{
    -		 	$stroke = $this->getColor($stroke);
    -			imageEllipse($this->image, $x + $w / 2, $y + $h / 2,
    -				$w, $h, $stroke);
    -		}
    -	}
    -
    -	/**
    -	 * Function: drawRhombus
    -	 *
    -	 * Draws then given rhombus.
    -	 */
    -	function drawRhombus($x, $y, $w, $h, $fill = null, $stroke = null, $shadow = false)
    -	{
    -		$halfWidth = $x + $w / 2;
    -		$halfHeight = $y + $h / 2;
    -
    -		$points = array($halfWidth, $y, $x + $w, $halfHeight,
    -			$halfWidth, $y + $h, $x, $halfHeight, $halfWidth, $y);
    -			
    -		$this->drawPolygon($points, $fill, $stroke, $shadow);
    -	}
    -	
    -	/**
    -	 * Function: drawTriangle
    -	 *
    -	 * Draws then given triangle.
    -	 */
    -	function drawTriangle($x, $y, $w, $h, $fill = null, $stroke = null,
    -		$shadow = false, $direction = null)
    -	{
    -		if ($direction == mxConstants::$DIRECTION_NORTH)
    -		{
    -			$points = array($x, $y + $h, $x + $w / 2, $y,
    -				$x + $w, $y + $h, $x, $y + $h);
    -		}
    -		else if ($direction == mxConstants::$DIRECTION_SOUTH)
    -		{
    -			$points = array($x, $y, $x + $w / 2, $y + $h,
    -				$x + $w, $y, $x, $y);
    -		}
    -		else if ($direction == mxConstants::$DIRECTION_WEST)
    -		{
    -			$points = array($x + $w, $y, $x, $y + $h / 2,
    -				$x + $w, $y + $h, $x + $w, $y);
    -		}
    -		else // east
    -		{
    -			$points = array($x, $y, $x + $w, $y + $h / 2,
    -				$x, $y + $h, $x, $y);
    -		}
    -		
    -		$this->drawPolygon($points, $fill, $stroke, $shadow);
    -	}
    -		
    -	/**
    -	 * Function: drawHexagon
    -	 *
    -	 * Draws then given haxagon.
    -	 */
    -	function drawHexagon($x, $y, $w, $h, $fill = null, $stroke = null,
    -		$shadow = false, $direction = null)
    -	{
    -		if ($direction == mxConstants::$DIRECTION_NORTH ||
    -			$direction == mxConstants::$DIRECTION_SOUTH)
    -		{
    -			$points = array($x + 0.5 * $w, $y, $x + $w, $y + 0.25 * $h,
    -				$x + $w, $y + 0.75 * $h, $x + 0.5 * $w, $y + $h,
    -				$x, $y + 0.75 * $h, $x, $y + 0.25 * $h);
    -		}
    -		else
    -		{
    -			$points = array($x + 0.25 * $w, $y, $x + 0.75 * $w, $y,
    -				$x + $w, $y + 0.5 * $h, $x + 0.75 * $w, $y + $h,
    -				$x + 0.25 * $w, $y + $h, $x, $y + 0.5 * $h);
    -		}
    -		
    -		$this->drawPolygon($points, $fill, $stroke, $shadow);
    -	}
    -	
    -	/**
    -	 * Function: drawCylinder
    -	 *
    -	 * Draws then given cylinder.
    -	 */
    -	function drawCylinder($x, $y, $w, $h, $fill = null, $stroke = null, $shadow = false)
    -	{
    -		$h4 = $h / 4;
    -	 	$h8 = $h4 / 2;
    -
    -	 	if (isset($fill))
    -	 	{
    -	 		$this->drawOval($x, $y, $w, $h4, $fill, null, $shadow);
    -	 		$this->drawRect($x, $y + $h8, $w, $h - $h4, $fill, null, $shadow);
    -	 		$this->drawOval($x, $y + $h - $h4, $w, $h4, $fill, null, $shadow);
    -		}
    -		
    -	 	if (isset($stroke))
    -	 	{
    -	 		$this->drawOval($x, $y, $w, $h4, null, $stroke, false);
    -	 		$this->drawLine($x, $y + $h8, $x, $y + $h - $h8, $stroke);
    -	 		$this->drawLine($x + $w, $y + $h8, $x + $w, $y + $h - $h8, $stroke);
    -	 		$this->drawOval($x, $y + $h - $h4, $w, $h4, null, $stroke, false);
    -		}
    -
    -		// Hides lower arc for filled cylinder
    -	 	if (isset($fill) && isset($stroke))
    -	 	{
    -	 		$this->drawRect($x + 1, $y + $h - $h4, $w - 2, $h8, $fill, null, false);
    -		}
    -	}
    -	
    -	/**
    -	 * Function: drawCloud
    -	 *
    -	 * Draws then given cloud.
    -	 */
    -	function drawCloud($x, $y, $w, $h, $fill = null, $stroke = null, $shadow=false)
    -	{
    -		if (isset($fill))
    -	 	{
    -			if ($shadow)
    -			{
    -				$dx = mxConstants::$SHADOW_OFFSETX;
    -				$dy = mxConstants::$SHADOW_OFFSETY;
    -				
    -				imageFilledEllipse($this->image, $x + 0.2 * $w + $dx, $y + 0.42 * $h + $dy, 0.3 * $w, 0.29 * $h, $this->shadowColor);
    -				imageFilledEllipse($this->image, $x + 0.4 * $w + $dx, $y + 0.25 * $h + $dy, 0.4 * $w, 0.4 * $h, $this->shadowColor);
    -				imageFilledEllipse($this->image, $x + 0.75 * $w + $dx, $y + 0.35 * $h + $dy, 0.5 * $w, 0.4 * $h, $this->shadowColor);
    -				imageFilledEllipse($this->image, $x + 0.2 * $w + $dx, $y + 0.65 * $h + $dy, 0.3 * $w, 0.3 * $h, $this->shadowColor);
    -				imageFilledEllipse($this->image, $x + 0.55 * $w + $dx, $y + 0.62 * $h + $dy, 0.6 * $w, 0.6 * $h, $this->shadowColor);
    -				imageFilledEllipse($this->image, $x + 0.88 * $w + $dx, $y + 0.63 * $h + $dy, 0.3 * $w, 0.3 * $h, $this->shadowColor);
    -			}
    -
    -			$fill = $this->getColor($fill);
    -			imageFilledEllipse($this->image, $x + 0.2 * $w, $y + 0.42 * $h, 0.3 * $w, 0.29 * $h, $fill);
    -			imageFilledEllipse($this->image, $x + 0.4 * $w, $y + 0.25 * $h, 0.4 * $w, 0.4 * $h, $fill);
    -			imageFilledEllipse($this->image, $x + 0.75 * $w, $y + 0.35 * $h, 0.5 * $w, 0.4 * $h, $fill);
    -			imageFilledEllipse($this->image, $x + 0.2 * $w, $y + 0.65 * $h, 0.3 * $w, 0.3 * $h, $fill);
    -			imageFilledEllipse($this->image, $x + 0.55 * $w, $y + 0.62 * $h, 0.6 * $w, 0.6 * $h, $fill);
    -			imageFilledEllipse($this->image, $x + 0.88 * $w, $y + 0.63 * $h, 0.3 * $w, 0.3 * $h, $fill);
    -		}
    -
    -	 	if (isset($stroke))
    -	 	{
    -			$stroke = $this->getColor($stroke);
    -			imageArc($this->image, $x + 0.2 * $w, $y + 0.42 * $h, 0.3 * $w, 0.29 * $h, 125, 270, $stroke);
    -			imageArc($this->image, $x + 0.4 * $w, $y + 0.25 * $h, 0.4 * $w, 0.4 * $h, 170, 345, $stroke);
    -			imageArc($this->image, $x + 0.75 * $w, $y + 0.35 * $h, 0.5 * $w, 0.4 * $h, 230, 55, $stroke);
    -			imageArc($this->image, $x + 0.2 * $w, $y + 0.65 * $h, 0.3 * $w, 0.3 * $h, 50, 235, $stroke);
    -			imageArc($this->image, $x + 0.55 * $w, $y + 0.62 * $h, 0.6 * $w, 0.6 * $h, 33, 145, $stroke);
    -			imageArc($this->image, $x + 0.88 * $w, $y + 0.63 * $h, 0.3 * $w, 0.3 * $h, 290, 120, $stroke);
    -		}
    -	}
    -		
    -	/**
    -	 * Function: drawActor
    -	 *
    -	 * Draws then given cloud.
    -	 */
    -	function drawActor($x, $y, $w, $h, $fill = null, $stroke = null, $shadow=false)
    -	{
    -		if (isset($fill))
    -	 	{
    -			if ($shadow)
    -			{
    -				$dx = mxConstants::$SHADOW_OFFSETX;
    -				$dy = mxConstants::$SHADOW_OFFSETY;
    -					
    -				imageFilledEllipse($this->image, $x + 0.5 * $w + $dx, $y + 0.2 * $h + $dy, 0.4 * $w, 0.4 * $h, $this->shadowColor);
    -				imageFilledEllipse($this->image, $x + 0.2 * $w + $dx, $y + 0.6 * $h + $dy, 0.4 * $w, 0.4 * $h, $this->shadowColor);
    -				imageFilledEllipse($this->image, $x + 0.8 * $w + $dx, $y + 0.6 * $h + $dy, 0.4 * $w, 0.4 * $h, $this->shadowColor);
    -				imageFilledRectangle($this->image, $x + 0.2 * $w + $dx, $y + 0.4 * $h + $dy, $x + 0.8 * $w + $dx, $y + 0.6 * $h + $dy, $this->shadowColor);
    -				imageFilledRectangle($this->image, $x + $dx, $y + 0.6 * $h + $dy, $x + $w + $dx, $y + $h + $dy, $this->shadowColor);
    -			}
    -
    -			$fill = $this->getColor($fill);
    -			imageFilledEllipse($this->image, $x + 0.5 * $w, $y + 0.2 * $h, 0.4 * $w, 0.4 * $h, $fill);
    -			imageFilledEllipse($this->image, $x + 0.2 * $w, $y + 0.6 * $h, 0.4 * $w, 0.4 * $h, $fill);
    -			imageFilledEllipse($this->image, $x + 0.8 * $w, $y + 0.6 * $h, 0.4 * $w, 0.4 * $h, $fill);
    -			imageFilledRectangle($this->image, $x + 0.2 * $w, $y + 0.4 * $h, $x + 0.8 * $w, $y + 0.6 * $h, $fill);
    -			imageFilledRectangle($this->image, $x, $y + 0.6 * $h, $x + $w, $y + $h, $fill);
    -		}
    -
    -	 	if ($stroke != null)
    -	 	{
    -			$stroke = $this->getColor($stroke);
    -			imageEllipse($this->image, $x + 0.5 * $w, $y + 0.2 * $h, 0.4 * $w, 0.4 * $h, $stroke);
    -			imageLine($this->image, $x + 0.2 * $w, $y + 0.4 * $h, $x + 0.8 * $w, $y + 0.4 * $h, $stroke);
    -			imageArc($this->image, $x + 0.2 * $w, $y + 0.6 * $h, 0.4 * $w, 0.4 * $h, 180, 270, $stroke);
    -			imageArc($this->image, $x + 0.8 * $w, $y + 0.6 * $h, 0.4 * $w, 0.4 * $h, 270, 360, $stroke);
    -			imageLine($this->image, $x, $y + 0.6 * $h, $x, $y + $h, $stroke);
    -			imageLine($this->image, $x, $y + $h, $x + $w, $y + $h, $stroke);
    -			imageLine($this->image, $x + $w, $y + $h, $x + $w, $y + 0.6 * $h, $stroke);
    -		}
    -	}
    -	
    -	/**
    -	 * Function: drawImage
    -	 *
    -	 * Draws a given image.
    -	 */
    -	function drawImage($x, $y, $w, $h, $image, $aspect = true, $flipH = false, $flipV = false)
    -	{
    -		$img = $this->loadImage($image);
    -
    -		if ($img != null)
    -		{
    -			$iw = imagesx($img);
    -			$ih = imagesy($img);
    -			
    -			// Horizontal and vertical image flipping
    -			if ($flipH || $flipV)
    -			{
    -				$img = mxUtils::flipImage($img, $flipH, $flipV);
    -			}
    -			
    -			// Preserved aspect ratio
    -			if ($aspect)
    -			{
    -				$s = min($w / $iw, $h / $ih);
    -				$x0 = ($w - $iw * $s) / 2;
    -				$y0 = ($h - $ih * $s) / 2;
    -
    -				imageCopyResized($this->image, $img, $x0 + $x, $y0 + $y,
    -					0, 0, $iw * $s, $ih * $s, $iw, $ih);
    -			}
    -			else
    -			{
    -				imageCopyResized($this->image, $img, $x, $y, 0, 0,
    -					$w, $h, $iw, $ih);
    -			}
    -		}
    -	}
    -
    -	/**
    -	 * Function: drawText
    -	 */
    -	function drawText($string, $x, $y, $w, $h, $style)
    -	{
    -		if (gettype($string) == "string" && strlen($string) > 0)
    -		{
    -			// Draws the label background and border
    -			$bg = mxUtils::getValue($style, mxConstants::$STYLE_LABEL_BACKGROUNDCOLOR);
    -			$border = mxUtils::getValue($style, mxConstants::$STYLE_LABEL_BORDERCOLOR);
    -	
    -			if ($bg != null || $border != null)
    -			{			
    -				$bounds->width += 2;
    -				$bounds->x -= 2;
    -				$bounds->y -= 1;
    -	
    -				$this->drawRect($x, $y, $w, $h, $bg, $border, false);
    -			}
    -
    -			// Draws the label string			
    -			if ($this->enableTtf && function_exists("imagettftext"))
    -			{
    -				$this->drawTtfText($string, $x, $y, $w, $h, $style);
    -			}
    -			else
    -			{
    -				$this->drawFixedText($string, $x, $y, $w, $h, $style);
    -			}
    -		}
    -	}
    -	
    -	/**
    -	 * Function: getTrueTypeFont
    -	 * 
    -	 * Returns the truetype font to be used to draw the text with the given style.
    -	 */
    -	 function getTrueTypeFont($style)
    -	 {
    -	 	return mxUtils::getTrueTypeFont($style);
    -	 }
    -	
    -	/**
    -	 * Function: getTrueTypeFontSize
    -	 * 
    -	 * Returns the truetype font size to be used to draw the text with the
    -	 * given style. This returns the fontSize in the style of the default
    -	 * fontsize multiplied with <ttfSizeFactor>.
    -	 */
    -	 function getTrueTypeFontSize($style)
    -	 {
    -	 	return mxUtils::getTrueTypeFontSize(
    -	 		mxUtils::getValue($style, mxConstants::$STYLE_FONTSIZE,
    -			mxConstants::$DEFAULT_FONTSIZE) * $this->scale);
    -	 }
    -
    -	/**
    -	 * Function: drawTtfText
    -	 */
    -	function drawTtfText($string, $x, $y, $w, $h, $style)
    -	{
    -		$lines = explode("\n", $string);
    -		$lineCount = sizeof($lines);
    -		
    -		if ($lineCount > 0)
    -		{
    -			// Gets the orientation and alignment
    -			$horizontal = mxUtils::getValue($style, mxConstants::$STYLE_HORIZONTAL, true);
    -			$align = mxUtils::getValue($style, mxConstants::$STYLE_ALIGN, mxConstants::$ALIGN_CENTER);
    -
    -			if ($align == mxConstants::$ALIGN_LEFT)
    -			{
    -				if ($horizontal)
    -				{
    -					$x += mxConstants::$LABEL_INSET;
    -				}
    -				else
    -				{
    -					$y -= mxConstants::$LABEL_INSET;
    -				}
    -			}
    -			else if ($align == mxConstants::$ALIGN_RIGHT)
    -			{
    -				if ($horizontal)
    -				{
    -					$x -= mxConstants::$LABEL_INSET;
    -				}
    -				else
    -				{
    -					$y += mxConstants::$LABEL_INSET;
    -				}
    -			}
    -
    -			// Gets the font
    -			$fontSize = $this->getTrueTypeFontSize($style);
    -			$font = $this->getTrueTypeFont($style);
    -
    -			// Gets the color
    -			$fontColor = mxUtils::getValue($style, mxConstants::$STYLE_FONTCOLOR);
    -	 		$color = $this->getColor($fontColor, "black");
    -	 		
    -	 		$dy = ((($horizontal) ? $h : $w) - 2 * mxConstants::$LABEL_INSET) / $lineCount;
    -
    -			if ($horizontal)
    -			{
    -	 			$y += 0.8 * $dy + mxConstants::$LABEL_INSET;				
    -			}
    -			else
    -			{
    -				$y += $h;
    -				$x += $dy;
    -			}
    -
    -			// Draws the text line by line
    -			for ($i = 0; $i < $lineCount; $i++)
    -			{
    -				$left = $x;
    -				$top = $y;
    -				$tmp = imagettfbbox($fontSize, 0, $font, $lines[$i]);
    -				$lineWidth = $tmp[2] - $tmp[0];
    -	
    -				if ($align == mxConstants::$ALIGN_CENTER)
    -				{
    -					if ($horizontal)
    -					{
    -						$left += ($w - $lineWidth) / 2;
    -					}
    -					else
    -					{
    -						$top -= ($h - $lineWidth) / 2;
    -					}
    -				}
    -				else if ($align == mxConstants::$ALIGN_RIGHT)
    -				{
    -					if ($horizontal)
    -					{
    -						$left += $w - $lineWidth;
    -					}
    -					else
    -					{
    -						$top -= $h - $lineWidth;
    -					}
    -				}
    -				
    -				$this->drawTtfTextLine($lines[$i], $left, $top, $w, $h,
    -					$color, $fontSize, $font, ($horizontal) ? 0 : 90);
    -					
    -				if ($horizontal)
    -				{
    -					$y += $dy;
    -				}
    -				else
    -				{
    -					$x += $dy;
    -				}
    -			}
    -		}
    -	}
    -	
    -	/**
    -	 * Function: drawTtxTextLine
    -	 *
    -	 * Draws a single line of the given true type font text. The w and h are
    -	 * the width and height of the complete text box that contains this line.
    -	 */
    -	function drawTtfTextLine($line, $x, $y, $w, $h, $color, $fontSize, $font, $rot)
    -	{
    -		imagettftext($this->image, $fontSize, $rot, $x, $y, $color, $font, $line);
    -	}
    -	
    -	/**
    -	 * Function: getFixedFontSize
    -	 * 
    -	 * Returns the fixed font size for GD (1 t0 5) for the given font properties
    -	 */
    -	function getFixedFontSize($fontSize, $fontFamily, $fontStyle=null)
    -	{
    -		return mxUtils::getFixedFontSize($fontSize, $fontFamily);
    -	}
    -	
    -	/**
    -	 * Function: drawString
    -	 */
    -	function drawFixedText($string, $x, $y, $w, $h, $style)
    -	{
    -		$lines = explode("\n", $string);
    -		$lineCount = sizeof($lines);
    -		
    -		if ($lineCount > 0)
    -		{
    -			// Gets the orientation and alignment
    -			$horizontal = mxUtils::getValue($style, mxConstants::$STYLE_HORIZONTAL, true);
    -			$align = mxUtils::getValue($style, mxConstants::$STYLE_ALIGN, mxConstants::$ALIGN_CENTER);
    -
    -			if ($align == mxConstants::$ALIGN_LEFT)
    -			{
    -				if ($horizontal)
    -				{
    -					$x += mxConstants::$LABEL_INSET;
    -				}
    -				else
    -				{
    -					$y -= mxConstants::$LABEL_INSET;
    -				}
    -			}
    -			else if ($align == mxConstants::$ALIGN_RIGHT)
    -			{
    -				if ($horizontal)
    -				{
    -					$x -= mxConstants::$LABEL_INSET;
    -				}
    -				else
    -				{
    -					$y += mxConstants::$LABEL_INSET;
    -				}
    -			}
    -
    -			if ($horizontal)
    -			{
    -	 			$y += 2 * mxConstants::$LABEL_INSET;				
    -			}
    -			else
    -			{
    -				$y += $h;
    -				$x += 2 * mxConstants::$LABEL_INSET;
    -			}
    -
    -			// Gets the font
    -			$fontSize = mxUtils::getValue($style, mxConstants::$STYLE_FONTSIZE,
    -				mxConstants::$DEFAULT_FONTSIZE) * $this->scale;
    -			$fontFamily = mxUtils::getValue($style, mxConstants::$STYLE_FONTFAMILY,
    -				mxConstants::$DEFAULT_FONTFAMILY);
    -			$font = $this->getFixedFontSize($fontSize, $fontFamily);
    -
    -			// Gets the color
    -			$fontColor = mxUtils::getValue($style, mxConstants::$STYLE_FONTCOLOR);
    -	 		$color = $this->getColor($fontColor, "black");
    -	 		
    -	 		$dx = imageFontWidth($font);
    -	 		$dy = ((($horizontal) ? $h : $w) - 2 * mxConstants::$LABEL_INSET) / $lineCount;
    -
    -			// Draws the text line by line
    -			for ($i = 0; $i < $lineCount; $i++)
    -			{
    -				$left = $x;
    -				$top = $y;
    -				$lineWidth = strlen($lines[$i]) * $dx;
    -	
    -				if ($align == mxConstants::$ALIGN_CENTER)
    -				{
    -					if ($horizontal)
    -					{
    -						$left += ($w - $lineWidth) / 2;
    -					}
    -					else
    -					{
    -						$top -= ($h - $lineWidth) / 2;
    -					}
    -				}
    -				else if ($align == mxConstants::$ALIGN_RIGHT)
    -				{
    -					if ($horizontal)
    -					{
    -						$left += $w - $lineWidth;
    -					}
    -					else
    -					{
    -						$top -= $h - $lineWidth;
    -					}
    -				}
    -
    -				$this->drawFixedTextLine($lines[$i], $font,
    -						$left, $top, $color, $horizontal);
    -				
    -				if ($horizontal)
    -				{
    -					$y += $dy;
    -				}
    -				else
    -				{
    -					$x += $dy;
    -				}
    -			}
    -		}
    -	}
    -	
    -	/**
    -	 * Function: drawFixedTextLine
    -	 *
    -	 * Draws the given fixed text line.
    -	 */
    -	function drawFixedTextLine($text, $font, $left, $top, $color, $horizontal = true)
    -	{
    -		if ($horizontal)
    -		{
    -			imageString($this->image, $font, $left, $top,
    -				$text, $color);
    -		}
    -		else
    -		{
    -			imageStringUp($this->image, $font, $left, $top,
    -				$text, $color);
    -		}
    -	}
    -
    -	/**
    -	 * Function: getColor
    -	 *
    -	 * Allocates the given color and returns a reference to it. Supported
    -	 * color names are black, red, green, blue, orange, yellow, pink,
    -	 * turqoise, white, gray and any hex codes between 000000 and FFFFFF.
    -	 */
    -	function getColor($hex, $default = null)
    -	{
    -		if (!isset($hex))
    -		{
    -			$hex = $default;
    -		}
    -		
    -		$result = null;
    -		$hex = strtolower($hex);
    -		
    -		if ($hex == "black")
    -		{
    -			$result = imageColorAllocate($this->image, 0, 0, 0);
    -		}
    -		else if ($hex == "red")
    -		{
    -			$result = imageColorAllocate($this->image, 255, 0, 0);
    -		}
    -		else if ($hex == "green")
    -		{
    -			$result = imageColorAllocate($this->image, 0, 255, 0);
    -		}
    -		else if ($hex == "blue")
    -		{
    -			$result = imageColorAllocate($this->image, 0, 0, 255);
    -		}
    -		else if ($hex == "orange")
    -		{
    -			$result = imageColorAllocate($this->image, 255, 128, 64);
    -		}
    -		else if ($hex == "yellow")
    -		{
    -			$result = imageColorAllocate($this->image, 255, 255, 0);
    -		}
    -		else if ($hex == "pink")
    -		{
    -			$result = imageColorAllocate($this->image, 255, 0, 255);
    -		}
    -		else if ($hex == "turqoise")
    -		{
    -			$result = imageColorAllocate($this->image, 0, 255, 255);
    -		}
    -		else if ($hex == "white")
    -		{
    -			$result = imageColorAllocate($this->image, 255, 255, 255);
    -		}
    -		else if ($hex == "gray")
    -		{
    -			$result = imageColorAllocate($this->image, 128, 128, 128);
    -		}
    -		else if ($hex == "none")
    -		{
    -			$result = null;
    -		}
    -		else
    -		{
    -	       	$rgb = array_map("hexdec", explode("|", wordwrap(substr($hex, 1), 2, "|", 1)));
    -	       	
    -	       	if (sizeof($rgb) > 2)
    -	       	{
    -				$result = imageColorAllocate($this->image, $rgb[0], $rgb[1], $rgb[2]);
    -	       	}
    -	       	else
    -	       	{
    -	       		$result = imageColorAllocate($this->image, 0, 0, 0);
    -	       	}
    -		}
    -		
    -	 	return $result;
    -	}
    -	
    -	/**
    -	 * Function: offset
    -	 *
    -	 * Creates a new array of x, y sequences where the each coordinate is
    -	 * translated by dx and dy, respectively.
    -	 */
    -	function offset($points, $dx = null, $dy = null)
    -	{
    -		$result = array();
    -		
    -		if ($points != null)
    -		{
    -			if (!isset($dx))
    -			{
    -				$dx = mxConstants::$SHADOW_OFFSETX;
    -			}
    -			
    -			if (!isset($dy))
    -			{
    -				$dy = mxConstants::$SHADOW_OFFSETY;
    -			}
    -			
    -			for ($i = 0; $i < sizeof($points) - 1; $i = $i + 2)
    -			{
    -				array_push($result, $points[$i] + $dx);
    -				array_push($result, $points[$i + 1] + $dy);
    -			}
    -		}
    -		
    -		return $result;
    -	}
    -	
    -	/**
    -	 * Destructor: destroy
    -	 *
    -	 * Destroys all allocated resources.
    -	 */
    -	function destroy()
    -	{
    -		imageDestroy($this->image);
    -	}
    -	
    -	/**
    -	 * Function: drawGraph
    -	 * 
    -	 * Draws the given graph using this canvas.
    -	 */
    -	public static function drawGraph($graph, $clip = null, $bg = null)
    -	{
    -	 	if (!isset($clip))
    -	 	{
    -	 		$clip = $graph->getGraphBounds();
    -	 	}
    -	 	
    -	 	// TODO: Support custom origin in mxGdCanvas
    -	 	// $x = round($clip->x);
    -	 	// $y = round($clip->y);
    -	 	// $width = round($clip->width - $x + $clip->x) + 1;
    -	 	// $height = round($clip->height - $y + $clip->y) + 1;
    -	 	$width = round($clip->width + $clip->x) + 1;
    -	 	$height = round($clip->width + $clip->x) + 1;
    -	 	
    -	 	$canvas = new mxGdCanvas($width, $height, $graph->view->scale, $bg);
    -	 	
    -	 	$graph->drawGraph($canvas);
    -	 	$image = $canvas->getImage();
    -	 	//TODO: $canvas->destroy();
    -	 	
    -	 	return $image;
    -	}
    -
    -}
    -?>
    diff --git a/php/src/canvas/mxHtmlCanvas.php b/php/src/canvas/mxHtmlCanvas.php
    deleted file mode 100644
    index 956675721..000000000
    --- a/php/src/canvas/mxHtmlCanvas.php
    +++ /dev/null
    @@ -1,188 +0,0 @@
    -<?php
    -/**
    - * Copyright (c) 2006-2013, Gaudenz Alder
    - */
    -class mxHtmlCanvas extends mxGdCanvas
    -{
    -
    -	/**
    -	 * Class: mxHtmlCanvas
    -	 *
    -	 * Canvas for drawing graphs using HTML.
    -	 * 
    -	 * Variable: html
    -	 *
    -	 * Holds the html markup.
    -	 */
    -	var $html;
    -
    -	/**
    -	 * Constructor: mxGdCanvas
    -	 *
    -	 * Constructs a new GD canvas. Use a HTML color definition for
    -	 * the optional background parameter, eg. white or #FFFFFF.
    -	 */
    -	function mxHtmlCanvas($scale=1, $basePath = "")
    -	{
    -		parent::mxGdCanvas(null, null, $scale, null, $basePath);
    -		$this->html = "";
    -	}
    -
    -	/**
    -	 * Function: getHtml
    -	 *
    -	 * Gets the HTML that represents the canvas.
    -	 */
    -	function getHtml()
    -	{
    -		return $this->html;
    -	}
    -
    -	/**
    -	 * Function: out
    -	 *
    -	 * Adds the specified string to the output.
    -	 */
    -	function out($string)
    -	{
    -		return $this->html .= "$string\n";
    -	}
    -
    -	/**
    -	 * Function: drawLine
    -	 *
    -	 * Draws the specified line.
    -	 */
    -	function drawLine($x0, $y0, $x1, $y1, $stroke = null, $dashed = false)
    -	{
    - 		$tmpX = min($x0, $x1);
    - 		$tmpY = min($y0, $y1);
    - 		$w = max($x0, $x1) - $tmpX;
    - 		$h = max($y0, $y1) - $tmpY;
    - 		$x0 = $tmpX;
    - 		$y0 = $tmpY;
    - 		
    - 		if ($w == 0 || $h == 0)
    - 		{
    -			$style = "position:absolute;".
    -				"overflow:hidden;".
    -				"left:".$x0."px;".
    -				"top:".$y0."px;".
    -				"width:".$w."px;".
    -				"height:".$h."px;".
    -				"border-color:$stroke;".
    -				"border-style:solid;".
    -				"border-width:1 1 0 0px";
    -	 		$this->out("<DIV STYLE='$style'></DIV>");
    -		}
    -		else
    -		{
    -			$x = $x0 + ($x1 - $x0) / 2;
    -			$this->drawLine($x0, $y0, $x, $y0);
    -			$this->drawLine($x, $y0, $x, $y1);
    -			$this->drawLine($x, $y1, $x1, $y1);
    -		}
    - 	}
    -	
    -	/**
    -	 * Function: drawShape
    -	 *
    -	 * Draws the specified shape.
    -	 */
    -	function drawShape($shape, $x, $y, $w, $h, $stroke=null, $fill=null)
    -	{
    -		$style = "position:absolute;".
    -			"left:".$x."px;".
    -			"top:".$y."px;".
    -			"width:".$w."px;".
    -			"height:".$h."px;".
    -			"border-style:solid;".
    -			"border-color:$stroke;".
    -			"border-width:1px;".
    -			"background-color:$fill;";
    - 		$this->out("<DIV STYLE='$style'></DIV>");
    -	}
    -
    -	/**
    -	 * Function: drawImage
    -	 *
    -	 * Draws the specified image.
    -	 */
    -	function drawImage($x, $y, $w, $h, $image, $aspect = true, $flipH = false, $flipV = false)
    -	{
    -		$style = "position:absolute;".
    -			"left:".$x."px;".
    -			"top:".$y."px;".
    -			"width:".$w."px;".
    -			"height:".$h."px;";
    - 		$this->out("<IMAGE SRC='$image' STYLE='$style'/>");
    -	}
    -
    -	/**
    -	 * Function: drawText
    -	 *
    -	 * Draws the specified text.
    -	 */
    -	function drawText($string, $x, $y, $w, $h, $style)
    -	{
    -		$horizontal = mxUtils::getValue($style, mxConstants::$STYLE_HORIZONTAL, 1);
    -	 	$font = mxUtils::getValue($style, mxConstants::$STYLE_FONTFAMILY,
    -			mxConstants::$W3C_DEFAULT_FONTFAMILY);
    -		$fontSize = mxUtils::getValue($style, mxConstants::$STYLE_FONTSIZE,
    -			mxConstants::$DEFAULT_FONTSIZE) * $this->scale;
    - 		$color = mxUtils::getValue($style, mxConstants::$STYLE_FONTCOLOR, "black");
    -		$align = mxUtils::getValue($style, mxConstants::$STYLE_ALIGN, "center");
    -		$valign = mxUtils::getValue($style, mxConstants::$STYLE_VERTICAL_ALIGN, "middle");
    -
    -		$style = "position:absolute;".
    -			"overflow:hidden;".
    -			"left:".($x-4)."px;".
    -			"width:".$w."px;".
    -			"height:".$h."px;".
    -			"font-family:$font;".
    -			"font-size:".$fontSize."px;".
    -			"color:$color;";
    -			
    -		if ($horizontal)
    -		{
    -			$style .= "top:".($y-5)."px;";
    -		}
    -		else
    -		{
    -			$style .= "top:".($y-$h)."px;";
    -		}
    -		
    -		$string = htmlentities($string);
    -		$string = str_replace("\n", "<br>", $string);
    - 		$this->out("<TABLE STYLE='$style'>".
    -			"<TR><TD ALIGN='$align' VALIGN='$valign'>".
    -			"$string</TD></TR></TABLE>");
    -	}
    -
    -	/**
    -	 * Destructor: destroy
    -	 *
    -	 * Destroy all allocated resources.
    -	 */
    -	function destroy()
    -	{
    -	 	$this->html = "";
    -	}
    -	
    -	/**
    -	 * Function: drawGraph
    -	 * 
    -	 * Draws the given graph using this canvas.
    -	 */
    -	public static function drawGraph($graph, $clip = null, $bg = null)
    -	{
    -	 	$graph->view->validate();
    -
    -	 	$canvas = new mxHtmlCanvas($graph->view->scale);
    -	 	$graph->drawGraph($canvas);
    -	 	
    -	 	return $canvas->getHtml();
    -	}
    -
    -}
    -?>
    diff --git a/php/src/index.txt b/php/src/index.txt
    deleted file mode 100644
    index a8a89faa1..000000000
    --- a/php/src/index.txt
    +++ /dev/null
    @@ -1,19 +0,0 @@
    -Document: API Specification
    -
    -Overview:
    -
    -  This PHP library is divided into 4 packages. The top-level <mxServer>
    -  class dynamically includes everything else.
    -  
    -  The *view* and *model* packages implement the graph component, represented
    -  by <mxGraph>. It refers to a <mxGraphModel> which contains <mxCell>s and
    -  caches the state of the cells in a <mxGraphView>. The cells are painted
    -  using a <mxCanvas> based on the appearance defined in <mxStylesheet>.
    -
    -  The *io* package implements a generic <mxObjectCodec> for turning
    -  PHP objects into XML. The main class is <mxCodec>. <mxCodecRegistry>
    -  is the global registry for custom codecs.
    -
    -Requirements:
    -
    -  The I/O module requires libxml support. The <mxGdCanvas> requires GD support.
    diff --git a/php/src/io/mxCellCodec.php b/php/src/io/mxCellCodec.php
    deleted file mode 100644
    index f1a85048e..000000000
    --- a/php/src/io/mxCellCodec.php
    +++ /dev/null
    @@ -1,210 +0,0 @@
    -<?php
    -/**
    - * Copyright (c) 2006-2013, Gaudenz Alder
    - */
    -class mxCellCodec extends mxObjectCodec
    -{
    -
    -	/**
    -	 * Class: mxCellCodec
    -	 *
    -	 * Codec for <mxCell>s. This class is created and registered
    -	 * dynamically at load time and used implicitely via <mxCodec>
    -	 * and the <mxCodecRegistry>.
    -	 *
    -	 * Transient Fields:
    -	 *
    -	 * - children
    -	 * - edges
    -	 * - states
    -	 * - overlay
    -	 * - mxTransient
    -	 *
    -	 * Reference Fields:
    -	 *
    -	 * - parent
    -	 * - source
    -	 * - target
    -	 * 
    -	 * Constructor: mxObjectCodec
    -	 *
    -	 * Constructs a new codec for the specified template object.
    -	 * The variables in the optional exclude array are ignored by
    -	 * the codec. Variables in the optional idrefs array are
    -	 * turned into references in the XML. The optional mapping
    -	 * may be used to map from variable names to XML attributes.
    -	 *
    -	 * Parameters:
    -	 *
    -	 * template - Prototypical instance of the object to be
    -	 * encoded/decoded.
    -	 * exclude - Optional array of fieldnames to be ignored.
    -	 * idrefs - Optional array of fieldnames to be converted to/from
    -	 * references.
    -	 * mapping - Optional mapping from field- to attributenames.
    -	 */
    -	function mxCellCodec($template)
    -	{
    -		parent::mxObjectCodec($template, array("children", "edges", "states",
    -			"overlay", "mxTransient"), array("parent",
    -			"source", "target"));
    -	}
    -	
    -	/**
    -	 * Override <mxObjectCodec.isExcluded>.
    -	 */
    -	function isExcluded($obj, $attr, $value, $isWrite)
    -	{
    -		return parent::isExcluded($obj, $attr, $value, $isWrite) ||
    -				($isWrite && $attr == "value" && is_object($value) &&
    -			   get_class($value) == "DOMElement");
    -	}
    -
    -	/**
    -	 * Override <mxObjectCodec.afterEncode>.
    -	 */
    -	function afterEncode($enc, $obj, $node)
    -	{
    -		if (is_object($obj->value) && get_class($obj->value) == "DOMElement")
    -		{
    -			// Wraps the graphical annotation up in the
    -			// user object (inversion) by putting the
    -			// result of the default encoding into
    -			// a clone of the user object (node type 1)
    -			// and returning this cloned user object.
    -			$tmp = $node;
    -
    -			$node = $enc->document->importNode($obj->value, true);
    -			$node->appendChild($tmp);
    -						
    -			// Moves the id attribute to the outermost
    -			// XML node, namely the node which denotes
    -			// the object boundaries in the file.
    -			$id = $tmp->getAttribute("id");
    -			$node->setAttribute("id", $id);
    -			$tmp->removeAttribute("id");
    -		}
    -
    -		return $node;
    -	}
    -
    -	/**
    -	 * Override <mxObjectCodec.beforeDecode>.
    -	 */
    -	function beforeDecode($dec, $node, &$obj)
    -	{
    -		$inner = $node;
    -		$classname = $this->getName();
    -		
    -		if ($node->nodeName != $classname)
    -		{
    -			// Passes the inner graphical annotation node to the
    -			// object codec for further processing of the cell.
    -			$tmp = $node->getElementsByTagName($classname)->item(0);
    -			
    -			if (isset($tmp) && $tmp->parentNode == $node)
    -			{
    -				$inner = $tmp;
    -
    -				// Removes annotation and whitespace from node
    -				$tmp2 = $tmp->previousSibling;
    -
    -				while (isset($tmp2) && $tmp2->nodeType == XML_TEXT_NODE)
    -				{
    -					$tmp3 = $tmp2->previousSibling;
    -
    -					if (strlen(trim($tmp2->textContent)) == 0)
    -					{
    -						$tmp2->parentNode->removeChild($tmp2);
    -					}
    -					
    -					$tmp2 = $tmp3;
    -				}
    -				
    -				// Removes more whitespace
    -				$tmp2 = $tmp->nextSibling;
    -				
    -				while (isset($tmp2) && $tmp2->nodeType == XML_TEXT_NODE)
    -				{
    -					$tmp3 = $tmp2->previousSibling;
    -					
    -					if (strlen(trim($tmp2->textContent)) == 0)
    -					{
    -						$tmp2->parentNode->removeChild($tmp2);
    -					}
    -					
    -					$tmp2 = $tmp3;
    -				}
    -				
    -				$tmp->parentNode->removeChild($tmp);
    -			}
    -			else
    -			{
    -				$inner = null;
    -			}
    -			
    -			// Creates the user object out of the XML node
    -			$obj->value = $node->cloneNode(true);
    -			$id = $obj->value->getAttribute("id");
    -			
    -			if (strlen($id) > 0)
    -			{
    -				$obj->setId($id);
    -				$obj->value->removeAttribute("id");
    -			}
    -		}
    -		else
    -		{
    -			$obj->setId($node->getAttribute("id"));
    -		}
    -			
    -		// Preprocesses and removes all Id-references
    -		// in order to use the correct encoder (this)
    -		// for the known references to cells (all).
    -		if (isset($inner))
    -		{
    -			for ($i = 0; $i < sizeof($this->idrefs); $i++)
    -			{
    -				$attr = $this->idrefs[$i];
    -				$ref = $inner->getAttribute($attr);
    -				
    -				if (strlen($ref) > 0)
    -				{
    -					$inner->removeAttribute($attr);
    -					$object = (isset($dec->objects[$ref])) ? $dec->objects[$ref] : null;
    -					
    -					if (!isset($object))
    -					{
    -						$object = $dec->lookup($ref);
    -					}
    -					
    -					if (!isset($object))
    -					{
    -						// Needs to decode forward reference
    -						$element = $dec->getElementById($ref);
    -
    -						if (isset($element))
    -						{
    -							$decoder = mxCodecRegistry::$codecs[$element->nodeName];
    -	
    -							if (!isset($decoder))
    -							{
    -								$decoder = $this;
    -							}
    -
    -							$object = $decoder->decode($dec, $element);
    -						}
    -					}
    -											
    -					$obj->$attr = $object;
    -				}
    -			}
    -		}
    -		
    -		return $inner;
    -	}
    -
    -}
    -
    -mxCodecRegistry::register(new mxCellCodec(new mxCell()));
    -?>
    diff --git a/php/src/io/mxCodec.php b/php/src/io/mxCodec.php
    deleted file mode 100644
    index 4f15fbd67..000000000
    --- a/php/src/io/mxCodec.php
    +++ /dev/null
    @@ -1,474 +0,0 @@
    -<?php
    -/**
    - * Copyright (c) 2006-2013, Gaudenz Alder
    - */
    -class mxCodec
    -{
    -	
    -	/**
    -	 * Class: mxCodec
    -	 *
    -	 * XML codec for PHP object graphs. In order to resolve forward references
    -	 * when reading files the XML document that contains the data must be passed
    -	 * to the constructor.
    -	 * 
    -	 * Variable: document
    -	 *
    -	 * The owner document of the codec.
    -	 */
    -	var $document;
    -	
    -	/**
    -	 * Variable: objects
    -	 *
    -	 * Maps from IDs to objects.
    -	 */
    -	var $objects = array();
    -
    -	/**
    -	 * Variable: elements
    -	 *
    -	 * Maps from IDs to elements.
    -	 */
    -	var $elements = null;
    -	
    -	/**
    -	 * Variable: encodeDefaults
    -	 *
    -	 * Specifies if default values should be encoded.
    -	 * Default is false.
    -	 */
    -	var $encodeDefaults = false;
    -
    -	/**
    -	 * Constructor: mxGraphViewHtmlReader
    -	 *
    -	 * Constructs a new HTML graph view reader.
    -	 */
    -	function mxCodec($document=null)
    -	{
    -		if ($document == null)
    -		{
    -			$document = mxUtils::createXmlDocument();
    -		}
    -		
    -		$this->document = $document;
    -	}
    -
    -	/**
    -	 * Function: putObject
    -	 * 
    -	 * Assoiates the given object with the given ID.
    -	 * 
    -	 * Parameters
    -	 * 
    -	 * id - ID for the object to be associated with.
    -	 * obj - Object to be associated with the ID.
    -	 */
    -	function putObject($id, $object)
    -	{
    -		$this->objects[$id] = $object;
    -
    -		return $object;
    -	}
    -
    -	/**
    -	 * Function: getObject
    -	 *
    -	 * Returns the decoded object for the element with the specified ID in
    -	 * <document>. If the object is not known then <lookup> is used to find an
    -	 * object. If no object is found, then the element with the respective ID
    -	 * from the document is parsed using <decode>.
    -	 */
    -	function getObject($id)
    -	{		
    -		$obj = null;
    -		
    -		if (isset($id))
    -		{
    -			$obj = $this->objects[$id];
    -			
    -			if (!isset($obj))
    -			{
    -				$obj = $this->lookup($id);
    -				
    -				if (!isset($obj))
    -				{
    -					$node = $this->getElementById($id);
    -					
    -					if (isset($node))
    -					{
    -						$obj = $this->decode($node);
    -					}
    -				}
    -			}
    -		}
    -		
    -		return $obj;
    -	}
    -
    -	/**
    -	 * Function: lookup
    -	 *
    -	 * Hook for subclassers to implement a custom lookup
    -	 * mechanism for cell IDs. This implementation always
    -	 * returns null.
    -	 *
    -	 * Parameters:
    -	 *
    -	 * id - ID of the object to be returned.
    -	 */
    -	function lookup($id)
    -	{		
    -		return null;
    -	}
    -
    -	/**
    -	 * Function: getElementById
    -	 *
    -	 * Returns the element with the given ID from <document>.
    -	 *
    -	 * Parameters:
    -	 *
    -	 * id - String that contains the ID.
    -	 */
    -	function getElementById($id)
    -	{
    -		if ($this->elements == null)
    -		{
    -			$this->elements = array();
    -			$this->addElement($this->document->documentElement);
    -		}
    -	
    -		return $this->elements[$id];
    -	}
    -	
    -	/**
    -	 * Function: addElement
    -	 *
    -	 * Adds the given element to <elements> if it has an ID.
    -	 */
    -	function addElement($node)
    -	{
    -		if ($node instanceof DOMElement)
    -		{
    -			$id = $node->getAttribute("id");
    -			
    -			if ($id != null && $this->elements[$id] == null)
    -			{
    -				$this->elements[$id] = $node;
    -			}
    -		}
    -		
    -		$node = $node->firstChild;
    -		
    -		while ($node != null)
    -		{
    -			$this->addElement($node);
    -			$node = $node->nextSibling;
    -		}
    -	}
    -
    -	/**
    -	 * Function: getId
    -	 *
    -	 * Returns the ID of the specified object. This implementation
    -	 * calls <reference> first and if that returns null handles
    -	 * the object as an <mxCell> by returning their IDs using
    -	 * <mxCell.getId>. If no ID exists for the given cell, then
    -	 * an on-the-fly ID is generated using <mxCellPath.create>.
    -	 *
    -	 * Parameters:
    -	 *
    -	 * obj - Object to return the ID for.
    -	 */
    -	function getId($obj)
    -	{
    -		$id = null;
    -		
    -		if (isset($obj))
    -		{
    -			$id = $this->reference($obj);
    -			
    -			if (!isset($id) && mxCodecRegistry::getName($obj) == "mxCell")
    -			{
    -				$id = $obj->getId();
    -
    -				if (!isset($id))
    -				{
    -					// Uses an on-the-fly Id
    -					$id = mxCellPath::create($obj);
    -					
    -					if (strlen($id) == 0)
    -					{
    -						$id = "root";
    -					}
    -				}
    -			}
    -		}
    -		
    -		return $id;
    -	}
    -
    -	/**
    -	 * Function: reference
    -	 *
    -	 * Hook for subclassers to implement a custom method
    -	 * for retrieving IDs from objects. This implementation
    -	 * always returns null.
    -	 *
    -	 * Parameters:
    -	 *
    -	 * obj - Object whose ID should be returned.
    -	 */
    -	function reference($obj)
    -	{
    -		return null;
    -	}
    -	
    -	/**
    -	 * Function: encode
    -	 *
    -	 * Encodes the specified object and returns the resulting
    -	 * XML node.
    -	 *
    -	 * Parameters:
    -	 *
    -	 * obj - Object to be encoded. 
    -	 */
    -	function encode($obj)
    -	{
    -		$node = null;
    -		
    -		if (is_object($obj) || is_array($obj))
    -		{
    -			if (is_array($obj))
    -			{
    -				$enc = new mxObjectCodec(array());
    -			}
    -			else
    -			{
    -				$enc = mxCodecRegistry::getCodec(
    -					mxCodecRegistry::getName($obj));
    -			}
    -			
    -			if (isset($enc))
    -			{
    -				$node = $enc->encode($this, $obj);
    -			}
    -			else
    -			{
    -				if (get_class($obj) == "DOMElement")
    -				{
    -					$node = $obj->cloneNode(true);
    -				}
    -				else
    -				{
    -		    		mxLog::warn("mxCodec.encode: No codec for ".
    -		    			mxCodecRegistry::getName($obj));
    -				}
    -			}
    -		}
    -		
    -		return $node;
    -	}
    -
    -	/**
    -	 * Function: decode
    -	 *
    -	 * Decodes the given XML node. The optional "into"
    -	 * argument specifies an existing object to be
    -	 * used. If no object is given, then a new instance
    -	 * is created using the constructor from the codec.
    -	 *
    -	 * The function returns the passed in object or
    -	 * the new instance if no object was given.
    -	 *
    -	 * Parameters:
    -	 *
    -	 * node - XML node to be decoded.
    -	 * into - Optional object to be decodec into.
    -	 */
    -	function decode($node, $into = null)
    -	{
    -		$obj = null;
    -		
    -		if (isset($node) && $node->nodeType == XML_ELEMENT_NODE)
    -		{
    -			$dec = mxCodecRegistry::getCodec($node->nodeName);
    -			
    -			try
    -			{
    -				if (isset($dec))
    -				{
    -					$obj = $dec->decode($this, $node, $into);
    -				}
    -				else
    -				{
    -					$obj = $node->cloneNode(true);
    -					$obj->removeAttribute("as");
    -				}
    -			}
    -			catch (Exception $ex)
    -			{
    -				// ignore
    -				mxLog::debug("Cannot decode ".$node->nodeName.": $ex");
    -				throw $ex;
    -			}
    -		}
    -		
    -		return $obj;
    -	}
    -
    -	/**
    -	 * Function: encodeCell
    -	 *
    -	 * Encoding of cell hierarchies is built-into the core, but
    -	 * is a higher-level function that needs to be explicitely
    -	 * used by the respective object encoders (eg. <mxModelCodec>,
    -	 * <mxChildChangeCodec> and <mxRootChangeCodec>). This
    -	 * implementation writes the given cell and its children as a
    -	 * (flat) sequence into the given node. The children are not
    -	 * encoded if the optional includeChildren is false. The
    -	 * function is in charge of adding the result into the
    -	 * given node and has no return value.
    -	 *
    -	 * Parameters:
    -	 *
    -	 * cell - <mxCell> to be encoded.
    -	 * node - Parent XML node to add the encoded cell into.
    -	 * includeChildren - Optional boolean indicating if the
    -	 * function should include all descendents. Default is true. 
    -	 */
    -	function encodeCell($cell, $node, $includeChildren=true)
    -	{
    -		$node->appendChild($this->encode($cell));
    -		
    -		if ($includeChildren)
    -		{
    -			$childCount = $cell->getChildCount();
    -			
    -			for ($i = 0; $i < $childCount; $i++)
    -			{
    -				$this->encodeCell($cell->getChildAt($i), $node);
    -			}
    -		}
    -	}
    -
    -	/**
    -	 * Function: decodeCell
    -	 *
    -	 * Decodes cells that have been encoded using inversion, ie.
    -	 * where the user object is the enclosing node in the XML,
    -	 * and restores the group and graph structure in the cells.
    -	 * Returns a new <mxCell> instance that represents the
    -	 * given node.
    -	 *
    -	 * Parameters:
    -	 *
    -	 * node - XML node that contains the cell data.
    -	 * restoreStructures - Optional boolean indicating whether
    -	 * the graph structure should be restored by calling insert
    -	 * and insertEdge on the parent and terminals, respectively.
    -	 * Default is true.
    -	 */
    -	function decodeCell($node, $restoreStructures = true)
    -	{
    -		$cell = null;
    -		
    -		if (isset($node) && $node->nodeType == XML_ELEMENT_NODE)
    -		{
    -			// Tries to find a codec for the given node name. If that does
    -			// not return a codec then the node is the user object (an XML node
    -			// that contains the mxCell, aka inversion).
    -			$decoder = mxCodecRegistry::getCodec($node->nodeName);
    -
    -			// Tries to find the codec for the cell inside the user object.
    -			// This assumes all node names inside the user object are either
    -			// not registered or they correspond to a class for cells.
    -			if (!isset($decoder))
    -			{
    -				$child = $node->firstChild;
    -				
    -				while (isset($child) && !($decoder instanceof mxCellCodec))
    -				{
    -					$decoder = mxCodecRegistry::getCodec($child->nodeName);
    -					$child = $child->nextSibling;
    -				}
    -			}
    -			
    -			if (!($decoder instanceof mxCellCodec))
    -			{
    -				$decoder = mxCodecRegistry::getCodec("mxCell");
    -			}
    -
    -			$cell = $decoder->decode($this, $node);
    -			
    -			if ($restoreStructures)
    -			{
    -				$this->insertIntoGraph($cell);
    -			}
    -		}
    -		
    -		return $cell;
    -	}
    -	
    -	/**
    -	 * Function: insertIntoGraph
    -	 *
    -	 * Inserts the given cell into its parent and terminal cells.
    -	 */
    -	function insertIntoGraph($cell)
    -	{
    -		$parent = $cell->getParent();
    -		$source = $cell->getTerminal(true);
    -		$target = $cell->getTerminal(false);
    -		
    -		// Fixes possible inconsistencies during insert into graph
    -		$cell->setTerminal(null, false);
    -		$cell->setTerminal(null, true);
    -		$cell->setParent(null);
    -		
    -		if (isset($parent))
    -		{
    -			$parent->insert($cell);
    -		}
    -
    -		if (isset($source))
    -		{
    -			$source->insertEdge($cell, true);
    -		}
    -
    -		if (isset($target))
    -		{
    -			$target->insertEdge($cell, false);
    -		}
    -	}
    -	
    -	/**
    -	 * Function: setAttribute
    -	 *
    -	 * Sets the attribute on the specified node to value. This is a
    -	 * helper method that makes sure the attribute and value arguments
    -	 * are not null.
    -	 *
    -	 * Parameters:
    -	 *
    -	 * node - XML node to set the attribute for.
    -	 * attributes - Attributename to be set.
    -	 * value - New value of the attribute.
    -	 */
    -	function setAttribute($node, $attribute, $value)
    -	{
    -		if (is_array($value))
    -		{
    -			error_log("cannot write array $attribute");
    -		}
    -		else if (isset($attribute) && isset($value))
    -		{
    -			$node->setAttribute($attribute, $value);
    -		}
    -	}
    -
    -}
    -?>
    diff --git a/php/src/io/mxCodecRegistry.php b/php/src/io/mxCodecRegistry.php
    deleted file mode 100644
    index 31fdde7f2..000000000
    --- a/php/src/io/mxCodecRegistry.php
    +++ /dev/null
    @@ -1,152 +0,0 @@
    -<?php
    -/**
    - * Copyright (c) 2006-2013, Gaudenz Alder
    - */
    -class mxCodecRegistry
    -{
    -
    -	/**
    -	 * Class: mxCodecRegistry
    -	 *
    -	 * A class to register codecs for objects.
    -	 * 
    -	 * Variable: codecs
    -	 *
    -	 * Maps from constructor names to codecs.
    -	 */
    -	public static $codecs = array();
    -
    -	/**
    -	 * Variable: aliases
    -	 *
    -	 * Maps from classnames to codecnames.
    -	 */
    -	public static $aliases = array();
    -	
    -	/**
    -	 * Function: register
    -	 *
    -	 * Registers a new codec and associates the name of the template constructor
    -	 * in the codec with the codec object. Automatically creates an alias if the
    -	 * codename and the classname are not equal.
    -	 *
    -	 * Parameters:
    -	 *
    -	 * codec - <mxObjectCodec> to be registered.
    -	 */
    -	static function register($codec)
    -	{
    -		if (isset($codec))
    -		{
    -			$name = $codec->getName();
    -			mxCodecRegistry::$codecs[$name] = $codec;
    -			
    -			$classname = mxCodecRegistry::getName($codec->template);
    -			
    -			if ($classname != $name)
    -			{
    -				mxCodecRegistry::addAlias($classname, $name);
    -			}
    -		}
    -		
    -		return $codec;
    -	}
    -
    -	/**
    -	 * Function: addAlias
    -	 *
    -	 * Adds an alias for mapping a classname to a codecname.
    -	 */
    -	static function addAlias($classname, $codecname)
    -	{
    -		mxCodecRegistry::$aliases[$classname] = $codecname;
    -	}
    -	/**
    -	 * Function: getCodec
    -	 *
    -	 * Returns a codec that handles objects that are constructed
    -	 * using the given ctor.
    -	 *
    -	 * Parameters:
    -	 *
    -	 * ctor - JavaScript constructor function. 
    -	 */
    -	static function getCodec($name)
    -	{
    -		$codec = null;
    -		
    -		if (isset($name))
    -		{
    -			if (isset(mxCodecRegistry::$aliases[$name]))
    -			{
    -				$tmp = mxCodecRegistry::$aliases[$name];
    -				
    -				if (strlen($tmp) > 0)
    -				{
    -					$name = $tmp;
    -				}
    -			}
    -			
    -			$codec = (isset(mxCodecRegistry::$codecs[$name])) ?
    -				mxCodecRegistry::$codecs[$name] : null;
    -				
    -			// Registers a new default codec for the given constructor
    -			// if no codec has been previously defined.
    -			if (!isset($codec))
    -			{
    -				try
    -				{
    -					$obj = mxCodecRegistry::getInstanceForName($name);
    -					
    -					if (isset($obj))
    -					{
    -						$codec = new mxObjectCodec($obj);
    -						mxCodecRegistry::register($codec);
    -					}
    -				}
    -				catch (Exception $e)
    -				{
    -					// ignore
    -				}
    -			}
    -		}
    -		
    -		return $codec;
    -	}
    -
    -	/**
    -	 * Function: getInstanceForName
    -	 *
    -	 * Creates and returns a new instance for the given class name.
    -	 */
    -	static function getInstanceForName($name)
    -	{
    -		if (class_exists($name))
    -		{
    -			return new $name();
    -		}
    -		
    -		return null;
    -	}
    -	
    -	/**
    -	 * Function: getName
    -	 *
    -	 * Returns the codec name for the given object instance.
    -	 *
    -	 * Parameters:
    -	 *
    -	 * obj - PHP object to return the codec name for. 
    -	 */
    -	static function getName($obj)
    -	{
    -		if (is_array($obj))
    -		{
    -			return "Array";
    -		}
    -
    -		return get_class($obj);
    -	}
    -
    -}
    -?>
    diff --git a/php/src/io/mxModelCodec.php b/php/src/io/mxModelCodec.php
    deleted file mode 100644
    index dd237a74f..000000000
    --- a/php/src/io/mxModelCodec.php
    +++ /dev/null
    @@ -1,92 +0,0 @@
    -<?php
    -/**
    - * Copyright (c) 2006-2013, Gaudenz Alder
    - */
    -class mxModelCodec extends mxObjectCodec
    -{
    -
    -	/**
    -	 * Class: mxModelCodec
    -	 *
    -	 * Codec for <mxGraphModels>. This class is created and registered
    -	 * dynamically at load time and used implicitly via <mxCodec>
    -	 * and the <mxCodecRegistry>.
    -	 * 
    -	 * Constructor: mxObjectCodec
    -	 *
    -	 * Constructs a new codec for the specified template object.
    -	 * The variables in the optional exclude array are ignored by
    -	 * the codec. Variables in the optional idrefs array are
    -	 * turned into references in the XML. The optional mapping
    -	 * may be used to map from variable names to XML attributes.
    -	 *
    -	 * Parameters:
    -	 *
    -	 * template - Prototypical instance of the object to be
    -	 * encoded/decoded.
    -	 * exclude - Optional array of fieldnames to be ignored.
    -	 * idrefs - Optional array of fieldnames to be converted to/from
    -	 * references.
    -	 * mapping - Optional mapping from field- to attributenames.
    -	 */
    -	function mxModelCodec($template)
    -	{
    -		parent::mxObjectCodec($template);
    -	}
    -	
    -	/**
    -	 * Overrides <mxObjectCodec.encodeObject>.
    -	 */
    -	function encodeObject($enc, $obj, $node)
    -	{
    -		$rootNode = $enc->document->createElement("root");
    -		$enc->encodeCell($obj->getRoot(), $rootNode);
    -		$node->appendChild($rootNode);
    -	}
    -
    -	/**
    -	 * Override <mxObjectCodec.decodeChild>.
    -	 */	
    -	function decodeChild($dec, $child, &$obj)
    -	{
    -		if ($child->nodeName == "root")
    -		{
    -			$this->decodeRoot($dec, $child, $obj);
    -		}
    -		else
    -		{
    -			parent::decodeChild($dec, $child, $obj);
    -		}
    -	}
    -		
    -	/**
    -	 * Override <mxObjectCodec.decodeRoot>.
    -	 */
    -	function decodeRoot($dec, $root, $model)
    -	{
    -		$rootCell = null;
    -		$tmp = $root->firstChild;
    -		
    -		while (isset($tmp))
    -		{
    -			$cell = $dec->decodeCell($tmp);
    -			
    -			if (isset($cell) && $cell->getParent() == null)
    -			{
    -				$rootCell = $cell;
    -			}
    -			
    -			$tmp = $tmp->nextSibling;
    -		}
    -
    -		// Sets the root on the model if one has been decoded
    -		if (isset($rootCell))
    -		{
    -			$model->setRoot($rootCell);
    -		}
    -	}
    -
    -}
    -
    -mxCodecRegistry::register(new mxModelCodec(new mxGraphModel()));
    -?>
    diff --git a/php/src/io/mxObjectCodec.php b/php/src/io/mxObjectCodec.php
    deleted file mode 100644
    index 6bd6938d9..000000000
    --- a/php/src/io/mxObjectCodec.php
    +++ /dev/null
    @@ -1,826 +0,0 @@
    -<?php
    -/**
    - * Copyright (c) 2006-2013, Gaudenz Alder
    - */
    -class mxObjectCodec
    -{
    -	
    -	/**
    -	 * Class: mxObjectCodec
    -	 *
    -	 * XML codec for PHP object graphs.
    -	 * 
    -	 * Implementation note:
    -	 * 
    -	 * The passing of the argument by reference in <decode>, <decodeNode>,
    -	 * <decodeAttributes>, <decodeAttribute>, <decodeChildren>, <decodeChild>,
    -	 * <beforeDecode> and <afterDecode> is required since the object may be an
    -	 * array instance, which needs an explicit reference operator even in PHP 5
    -	 * to be changed in-place.
    -	 * 
    -	 * Variable: template
    -	 *
    -	 * Holds the template object associated with this codec.
    -	 */
    -	var $template;
    -	
    -	/**
    -	 * Variable: exclude
    -	 *
    -	 * Array containing the variable names that should be
    -	 * ignored by the codec.
    -	 */
    -	var $exclude;
    -	
    -	/**
    -	 * Variable: idrefs
    -	 *
    -	 * Array containing the variable names that should be
    -	 * turned into or converted from references. See
    -	 * <mxCodec.getId> and <mxCodec.getObject>.
    -	 */
    -	var $idrefs;
    -	
    -	/**
    -	 * Variable: mapping
    -	 *
    -	 * Maps from from fieldnames to XML attribute names.
    -	 */
    -	var $mapping;
    -	
    -	/**
    -	 * Variable: reverse
    -	 *
    -	 * Maps from from XML attribute names to fieldnames.
    -	 */
    -	var $reverse;
    -
    -	/**
    -	 * Constructor: mxObjectCodec
    -	 *
    -	 * Constructs a new codec for the specified template object.
    -	 * The variables in the optional exclude array are ignored by
    -	 * the codec. Variables in the optional idrefs array are
    -	 * turned into references in the XML. The optional mapping
    -	 * may be used to map from variable names to XML attributes.
    -	 *
    -	 * Parameters:
    -	 *
    -	 * template - Prototypical instance of the object to be
    -	 * encoded/decoded.
    -	 * exclude - Optional array of fieldnames to be ignored.
    -	 * idrefs - Optional array of fieldnames to be converted to/from
    -	 * references.
    -	 * mapping - Optional mapping from field- to attributenames.
    -	 */
    -	function mxObjectCodec($template, $exclude = array(),
    -		$idrefs = array(), $mapping = array())
    -	{
    -		$this->template = $template;
    -		
    -		$this->exclude = $exclude;
    -		$this->idrefs = $idrefs;
    -		$this->mapping = $mapping;
    -		
    -		$this->reverse = array();
    -		
    -		foreach($mapping as $key => $value)
    -		{
    -			$this->reverse[$value] = $key;
    -		}
    -	}
    -	
    -	/**
    -	 * Function: getName
    -	 *
    -	 * Creates a new instance of the template for this codec.
    -	 */
    -	function getName()
    -	{
    -		return mxCodecRegistry::getName($this->template);
    -	}
    -	
    -	/**
    -	 * Function: cloneTemplate
    -	 *
    -	 * Creates a new instance of the template for this codec.
    -	 */
    -	function cloneTemplate()
    -	{
    -		if (is_array($this->template))
    -		{
    -			return array();
    -		}
    -		else
    -		{
    -			$tmp = get_class($this->template);
    -
    -			return new $tmp();
    -		}
    -	}
    -	
    -	/**
    -	 * Function: getFieldName
    -	 * 
    -	 * Returns the fieldname for the given attributename.
    -	 * Looks up the value in the <reverse> mapping or returns
    -	 * the input if there is no reverse mapping for the
    -	 * given name.
    -	 */
    -	function getFieldName($attributename)
    -	{
    -		if ($attributename != null)
    -		{
    -			$mapped = ((in_array($attributename, $this->reverse))) ?
    -				$this->reverse[$attributename] : null;
    -			
    -			if ($mapped != null)
    -			{
    -				$attributename = $mapped;
    -			}
    -		}
    -		
    -		return $attributename;
    -	}
    -
    -	/**
    -	 * Function: getAttributeName
    -	 * 
    -	 * Returns the attributename for the given fieldname.
    -	 * Looks up the value in the <mapping> or returns
    -	 * the input if there is no mapping for the
    -	 * given name.
    -	 */
    -	function getAttributeName($fieldname)
    -	{
    -		if (isset($fieldname) && isset($this->mapping[$fieldname]))
    -		{
    -			$fieldname = $this->mapping[$fieldname];
    -		}
    -		
    -		return $fieldname;
    -	}
    -
    -	/**
    -	 * Function: isExcluded
    -	 *
    -	 * Returns true if the given attribute is to be ignored by the codec. This
    -	 * implementation returns true if the given fieldname is in <exclude> or
    -	 * if the fieldname equals <mxObjectIdentity.FIELD_NAME>.
    -	 *
    -	 * Parameters:
    -	 *
    -	 * obj - Object instance that contains the field.
    -	 * attr - Fieldname of the field.
    -	 * value - Value of the field.
    -	 * write - Boolean indicating if the field is being encoded or decoded.
    -	 * Write is true if the field is being encoded, else it is being decoded.
    -	 */
    -	function isExcluded($obj, $attr, $value, $write)
    -	{
    -		return mxUtils::indexOf($this->exclude, $attr) >= 0;
    -	}
    -	
    -	/**
    -	 * Function: isReference
    -	 *
    -	 * Returns true if the given fieldname is to be treated
    -	 * as a textual reference (ID). This implementation returns
    -	 * true if the given fieldname is in <idrefs>.
    -	 *
    -	 * Parameters:
    -	 *
    -	 * obj - Object instance that contains the field.
    -	 * attr - Fieldname of the field.
    -	 * value - Value of the field. 
    -	 * write - Boolean indicating if the field is being encoded or decoded.
    -	 * Write is true if the field is being encoded, else it is being decoded.
    -	 */
    -	function isReference($obj, $attr, $value, $write)
    -	{
    -		return mxUtils::indexOf($this->idrefs, $attr) >= 0;
    -	}
    -
    -	/**
    -	 * Function: encode
    -	 *
    -	 * Encodes the specified object and returns a node
    -	 * representing then given object. Calls <beforeEncode>
    -	 * after creating the node and <afterEncode> with the 
    -	 * resulting node after processing.
    -	 *
    -	 * Enc is a reference to the calling encoder. It is used
    -	 * to encode complex objects and create references.
    -	 *
    -	 * This implementation encodes all variables of an
    -	 * object according to the following rules:
    -	 *
    -	 * - If the variable name is in <exclude> then it is ignored.
    -	 * - If the variable name is in <idrefs> then <mxCodec.getId>
    -	 * is used to replace the object with its ID.
    -	 * - The variable name is mapped using <mapping>.
    -	 * - If obj is an array and the variable name is numeric
    -	 * (ie. an index) then it is not encoded.
    -	 * - If the value is an object, then the codec is used to
    -	 * create a child node with the variable name encoded into
    -	 * the "as" attribute.
    -	 * - Else, if <encodeDefaults> is true or the value differs
    -	 * from the template value, then ...
    -	 * - ... if obj is not an array, then the value is mapped to
    -	 * an attribute.
    -	 * - ... else if obj is an array, the value is mapped to an
    -	 * add child with a value attribute or a text child node,
    -	 * if the value is a function.
    -	 *
    -	 * If no ID exists for a variable in <idrefs> or if an object
    -	 * cannot be encoded, a warning is issued using <mxLog.warn>.
    -	 *
    -	 * Returns the resulting XML node that represents the given
    -	 * object.
    -	 *
    -	 * Parameters:
    -	 *
    -	 * enc - <mxCodec> that controls the encoding process.
    -	 * obj - Object to be encoded.
    -	 */
    -	function encode($enc, $obj)
    -	{
    -		$node = $enc->document->createElement($this->getName());
    -		
    -		$obj = $this->beforeEncode($enc, $obj, $node);
    -		$this->encodeObject($enc, $obj, $node);
    -		
    -		return $this->afterEncode($enc, $obj, $node);
    -	}
    -		
    -	/**
    -	 * Function: encodeObject
    -	 *
    -	 * Encodes the value of each member in then given obj
    -	 * into the given node using <encodeValue>.
    -	 * 
    -	 * Parameters:
    -	 *
    -	 * enc - <mxCodec> that controls the encoding process.
    -	 * obj - Object to be encoded.
    -	 * node - XML node that contains the encoded object.
    -	 */
    -	function encodeObject($enc, $obj, $node)
    -	{
    -		$enc->setAttribute($node, "id", $enc->getId($obj));
    -		
    -		if (is_array($obj))
    -		{
    -			$count = sizeof($obj);
    -
    -			for ($i = 0; $i < $count; $i++)
    -			{
    -				$this->encodeValue($enc, $obj, null, $obj[$i], $node);
    -			}
    -		}
    -		else
    -		{
    -			$vars = get_object_vars($obj);
    -			
    -		    foreach ($vars as $name => $value)
    -		    {
    -		    	if ($value != null &&
    -		    		!$this->isExcluded($obj, $name, $value, true))
    -		    	{
    -		    		if (is_numeric($name))
    -		    		{
    -		    			unset($name);
    -		    		}
    -		    		
    -		    		$this->encodeValue($enc, $obj, $name, $value, $node);
    -		    	}
    -		    }
    -		}
    -	}
    -	
    -	/**
    -	 * Function: encodeValue
    -	 * 
    -	 * Converts the given value according to the mappings
    -	 * and id-refs in this codec and uses <writeAttribute>
    -	 * to write the attribute into the given node.
    -	 * 
    -	 * Parameters:
    -	 *
    -	 * enc - <mxCodec> that controls the encoding process.
    -	 * obj - Object whose property is going to be encoded.
    -	 * name - XML node that contains the encoded object.
    -	 * value - Value of the property to be encoded.
    -	 * node - XML node that contains the encoded object.
    -	 */
    -	function encodeValue($enc, $obj, $name, $value, $node)
    -	{
    -		if ($value != null)
    -		{
    -			if ($this->isReference($obj, $name, $value, true))
    -			{
    -				$tmp = $enc->getId($value);
    -				
    -				if (!isset($tmp))
    -				{
    -			    	mxLog::warn("mxObjectCodec.encode: No ID for value of ".
    -			    		$this->getName().".$name of type ".get_class($value));
    -			    	return; // exit
    -			    }
    -			    
    -			    $value = $tmp;
    -			}
    -
    -			$defaults = (is_object($this->template)) ? get_object_vars($this->template) : null;
    -			$defaultValue = (isset($defaults[$name])) ? $defaults[$name] : null;
    -			
    -			// Checks if the value is a named default value
    -			if (!isset($name) || $enc->encodeDefaults || $defaultValue !== $value)
    -			{
    -				$name = $this->getAttributeName($name);
    -				$this->writeAttribute($enc, $obj, $name, $value, $node);	
    -			}
    -		}
    -	}
    -
    -	/**
    -	 * Function: writeAttribute
    -	 * 
    -	 * Writes the given value into node using <writePrimitiveAttribute>
    -	 * or <writeComplexAttribute> depending on the type of the value.
    -	 */
    -	function writeAttribute($enc, $obj, $attr, $value, $node)
    -	{
    -		if (!is_object($value) && !is_array($value) /* primitive type */)
    -		{
    -			$this->writePrimitiveAttribute($enc, $obj, $attr, $value, $node);
    -		}
    -		else /* complex type */
    -		{
    -			$this->writeComplexAttribute($enc, $obj, $attr, $value, $node);
    -    	}
    -    }
    -	
    -	/**
    -	 * Function: writePrimitiveAttribute
    -	 * 
    -	 * Writes the given value as an attribute of the given node.
    -	 */
    -	function writePrimitiveAttribute($enc, $obj, $attr, $value, $node)
    -	{
    -		$value = $this->convertValueToXml($value);
    -		
    -		if (!isset($attr))
    -		{
    -    		$child = $enc->document->createElement("add");
    -    		
    -    		// TODO: Handle "as" attribute for maps here
    -	    	$enc->setAttribute($child, "value", $value);
    -    		$node->appendChild($child);
    -    	}
    -    	else
    -    	{
    -        	$enc->setAttribute($node, $attr, $value);
    -    	}		
    -	}
    -		
    -	/**
    -	 * Function: writeComplexAttribute
    -	 * 
    -	 * Writes the given value as a child node of the given node.
    -	 */
    -	function writeComplexAttribute($enc, $obj, $attr, $value, $node)
    -	{
    -    	$child = $enc->encode($value);
    -    	
    -    	if (isset($child))
    -    	{
    -    		if (isset($attr))
    -    		{
    -	    		$child->setAttribute("as", $attr);
    -	    	}
    -	    	
    -	    	$node->appendChild($child);
    -    	}
    -    	else
    -    	{
    -    		mxLog::warn("mxObjectCodec.encode: No node for value of ".
    -    			$this->getName().".$attr");
    -    	}
    -	}
    -	
    -	/**
    -	 * Function: convertValueToXml
    -	 * 
    -	 * Returns the given value without applying a conversion.
    -	 */
    -	function convertValueToXml($value)
    -	{
    -		return $value;
    -	}
    -				
    -	/**
    -	 * Function: convertValueFromXml
    -	 * 
    -	 * Returns the given value. In PHP there is no need to convert the
    -	 * boolean strings "0" and "1" to their numeric / boolean values.
    -	 */
    -	function convertValueFromXml($value)
    -	{
    -		return $value;
    -	}
    -
    -	/**
    -	 * Function: beforeEncode
    -	 *
    -	 * Hook for subclassers to pre-process the object before
    -	 * encoding. This returns the input object. The return
    -	 * value of this function is used in <encode> to perform
    -	 * the default encoding into the given node.
    -	 *
    -	 * Parameters:
    -	 *
    -	 * enc - <mxCodec> that controls the encoding process.
    -	 * obj - Object to be encoded.
    -	 * node - XML node to encode the object into.
    -	 */
    -	function beforeEncode($enc, $obj, $node)
    -	{
    -		return $obj;
    -	}
    -	
    -	/**
    -	 * Function: afterEncode
    -	 *
    -	 * Hook for subclassers to post-process the node
    -	 * for the given object after encoding and return the
    -	 * post-processed node. This implementation returns 
    -	 * the input node. The return value of this method
    -	 * is returned to the encoder from <encode>.
    -	 *
    -	 * Parameters:
    -	 *
    -	 * enc - <mxCodec> that controls the encoding process.
    -	 * obj - Object to be encoded.
    -	 * node - XML node that represents the default encoding.
    -	 */
    -	function afterEncode($enc, $obj, $node)
    -	{
    -		return $node;
    -	}
    -
    -	/**
    -	 * Function: decode
    -	 *
    -	 * Parses the given node into the object or returns a new object
    -	 * representing the given node.
    -	 *
    -	 * Dec is a reference to the calling decoder. It is used to decode
    -	 * complex objects and resolve references.
    -	 *
    -	 * If a node has an id attribute then the object cache is checked for the
    -	 * object. If the object is not yet in the cache then it is constructed
    -	 * using the constructor of <template> and cached in <mxCodec.objects>.
    -	 *
    -	 * This implementation decodes all attributes and childs of a node
    -	 * according to the following rules:
    -	 *
    -	 * - If the variable name is in <exclude> or if the attribute name is "id"
    -	 * or "as" then it is ignored.
    -	 * - If the variable name is in <idrefs> then <mxCodec.getObject> is used
    -	 * to replace the reference with an object.
    -	 * - The variable name is mapped using a reverse <mapping>.
    -	 * - If the value has a child node, then the codec is used to create a
    -	 * child object with the variable name taken from the "as" attribute.
    -	 * - If the object is an array and the variable name is empty then the
    -	 * value or child object is appended to the array.
    -	 * - If an add child has no value or the object is not an array then
    -	 * the child text content is evaluated using <mxUtils.eval>.
    -	 *
    -	 * For add nodes where the object is not an array and the variable name
    -	 * is defined, the default mechanism is used, allowing to override/add
    -	 * methods as follows:
    -	 *
    -	 * (code)
    -	 * <Object>
    -	 *   <add as="hello"><![CDATA[
    -	 *     function(arg1) {
    -	 *       alert('Hello '+arg1);
    -	 *     }
    -	 *   ]]></add>
    -	 * </Object>
    -	 * (end) 
    -	 *
    -	 * If no object exists for an ID in <idrefs> a warning is issued
    -	 * using <mxLog.warn>.
    -	 *
    -	 * Returns the resulting object that represents the given XML node
    -	 * or the object given to the method as the into parameter.
    -	 *
    -	 * Parameters:
    -	 *
    -	 * dec - <mxCodec> that controls the decoding process.
    -	 * node - XML node to be decoded.
    -	 * into - Optional objec to encode the node into.
    -	 */
    -	function decode($dec, $node, &$into = null)
    -	{
    -		$id = $node->getAttribute("id");
    -		$obj = null;
    -		
    -		if (array_key_exists($id, $dec->objects))
    -		{
    -			$obj = $dec->objects[$id];
    -		}
    -
    -		if (!isset($obj))
    -		{
    -			if (isset($into))
    -			{
    -				$obj = $into;
    -			}
    -			else
    -			{
    -				$obj = $this->cloneTemplate();
    -			}
    -			
    -			if (strlen($id) > 0)
    -			{
    -				$dec->putObject($id, $obj);
    -			}
    -		}
    -
    -		$node = $this->beforeDecode($dec, $node, $obj);
    -		$this->decodeNode($dec, $node, $obj);
    -
    -	    return $this->afterDecode($dec, $node, $obj);
    -	}		
    -	
    -	/**
    -	 * Function: decodeNode
    -	 * 
    -	 * Calls <decodeAttributes> and <decodeChildren> for the given node.
    -	 */	
    -	function decodeNode($dec, $node, &$obj)
    -	{
    -		if (isset($node))
    -		{
    -			$this->decodeAttributes($dec, $node, $obj);
    -			$this->decodeChildren($dec, $node, $obj);
    -		}
    -	}
    -
    -	/**
    -	 * Function: decodeAttributes
    -	 * 
    -	 * Decodes all attributes of the given node using <decodeAttribute>.
    -	 */	
    -	function decodeAttributes($dec, $node, &$obj)
    -	{
    -		$attrs = $node->attributes;
    -
    -		if ($attrs != null)
    -		{
    -			for ($i = 0; $i < $attrs->length; $i++)
    -			{
    -				$this->decodeAttribute($dec, $attrs->item($i), $obj);
    -			}
    -		}
    -	}	
    -
    -	/**
    -	 * Function: decodeAttribute
    -	 * 
    -	 * Reads the given attribute into the specified object.
    -	 */	
    -	function decodeAttribute($dec, $attr, &$obj)
    -	{
    -		$name = $attr->nodeName;
    -
    -		if ($name != "as" && $name != "id")
    -		{
    -			// Converts the string true and false to their boolean values.
    -			// This may require an additional check on the obj to see if
    -			// the existing field is a boolean value or uninitialized, in
    -			// which case we may want to convert true and false to a string.
    -			$value = $this->convertValueFromXml($attr->nodeValue);
    -			$fieldname = $this->getFieldName($name);
    -			
    -			if ($this->isReference($obj, $fieldname, $value, false))
    -			{
    -				$tmp = $dec->getObject($value);
    -				
    -				if (!isset($tmp))
    -				{
    -			    	mxLog::warn("mxObjectCodec.decode: No object for ".
    -			    		$this->getName().".$fieldname=$value");
    -			    	return; // exit
    -			    }
    -			    
    -			    $value = $tmp;
    -			}
    -
    -			if (!$this->isExcluded($obj, $fieldname, $value, false))
    -			{
    -				//mxLog.debug(mxCodecRegistry::getName($obj)."$name=$value");
    -				$obj->$fieldname = $value;
    -			}
    -		}
    -	}
    -
    -	/**
    -	 * Function: decodeChildren
    -	 * 
    -	 * Decodec all children of the given node using <decodeChild>.
    -	 */	
    -	function decodeChildren($dec, $node, &$obj)
    -	{
    -		$child = $node->firstChild;
    -		
    -		while ($child != null)
    -		{
    -			$tmp = $child->nextSibling;
    -			
    -			if ($child->nodeType == XML_ELEMENT_NODE &&
    -				!$this->processInclude($dec, $child, $obj))
    -			{
    -				$this->decodeChild($dec, $child, $obj);
    -			}
    -			
    -			$child = $tmp;
    -		}
    -	}
    -
    -	/**
    -	 * Function: decodeChild
    -	 * 
    -	 * Reads the specified child into the given object.
    -	 */	
    -	function decodeChild($dec, $child, &$obj)
    -	{
    -		$fieldname = $this->getFieldName($child->getAttribute("as"));
    -		
    -		if (!isset($fieldname) ||
    -			!$this->isExcluded($obj, $fieldname, $child, false))
    -		{
    -			$template = $this->getFieldTemplate($obj, $fieldname, $child);
    -			$value = null;
    -			
    -			if ($child->nodeName == "add")
    -			{
    -				$value = $child->getAttribute("value");
    -				
    -				if (!isset($value))
    -				{
    -					// TODO: Evaluate text content
    -					//$value = eval($child->get_content());
    -					//mxLog.debug('Decoded '+fieldname+' '+mxUtils.getTextContent(child));
    -				}
    -			}
    -			else
    -			{
    -				
    -				$value = $dec->decode($child, $template);
    -			}
    -			
    -			$this->addObjectValue($obj, $fieldname, $value, $template);
    -		}
    -	}
    -		
    -	/**
    -	 * Function: getFieldTemplate
    -	 * 
    -	 * Returns the template instance for the given field. This returns the
    -	 * value of the field, null if the value is an array or an empty collection
    -	 * if the value is a collection. The value is then used to populate the
    -	 * field for a new instance. For strongly typed languages it may be
    -	 * required to override this to return the correct collection instance
    -	 * based on the encoded child.
    -	 */
    -	function getFieldTemplate(&$obj, $fieldname, $child)
    -	{
    -		$template = (is_object($obj)) ? $obj->$fieldname : null;
    -		
    -		// Non-empty arrays are replaced completely
    -		if (is_array($template) && count($template) > 0)
    -		{
    -			$template = null;
    -		}
    -		
    -		return $template;
    -	}
    -		
    -	/**
    -	 * Function: addObjectValue
    -	 * 
    -	 * Sets the decoded child node as a value of the given object. If the
    -	 * object is a map, then the value is added with the given fieldname as a
    -	 * key. If the fieldname is not empty, then setFieldValue is called or
    -	 * else, if the object is a collection, the value is added to the
    -	 * collection. For strongly typed languages it may be required to
    -	 * override this with the correct code to add an entry to an object.
    -	 */
    -	function addObjectValue(&$obj, $fieldname, $value, $template)
    -	{
    -		if ($value !== null && ($template == null || $value != $template))
    -		{	
    -			if (isset($fieldname) && strlen($fieldname) > 0)
    -			{
    -				$obj->$fieldname = $value;
    -			}
    -			else
    -			{
    -				array_push($obj, $value);
    -			}
    -			//mxLog.debug('Decoded '+mxUtils.getFunctionName(obj.constructor)+'.'+fieldname+': '+value);
    -		}
    -	}
    -	
    -	/**
    -	 * Function: processInclude
    -	 *
    -	 * Returns true if the given node is an include directive and
    -	 * executes the include by decoding the XML document. Returns
    -	 * false if the given node is not an include directive.
    -	 *
    -	 * Parameters:
    -	 *
    -	 * dec - <mxCodec> that controls the encoding/decoding process.
    -	 * node - XML node to be checked.
    -	 * into - Optional object to pass-thru to the codec.
    -	 */
    -	function processInclude($dec, $node, $into)
    -	{
    -		if ($node->nodeName == "include")
    -		{
    -			$name = $node->getAttribute("name");
    -			
    -			if (isset($name))
    -			{
    -				try
    -				{
    -					$xml = mxUtils::loadXmlDocument($name)->documentElement;
    -					
    -					if (isset($xml))
    -					{
    -						$dec->decode($xml, $into);
    -					}
    -				}
    -				catch (Exception $e)
    -				{
    -					// ignore
    -				}
    -			}
    -			
    -			return true;
    -		}
    -		
    -		return false;
    -	}
    -	
    -	/**
    -	 * Function: beforeDecode
    -	 *
    -	 * Hook for subclassers to pre-process the node for
    -	 * the specified object and return the node to be
    -	 * used for further processing by <decode>.
    -	 * The object is created based on the template in the 
    -	 * calling method and is never null. This implementation
    -	 * returns the input node. The return value of this
    -	 * function is used in <decode> to perform
    -	 * the default decoding into the given object.
    -	 *
    -	 * Parameters:
    -	 *
    -	 * dec - <mxCodec> that controls the decoding process.
    -	 * node - XML node to be decoded.
    -	 * obj - Object to encode the node into.
    -	 */
    -	function beforeDecode($dec, $node, &$obj)
    -	{
    -		return $node;
    -	}
    -	
    -	/**
    -	 * Function: afterDecode
    -	 *
    -	 * Hook for subclassers to post-process the object after
    -	 * decoding. This implementation returns the given object
    -	 * without any changes. The return value of this method
    -	 * is returned to the decoder from <decode>.
    -	 *
    -	 * Parameters:
    -	 *
    -	 * enc - <mxCodec> that controls the encoding process.
    -	 * node - XML node to be decoded.
    -	 * obj - Object that represents the default decoding.
    -	 */
    -	function afterDecode($dec, $node, &$obj)
    -	{
    -		return $obj;
    -	}
    -
    -}
    -
    -mxCodecRegistry::register(new mxObjectCodec(array()));
    -?>
    diff --git a/php/src/io/mxStylesheetCodec.php b/php/src/io/mxStylesheetCodec.php
    deleted file mode 100644
    index bd9c5fcfe..000000000
    --- a/php/src/io/mxStylesheetCodec.php
    +++ /dev/null
    @@ -1,181 +0,0 @@
    -<?php
    -/**
    - * Copyright (c) 2006-2013, Gaudenz Alder
    - */
    -class mxStylesheetCodec extends mxObjectCodec
    -{
    -
    -	/**
    -	 * Class: mxStylesheetCodec
    -	 *
    -	 * Codec for <mxStylesheets>. This class is created and registered
    -	 * dynamically at load time and used implicitely via <mxCodec>
    -	 * and the <mxCodecRegistry>.
    -	 * 
    -	 * Constructor: mxObjectCodec
    -	 *
    -	 * Constructs a new codec for the specified template object.
    -	 * The variables in the optional exclude array are ignored by
    -	 * the codec. Variables in the optional idrefs array are
    -	 * turned into references in the XML. The optional mapping
    -	 * may be used to map from variable names to XML attributes.
    -	 *
    -	 * Parameters:
    -	 *
    -	 * template - Prototypical instance of the object to be
    -	 * encoded/decoded.
    -	 * exclude - Optional array of fieldnames to be ignored.
    -	 * idrefs - Optional array of fieldnames to be converted to/from
    -	 * references.
    -	 * mapping - Optional mapping from field- to attributenames.
    -	 */
    -	function mxStylesheetCodec($template)
    -	{
    -		parent::mxObjectCodec($template);
    -	}
    -	
    -	/**
    -	 * Override <mxObjectCodec.encode>.
    -	 */
    -	function encode($enc, $obj)
    -	{
    -		$node = $enc->document->createElement($this->getName());
    -		
    -		foreach ($obj->styles as $i => $value)
    -		{
    -			$styleNode = $enc->document->createElement("add");
    -			
    -			if (isset($i))
    -			{
    -				$styleNode->setAttribute("as", $i);
    -				
    -				foreach ($style as $j => $value)
    -				{
    -					$value = $this->getStringValue($j, $value);
    -					
    -					if (isset($value))
    -					{
    -						$entry = $enc->document->createElement("add");
    -						$entry->setAttribute("value", $value);
    -						$entry->setAttribute("as", $j);
    -						$styleNode->appendChild($entry);
    -					}
    -				}
    -				
    -				if ($styleNode->getChildCount() > 0)
    -				{
    -					$node->appendChild($styleNode);
    -				}
    -			}
    -		}
    -		
    -	    return node;
    -	}
    -		
    -	/**
    -	 * Returns the string for encoding the given value.
    -	 */
    -	function getStringValue($key, $value)
    -	{
    -		return (!function_exists($value) && !is_object($value)) ? $value : null;
    -	}
    -	
    -	/**
    -	 * Override <mxObjectCodec.decode>.
    -	 */
    -	function decode($dec, $node, &$into = null)
    -	{
    -		$id = $node->getAttribute("id");
    -		$obj = (in_array($id, $dec->objects)) ? $dec->objects[$id] : null;
    -		
    -		if (!isset($obj))
    -		{
    -			if (isset($into))
    -			{
    -				$obj = $into;
    -			}
    -			else
    -			{
    -				$tmp = get_class($this->template);
    -				$obj = new $tmp();
    -			}
    -			
    -			if (isset($id))
    -			{
    -				$dec->putObject($id, $obj);
    -			}
    -		}
    -
    -		$node = $node->firstChild;
    -		
    -		while (isset($node))
    -		{
    -			if (!$this->processInclude($dec, $node, $obj) &&
    -				$node->nodeName == "add")
    -			{
    -				$as = $node->getAttribute("as");
    -				
    -				if (strlen($as) > 0)
    -				{
    -					$extend = $node->getAttribute("extend");
    -
    -					$style = (strlen($extend) > 0 &&
    -						isset($obj->styles[$extend])) ?
    -						array_slice($obj->styles[$extend], 0) :
    -						null;					
    -					
    -					if (!isset($style))
    -					{
    -						$style = array();
    -					}
    -					
    -					$entry = $node->firstChild;
    -					
    -					while (isset($entry))
    -					{
    -						if ($entry->nodeType == XML_ELEMENT_NODE)
    -						{
    -							$key = $entry->getAttribute("as");
    -						 	
    -						 	if ($entry->nodeName == "add")
    -						 	{
    -							 	$text = $entry->textContent;
    -							 	$value = null;
    -							 	
    -							 	if (isset($text) && strlen($text) > 0)
    -							 	{
    -							 		$value = mxUtils::evaluate($text);
    -							 	}
    -							 	else
    -							 	{
    -							 		$value = $entry->getAttribute("value");
    -								}
    -								
    -								if ($value != null)
    -								{
    -									$style[$key] = $value;
    -								}
    -						 	}
    -						 	else if ($entry->nodeName == "remove")
    -						 	{
    -						 		unset($style[$key]);
    -						 	}
    -						}
    -						
    -						$entry = $entry->nextSibling;
    -					}
    -				
    -					$obj->putCellStyle($as, $style);
    -				}
    -			}
    -			
    -			$node = $node->nextSibling;
    -		}
    -		
    -		return $obj;
    -	}
    -
    -}
    -
    -mxCodecRegistry::register(new mxStylesheetCodec(new mxStylesheet()));
    -?>
    diff --git a/php/src/model/mxCell.php b/php/src/model/mxCell.php
    deleted file mode 100644
    index 5c91cbb47..000000000
    --- a/php/src/model/mxCell.php
    +++ /dev/null
    @@ -1,751 +0,0 @@
    -<?php
    -/**
    - * Copyright (c) 2006-2013, Gaudenz Alder
    - */
    -class mxCell
    -{
    -
    -	/**
    -	 * Class: mxCell
    -	 * 
    -	 * Cells are the elements of the graph model. They represent the state
    -	 * of the groups, vertices and edges in a graph.
    -	 * 
    -	 * Variable: id
    -	 *
    -	 * Holds the Id. Default is null.
    -	 */
    -	var $id = null;
    -
    -	/**
    -	 * Variable: value
    -	 *
    -	 * Holds the user object. Default is null.
    -	 */
    -	var $value = null;
    -
    -	/**
    -	 * Variable: geometry
    -	 *
    -	 * Holds the <mxGeometry>. Default is null.
    -	 */
    -	var $geometry = null;
    -
    -	/**
    -	 * Variable: style
    -	 *
    -	 * Holds the style as a string of the form [(stylename|key=value);].
    -	 * Default is null.
    -	 */
    -	var $style = null;
    -
    -	/**
    -	 * Variable: vertex
    -	 *
    -	 * Specifies whether the cell is a vertex. Default is false.
    -	 */
    -	var $vertex = false;
    -
    -	/**
    -	 * Variable: edge
    -	 *
    -	 * Specifies whether the cell is an edge. Default is false.
    -	 */
    -	var $edge = false;
    -
    -	/**
    -	 * Variable: connectable
    -	 *
    -	 * Specifies whether the cell is connectable. Default is true.
    -	 */
    -	var $connectable = true;
    -
    -	/**
    -	 * Variable: visible
    -	 *
    -	 * Specifies whether the cell is visible. Default is true.
    -	 */
    -	var $visible = true;
    -
    -	/**
    -	 * Variable: collapsed
    -	 *
    -	 * Specifies whether the cell is collapsed. Default is false.
    -	 */
    -	var $collapsed = false;
    -
    -	/**
    -	 * Variable: parent
    -	 *
    -	 * Reference to the parent cell.
    -	 */
    -	var $parent = null;
    -
    -	/**
    -	 * Variable: source
    -	 *
    -	 * Reference to the source terminal.
    -	 */
    -	var $source = null;
    -
    -	/**
    -	 * Variable: target
    -	 *
    -	 * Reference to the target terminal.
    -	 */
    -	var $target = null;
    -
    -	/**
    -	 * Variable: children
    -	 *
    -	 * Holds the child cells.
    -	 */
    -	var $children = null; // transient
    -
    -	/**
    -	 * Variable: edges
    -	 *
    -	 * Holds the edges.
    -	 */
    -	var $edges = null; // transient
    -
    -	/**
    -	 * Constructor: mxCell
    -	 *
    -	 * Constructs a new cell to be used in a graph model.
    -	 * This method invokes <onInit> upon completion.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * value - Optional object that represents the cell value.
    -	 * geometry - Optional <mxGeometry> that specifies the geometry.
    -	 * style - Optional formatted string that defines the style.
    -	 */
    -	function mxCell($value = null, $geometry = null, $style = null)
    -	{
    -		$this->setValue($value);
    -		$this->setGeometry($geometry);
    -		$this->setStyle($style);
    -	}
    -
    -	/**
    -	 * Function: getId
    -	 *
    -	 * Returns the Id of the cell as a string.
    -	 */
    -	function getId()
    -	{
    -		return $this->id;
    -	}
    -			
    -	/**
    -	 * Function: setId
    -	 *
    -	 * Sets the Id of the cell to the given string.
    -	 */
    -	 function setId($id)
    -	 {
    -		$this->id = $id;
    -	}
    -
    -	/**
    -	 * Function: getValue
    -	 *
    -	 * Returns the user object of the cell. The user
    -	 * object is stored in <value>.
    -	 */
    -	function getValue()
    -	{
    -		return $this->value;
    -	}
    -			
    -	/**
    -	 * Function: setValue
    -	 *
    -	 * Sets the user object of the cell. The user object
    -	 * is stored in <value>.
    -	 */
    -	 function setValue($value)
    -	 {
    -		$this->value = $value;
    -	}
    -
    -	/**
    -	 * Function: getGeometry
    -	 *
    -	 * Returns the <mxGeometry> that describes the <geometry>.
    -	 */
    -	function getGeometry()
    -	{
    -		return $this->geometry;
    -	}
    -			
    -	/**
    -	 * Function: setGeometry
    -	 *
    -	 * Sets the <mxGeometry> to be used as the <geometry>.
    -	 */
    -	 function setGeometry($geometry)
    -	 {
    -		$this->geometry = $geometry;
    -	}
    -
    -	/**
    -	 * Function: getStyle
    -	 *
    -	 * Returns a string that describes the <style>.
    -	 */
    -	function getStyle()
    -	{
    -		return $this->style;
    -	}
    -			
    -	/**
    -	 * Function: setStyle
    -	 *
    -	 * Sets the string to be used as the <style>.
    -	 */
    -	 function setStyle($style)
    -	 {
    -		$this->style = $style;
    -	 }
    -
    -	/**
    -	 * Function: isVertex
    -	 *
    -	 * Returns true if the cell is a vertex.
    -	 */
    -	function isVertex()
    -	{
    -		return $this->vertex;
    -	}
    -			
    -	/**
    -	 * Function: setVertex
    -	 *
    -	 * Specifies if the cell is a vertex. This should only be assigned at
    -	 * construction of the cell and not be changed during its lifecycle.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * vertex - Boolean that specifies if the cell is a vertex.
    -	 */
    -	 function setVertex($vertex)
    -	 {
    -		$this->vertex = $vertex;
    -	 }
    -	 
    -	/**
    -	 * Function: isEdge
    -	 *
    -	 * Returns true if the cell is an edge.
    -	 */
    -	function isEdge()
    -	{
    -		return $this->edge;
    -	}
    -			
    -	/**
    -	 * Function: setEdge
    -	 * 
    -	 * Specifies if the cell is an edge. This should only be assigned at
    -	 * construction of the cell and not be changed during its lifecycle.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * edge - Boolean that specifies if the cell is an edge.
    -	 */
    -	 function setEdge($edge)
    -	 {
    -		$this->edge = $edge;
    -	 }
    -	
    -	/**
    -	 * Function: isConnectable
    -	 *
    -	 * Returns true if the cell is connectable.
    -	 */
    -	function isConnectable()
    -	{
    -		return $this->connectable;
    -	}
    -	
    -	/**
    -	 * Function: setConnectable
    -	 *
    -	 * Sets the connectable state.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * connectable - Boolean that specifies the new connectable state.
    -	 */
    -	function setConnectable($connectable)
    -	{
    -		$this->connectable = $connectable;
    -	}
    -
    -	/**
    -	 * Function: isVisible
    -	 *
    -	 * Returns true if the cell is visibile.
    -	 */
    -	function isVisible()
    -	{
    -		return $this->visible;
    -	}
    -	
    -	/**
    -	 * Function: setVisible
    -	 *
    -	 * Specifies if the cell is visible.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * visible - Boolean that specifies the new visible state.
    -	 */
    -	function setVisible($visible)
    -	{
    -		$this->visible = $visible;
    -	}
    -	
    -	/**
    -	 * Function: isCollapsed
    -	 *
    -	 * Returns true if the cell is collapsed.
    -	 */
    -	function isCollapsed()
    -	{
    -		return $this->collapsed;
    -	}
    -	
    -	/**
    -	 * Function: setCollapsed
    -	 *
    -	 * Sets the collapsed state.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * collapsed - Boolean that specifies the new collapsed state.
    - 	 */
    -	function setCollapsed($collapsed)
    -	{
    -		$this->collapsed = $collapsed;
    -	}
    -
    -	/**
    -	 * Function: getParent
    -	 *
    -	 * Returns the cell's parent.
    -	 */
    -	function getParent()
    -	{
    -		return $this->parent;
    -	}
    -			
    -	/**
    -	 * Function: setParent
    -	 *
    -	 * Sets the parent cell.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * parent - <mxCell> that represents the new parent.
    -	 */
    -	 function setParent($parent)
    -	 {
    -		$this->parent = $parent;
    -	}
    -		
    -	/**
    -	 * Function: getTerminal
    -	 *
    -	 * Returns the source or target terminal.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * source - Boolean that specifies if the source terminal should be
    -	 * returned.
    -	 */
    -	function getTerminal($source)
    -	{
    -		if ($source)
    -		{
    -			return $this->source;
    -		}
    -		else
    -		{
    -			return $this->target;
    -		}
    -	}
    -			
    -	/**
    -	 * Function: setTerminal
    -	 *
    -	 * Sets the source or target terminal and returns the new terminal.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * terminal - <mxCell> that represents the new source or target terminal.
    -	 * source - Boolean that specifies if the source or target terminal
    -	 * should be set.
    -	 */
    -	 function setTerminal($terminal, $source)
    -	 {
    -	 	if ($source)
    -	 	{
    -	 		$this->source = $terminal;
    -	 	}
    -	 	else
    -	 	{
    -	 		$this->target = $terminal;
    -	 	}
    -	 	
    -	 	return $terminal;
    -	}
    -	
    -	/**
    -	 * Function: getChildCount
    -	 *
    -	 * Returns the number of child cells.
    -	 */
    -	function getChildCount()
    -	{
    -		return ($this->children == null) ? 0 : sizeof($this->children);
    -	}
    -
    -	/**
    -	 * Function: getIndex
    -	 *
    -	 * Returns the index of the specified child in the child array.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * child - Child whose index should be returned.
    -	 */
    -	function getIndex($child)
    -	{
    -		return mxUtils::indexOf($this->children, $child);
    -	}
    -
    -	/**
    -	 * Function: getChildAt
    -	 *
    -	 * Returns the child at the specified index.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * index - Integer that specifies the child to be returned.
    -	 */
    -	function getChildAt($index)
    -	{
    -		if ($this->children != null)
    -		{
    -			return $this->children[$index];
    -		}
    -		
    -		return null;
    -	}
    -
    -	/**
    -	 * Function: insert
    -	 *
    -	 * Inserts the specified child into the child array at the specified index
    -	 * and updates the parent reference of the child. If not childIndex is
    -	 * specified then the child is appended to the child array. Returns the
    -	 * inserted child.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * child - <mxCell> to be inserted or appended to the child array.
    -	 * index - Optional integer that specifies the index at which the child
    -	 * should be inserted into the child array.
    -	 */
    -	function insert($child, $index = null)
    -	{
    -		if (isset($child))
    -		{
    -			if (!isset($index))
    -			{
    -				$index = $this->getChildCount();
    -				
    -				if ($child->getParent() === $this)
    -				{
    -					$index--;
    -				}
    -			} 
    -
    -			$child->removeFromParent();
    -			$child->setParent($this);
    -			
    -			if ($this->children == null)
    -			{
    -				$this->children = array();
    -				array_push($this->children, $child);
    -			}
    -			else
    -			{
    -				array_splice($this->children, $index, 0, array($child));
    -			}
    -		}
    -		
    -		return $child;
    -	}
    -
    -	/**
    -	 * Function: remove
    -	 *
    -	 * Removes the child at the specified index from the child array and
    -	 * returns the child that was removed. Will remove the parent reference of
    -	 * the child.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * index - Integer that specifies the index of the child to be
    -	 * removed.
    -	 */
    -	function remove($index)
    -	{
    -		if ($this->children != null && $index >= 0)
    -		{
    -			$child = $this->getChildAt($index);
    -			
    -			if ($child != null)
    -			{
    -				array_splice($this->children, $index, 1);
    -				$child->setParent(null);
    -			}
    -			
    -			return $child;
    -		}
    -		
    -		return null;
    -	}
    -
    -	/**
    -	 * Function: removeFromParent
    -	 *
    -	 * Removes the cell from its parent.
    -	 */
    -	function removeFromParent()
    -	{
    -	 	if (isset($this->parent))
    -	 	{
    -	 		$index = $this->parent->getIndex($this);
    -	 		$this->parent->remove($index);
    -	 	}
    -	}
    -
    -	/**
    -	 * Function: getEdgeCount
    -	 *
    -	 * Returns the number of edges in the edge array.
    -	 */
    -	function getEdgeCount()
    -	{
    -		return ($this->edges == null) ? 0 : sizeof($this->edges);
    -	}
    -
    -	/**
    -	 * Function: getEdgeIndex
    -	 *
    -	 * Returns the index of the specified edge in <edges>.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * edge - <mxCell> whose index in <edges> should be returned.
    -	 */
    -	function getEdgeIndex($edge)
    -	{
    -		return mxUtils::indexOf($this->edges, $edge);
    -	}
    -	
    -	/**
    -	 * Function: getEdgeAt
    -	 *
    -	 * Returns the edge at the specified index in <edges>.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * index - Integer that specifies the index of the edge to be returned.
    -	 */
    -	function getEdgeAt($index)
    -	{
    -		if ($this->edges != null)
    -		{
    -			return $this->edges[$index];
    -		}
    -		
    -		return null;
    -	}
    -
    -	/**
    -	 * Function: insertEdge
    -	 *
    -	 * Inserts the specified edge into the edge array and returns the edge.
    -	 * Will update the respective terminal reference of the edge.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * edge - <mxCell> to be inserted into the edge array.
    -	 * outgoing - Boolean that specifies if the edge is outgoing.
    -	 */
    -	function insertEdge($edge, $outgoing)
    -	{
    -		if (isset($edge))
    -		{
    -			$edge->removeFromTerminal($outgoing);
    -			$edge->setTerminal($this, $outgoing);
    -
    -			if ($this->edges == null ||
    -				$edge->getTerminal(!$outgoing) !== $this ||
    -				mxUtils::indexOf($this->edges, $edge) < 0)
    -			{
    -				if ($this->edges == null)
    -				{
    -					$this->edges = array();
    -				}
    -				
    -				array_push($this->edges, $edge);
    -			}
    -		}
    -		
    -		return $edge;
    -	}
    -
    -	/**
    -	 * Function: removeEdge
    -	 *
    -	 * Removes the specified edge from the edge array and returns the edge.
    -	 * Will remove the respective terminal reference from the edge.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * edge - <mxCell> to be removed from the edge array.
    -	 * outgoing - Boolean that specifies if the edge is outgoing.
    -	 */
    -	function removeEdge($edge, $outgoing)
    -	{
    -		if (isset($edge))
    -		{
    -			if ($edge->getTerminal(!$outgoing) !== $this &&
    -				$this->edges != null)
    -			{
    -				$index = $this->getEdgeIndex($edge);
    -				
    -				if ($index >= 0)
    -				{
    -					array_splice($this->edges, $index, 1);
    -				}
    -			}
    -			
    -			$edge->setTerminal(null, $outgoing);
    -		}
    -
    -		return $edge;
    -	}
    -
    -	/**
    -	 * Function: removeFromTerminal
    -	 *
    -	 * Removes the edge from its source or target terminal.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * source - Boolean that specifies if the edge should be removed from its
    -	 * source or target terminal.
    -	 */
    -	function removeFromTerminal($source)
    -	{
    -	 	$terminal = $this->getTerminal($source);
    -	 	
    -	 	if (isset($terminal))
    -	 	{
    -	 		$terminal->removeEdge($this, $source);
    -	 	}
    -	}
    -
    -	/**
    -	 * Function: getAttribute
    -	 *
    -	 * Returns the specified attribute from the user object if it is an XML
    -	 * node.
    -	 */
    -	function getAttribute($key, $defaultValue = null)
    -	{
    -		$userObject = $this->getValue();
    -		
    -		$value = (is_object($userObject) &&
    -			$userObject->nodeType == XML_ELEMENT_NODE) ?
    -			$userObject->getAttribute($key) : null;
    -			
    -		if (!isset($value))
    -		{
    -			$value = $defaultValue;
    -		}
    -		
    -		return $value;
    -	}
    -
    -	/**
    -	 * Function: setAttribute
    -	 *
    -	 * Sets the specified attribute on the user object if it is an XML node.
    -	 */
    -	function setAttribute($key, $value)
    -	{
    -		$userObject = $this->getValue();
    -		
    -		if (is_object($userObject) &&
    -			$userObject->nodeType == XML_ELEMENT_NODE)
    -		{
    -			$userObject->setAttribute($key, $value);
    -		}
    -	}
    -	
    -	/**
    -	 * Function: copy
    -	 *
    -	 * Returns a clone of the cell. Uses <cloneValue> to clone
    -	 * the user object.
    -	 */
    -	function copy()
    -	{
    -	 	$clone = new mxCell($this->copyValue(), null, $this->style);
    -	 	$clone->vertex = $this->vertex;
    -	 	$clone->edge = $this->edge;
    -	 	$clone->connectable = $this->connectable;
    -	 	$clone->visible = $this->visible;
    -	 	$clone->collapsed = $this->collapsed;
    -		
    -		// Clones the geometry
    -		if (isset($this->geometry))
    -		{
    -			$clone->geometry = $this->geometry->copy();
    -		}
    -		
    -		return $clone;
    -	}
    -
    -	/**
    -	 * Function: copyValue
    -	 *
    -	 * Returns a clone of the cell's user object.
    -	 */
    -	function copyValue()
    -	{
    -		$value = $this->getValue();
    -		
    -		if (isset($value))
    -		{
    -			if (method_exists($value, "cloneNode"))
    -			{
    -				$value = $value->cloneNode(true);
    -			}
    -		}
    -		
    -		return $value;
    -	}
    -
    -}
    -
    -?>
    diff --git a/php/src/model/mxCellPath.php b/php/src/model/mxCellPath.php
    deleted file mode 100644
    index 8064c9b0f..000000000
    --- a/php/src/model/mxCellPath.php
    +++ /dev/null
    @@ -1,102 +0,0 @@
    -<?php
    -/**
    - * Copyright (c) 2006-2013, Gaudenz Alder
    - */
    -class mxCellPath
    -{
    -
    -	/**
    -	 * Class: mxCellPath
    -	 * 
    -	 * Implements a mechanism for temporary cell Ids.
    -	 * 
    -	 * Variable: codecs
    -	 *
    -	 * Maps from constructor names to codecs.
    -	 */
    -	public static $PATH_SEPARATOR = ".";
    -
    -	/**
    -	 * Function: create
    -	 * 
    -	 * Creates the cell path for the given cell. The cell path is a
    -	 * concatenation of the indices of all ancestors on the (finite) path to
    -	 * the root, eg. "0.0.0.1".
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * cell - Cell whose path should be returned.
    -	 */
    -	static function create($cell)
    -	{
    -		$result = "";
    -		$parent = $cell->getParent();
    -
    -		while ($parent != null)
    -		{
    -			$index = $parent->getIndex($cell);
    -			$result = $index . mxCellPath::$PATH_SEPARATOR . $result;
    -			
    -			$cell = $parent;
    -			$parent = $cell->getParent();
    -		}
    -		
    -		return (strlen($result) > 1) ?
    -			substr($result, 0, strlen($result) - 1) : "";
    -	}
    -
    -	/**
    -	 * Function: getParentPath
    -	 * 
    -	 * Returns the cell for the specified cell path using the given root as the
    -	 * root of the path.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * path - Path whose parent path should be returned.
    -	 */
    -	static function getParentPath($path)
    -	{
    -		if ($path != null && strlen($path) > 0)
    -		{
    -			$index = strrpos($path, mxCellPath::$PATH_SEPARATOR);
    -			
    -			if ($index === false)
    -			{
    -				return "";
    -			}
    -			else
    -			{
    -				return substr($path, 0, $index);
    -			}
    -		}
    -		
    -		return null;
    -	}
    -
    -	/**
    -	 * Function: resolve
    -	 * 
    -	 * Returns the cell for the specified cell path using the given root as the
    -	 * root of the path.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * root - Root cell of the path to be resolved.
    -	 * path - String that defines the path.
    -	 */
    -	static function resolve($root, $path)
    -	{
    -		$parent = $root;
    -		$tokens = explode(mxCellPath::$PATH_SEPARATOR, $path);
    -		
    -		for ($i=0; $i<sizeof($tokens); $i++)
    -		{
    -			$parent = $parent->getChildAt($tokens[$i]);
    -		}
    -		
    -		return $parent;
    -	}
    -
    -}
    -?>
    diff --git a/php/src/model/mxGeometry.php b/php/src/model/mxGeometry.php
    deleted file mode 100644
    index 21279b2ae..000000000
    --- a/php/src/model/mxGeometry.php
    +++ /dev/null
    @@ -1,233 +0,0 @@
    -<?php
    -/**
    - * Copyright (c) 2006-2013, Gaudenz Alder
    - */
    -class mxGeometry extends mxRectangle
    -{
    -
    -	/**
    -	 * Class: mxGeometry
    -	 *
    -	 * Represents the geometry of a cell. For vertices, the geometry consists
    -	 * of the x- and y-location, as well as the width and height. For edges,
    -	 * the edge either defines the source- and target-terminal, or the geometry
    -	 * defines the respective terminal points.
    -	 * 
    -	 * Variable: TRANSLATE_CONTROL_POINTS
    -	 * 
    -	 * Global switch to translate the points in translate. Default is true.
    -	 */
    -	public static $TRANSLATE_CONTROL_POINTS = true;
    -
    -	/**
    -	 * Variable: alternateBounds
    -	 *
    -	 * Stores alternate values for x, y, width and height in a rectangle.
    -	 * Default is null.
    -	 */
    -	var $alternateBounds;
    -
    -	/**
    -	 * Variable: sourcePoint
    -	 *
    -	 * Defines the source point of the edge. This is used if the corresponding
    -	 * edge does not have a source vertex. Otherwise it is ignored. Default is
    -	 * null.
    -	 */
    -	var $sourcePoint;
    -	
    -	/**
    -	 * Variable: targetPoint
    -	 *
    -	 * Defines the target point of the edge. This is used if the corresponding
    -	 * edge does not have a target vertex. Otherwise it is ignored. Default is
    -	 * null.
    -	 */
    -	var $targetPoint;
    -		
    -	/**
    -	 * Variable: points
    -	 *
    -	 * Array of <mxPoints> which specifies the control points along the edge.
    -	 * These points are the intermediate points on the edge, for the endpoints
    -	 * use <targetPoint> and <sourcePoint> or set the terminals of the edge to
    -	 * a non-null value. Default is null.
    -	 */
    -	var $points;
    -	
    -	/**
    -	 * Variable: offset
    -	 *
    -	 * Holds the offset of the label for edges. This is the absolute vector
    -	 * between the center of the edge and the top, left point of the label.
    -	 * Default is null.
    -	 */
    -	var $offset;
    -
    -	/**
    -	 * Variable: relative
    -	 *
    -	 * Specifies if the coordinates in the geometry are to be interpreted as
    -	 * relative coordinates. Default is false. This is used to mark a geometry
    -	 * with an x- and y-coordinate that is used to describe an edge label
    -	 * position.
    -	 */
    -	var $relative = false;
    -
    -	/**
    -	 * Constructor: mxGeometry
    -	 *
    -	 * Constructs a new object to describe the size and location
    -	 * of a vertex or the control points of an edge.
    -	 */
    -	function mxGeometry($x=0, $y=0, $width=0, $height=0)
    -	{
    -		parent::mxRectangle($x, $y, $width, $height);
    -	}
    -
    -	/**
    -	 * Function: getTerminalPoint
    -	 * 
    -	 * Returns the <mxPoint> representing the source or target point of this
    -	 * edge. This is only used if the edge has no source or target vertex.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * isSource - Boolean that specifies if the source or target point
    -	 * should be returned.
    -	 */
    -	function getTerminalPoint($isSource)
    -	{
    -		return ($isSource) ? $this->sourcePoint : $this->targetPoint;
    -	}
    -	
    -	/**
    -	 * Function: setTerminalPoint
    -	 * 
    -	 * Sets the <sourcePoint> or <targetPoint> to the given <mxPoint> and
    -	 * returns the new point.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * point - Point to be used as the new source or target point.
    -	 * isSource - Boolean that specifies if the source or target point
    -	 * should be set.
    -	 */
    -	function setTerminalPoint($point, $isSource)
    -	{
    -		if ($isSource)
    -		{
    -			$this->sourcePoint = $point;
    -		}
    -		else
    -		{
    -			$this->targetPoint = $point;
    -		}
    -		
    -		return $point;
    -	}
    -	
    -	/**
    -	 * Function: translate
    -	 * 
    -	 * Translates the geometry by the specified amount. That is, <x> and <y>
    -	 * of the geometry, the <sourcePoint>, <targetPoint> and all elements of
    -	 * <points> are translated by the given amount. <x> and <y> are only
    -	 * translated if <relative> is false. If <TRANSLATE_CONTROL_POINTS> is
    -	 * false, then <points> are not modified by this function.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * dx - Integer that specifies the x-coordinate of the translation.
    -	 * dy - Integer that specifies the y-coordinate of the translation.
    -	 */
    -	function translate($dx, $dy)
    -	{
    -		// Translates the geometry
    -		if (!$this->relative)
    -		{
    -			$this->x += $dx;
    -			$this->y += $dy;
    -		}
    -		
    -		// Translates the source point
    -		if ($this->sourcePoint != null)
    -		{
    -			$this->sourcePoint->x += $dx;
    -			$this->sourcePoint->y += $dy;
    -		}
    -		
    -		// Translates the target point
    -		if ($this->targetPoint != null)
    -		{
    -			$this->targetPoint->x += $dx;
    -			$this->targetPoint->y += $dy;
    -		}
    -
    -		// Translate the control points
    -		if (mxGeometry::$TRANSLATE_CONTROL_POINTS &&
    -			$this->points != null)
    -		{
    -			$count = sizeof($this->points);
    -			
    -			for ($i = 0; $i < $count; $i++)
    -			{
    -				$pt = $this->points[i];
    -				
    -				$pt->x += $dx;
    -				$pt->y += $dy;
    -			}
    -		}
    -	}
    -	
    -	/**
    -	 * Function: copy
    -	 *
    -	 * Returns a copy of this <mxGeometry>.
    -	 */
    -	function copy()
    -	{
    -	 	$clone = new mxGeometry($this->x, $this->y, $this->width, $this->height);
    -				
    -		// Clones the points
    -		if ($this->points != null)
    -		{
    -			$clone->points = array();
    -			
    -			for ($i = 0; $i < sizeof($this->points); $i++)
    -			{
    -				array_push($clone->points, $this->points[$i]->copy());
    -			}
    -		}
    -		
    -		// Clones the alternatebounds
    -		if ($this->alternateBounds != null)
    -		{
    -			$clone->alternateBounds = $this->alternateBounds->copy();
    -		}
    -		
    -		// Clones the offset
    -		if ($this->offset != null)
    -		{
    -			$clone->offset = $this->offset->copy();
    -		}
    -		
    -		// Clones the source and targetpoint
    -		if ($this->sourcePoint != null)
    -		{
    -			$clone->sourcePoint = $this->sourcePoint->copy();
    -		}
    -		
    -		if ($this->targetPoint != null)
    -		{
    -			$clone->targetPoint = $this->targetPoint->copy();
    -		}
    -
    -	 	$clone->relative = $this->relative;
    -
    -		return $clone;
    -	}
    -
    -}
    -
    -?>
    diff --git a/php/src/model/mxGraphModel.php b/php/src/model/mxGraphModel.php
    deleted file mode 100644
    index 5dd549480..000000000
    --- a/php/src/model/mxGraphModel.php
    +++ /dev/null
    @@ -1,1334 +0,0 @@
    -<?php
    -/**
    - * Copyright (c) 2006-2013, Gaudenz Alder
    - */
    -class mxGraphModel extends mxEventSource
    -{
    -	
    -	/**
    -	 * Class: mxGraphModel
    -	 * 
    -	 * Cells are the elements of the graph model. They represent the state
    -	 * of the groups, vertices and edges in a graph.
    -	 *
    -	 * Fires a graphModelChanged event after each group of changes.
    -	 * 
    -	 * Variable: root
    -	 * 
    -	 * Holds the root cell, which in turn contains the cells that represent the
    -	 * layers of the diagram as child cells. That is, the actual elements of the
    -	 * diagram are supposed to live in the third generation of cells and below.
    -	 */
    -	var $root;
    -		
    -	/**
    -	 * Variable: cells
    -	 * 
    -	 * Maps from Ids to cells.
    -	 */
    -	var $cells;
    -	
    -	/**
    -	 * Variable: maintainEdgeParent
    -	 * 
    -	 * Specifies if edges should automatically be moved into the nearest common
    -	 * ancestor of their terminals. Default is true.
    -	 */
    -	var $maintainEdgeParent = true;
    -
    -	/**
    -	 * Variable: createIds
    -	 * 
    -	 * Specifies if the model should automatically create Ids for new cells.
    -	 * Default is true.
    -	 */
    -	var $createIds = true;
    -	
    -	/**
    -	 * Variable: nextId
    -	 * 
    -	 * Specifies the next Id to be created. Default is 0.
    -	 */
    -	var $nextId = 0;
    -
    -	/**
    -	 * Variable: updateLevel
    -	 * 
    -	 * Counter for the depth of nested transactions. Each call to <beginUpdate>
    -	 * will increment this number and each call to <endUpdate> will decrement
    -	 * it. When the counter reaches 0, the transaction is closed and the
    -	 * respective events are fired. Initial value is 0.
    -	 */
    -	var $updateLevel = 0;
    -
    -	/**
    -	 * Constructor: mxGraphModel
    -	 *
    -	 * Constructs a new graph model using the specified root cell.
    -	 */
    -	function mxGraphModel($root = null)
    -	{
    -	 	if (isset($root))
    -	 	{
    -			$this->setRoot($root);
    -	 	}
    -	 	else
    -	 	{
    -	 		$this->clear();
    -	 	}
    -	}
    -		
    -	/**
    -	 * Function: clear
    -	 *
    -	 * Sets a new root using <createRoot>.
    -	 */
    -	function clear()
    -	{
    -		$this->setRoot($this->createRoot());
    -	}
    -
    -	/**
    -	 * Function: createRoot
    -	 *
    -	 * Creates a new root cell with a default layer (child 0).
    -	 */
    -	function createRoot()
    -	{
    -		$root = new mxCell();
    -		$root->insert(new mxCell());
    -			
    -		return $root;
    -	}
    -	
    -	/**
    -	 * Function: getCells
    -	 * 
    -	 * Returns the internal lookup table that is used to map from Ids to cells.
    -	 */
    -	function getCells()
    -	{
    -	 	return $this->cells;
    -	}
    -
    -	/**
    -	 * Function: setRoot
    -	 *
    -	 */
    -	function getCell($id)
    -	{
    -		$result = null;
    -
    -		if ($this->cells != null)
    -		{
    -			$result = mxUtils::getValue($this->cells, $id);
    -		}
    -
    -		return $result;
    -	}
    -	
    -	/**
    -	 * Function: getRoot
    -	 * 
    -	 * Returns the root of the model.
    -	 */
    -	function getRoot()
    -	{
    -	 	return $this->root;
    -	}
    -	
    -	/**
    -	 * Function: setRoot
    -	 * 
    -	 * Sets the <root> of the model using <mxRootChange> and adds the change to
    -	 * the current transaction. This resets all datastructures in the model and
    -	 * is the preferred way of clearing an existing model. Returns the new
    -	 * root.
    -	 *
    -	 * Parameters:
    -	 * 
    -	 * root - <mxCell> that specifies the new root.
    -	 */
    -	function setRoot($root)
    -	{
    -		$oldRoot = $this->root;
    -		
    -	 	$this->beginUpdate();
    -	 	try
    -	 	{
    -			$this->root = $root;
    -			$this->nextId = 0;
    -			$this->cells = null;
    -			
    -			$this->cellAdded($root);
    -		}
    -		catch (Exception $e)
    -		{
    -			$this->endUpdate();
    -			throw($e);
    -		}
    -		$this->endUpdate();
    -		
    -		return $oldRoot;
    -	}
    -
    -	//
    -	// Cell Cloning
    -	//
    -
    -	/**
    -	 * Function: cloneCell
    -	 * 
    -	 * Returns a deep clone of the given <mxCell> (including
    -	 * the children) which is created using <cloneCells>.
    -	 *
    -	 * Parameters:
    -	 * 
    -	 * cell - <mxCell> to be cloned.
    -	 */
    -	function cloneCell($cell)
    -	{
    -		$clones = $this->cloneCells(array($cell), true);
    -		
    -		return $clones[0];
    -	}
    -
    -	/**
    -	 * Function: cloneCells
    -	 * 
    -	 * Returns an array of clones for the given array of <mxCells>.
    -	 * Depending on the value of includeChildren, a deep clone is created for
    -	 * each cell. Connections are restored based if the corresponding
    -	 * cell is contained in the passed in array.
    -	 *
    -	 * Parameters:
    -	 * 
    -	 * cells - Array of <mxCell> to be cloned.
    -	 * includeChildren - Boolean indicating if the cells should be cloned
    -	 * with all descendants.
    -	 */
    -	function cloneCells($cells, $includeChildren=true)
    -	{
    -		$mapping = array();
    -		$clones = array();
    -		
    -		for ($i=0; $i<sizeof($cells); $i++)
    -		{
    -			$cell = $cells[$i];
    -			$clne = $this->cloneCellImpl($cell, $mapping, $includeChildren);
    -			array_push($clones, $clne);
    -		}
    -		
    -		for ($i=0; $i<sizeof($clones); $i++)
    -		{
    -			$this->restoreClone($clones[$i], $cells[$i], $mapping);
    -		}
    -		
    -		return $clones;
    -	}
    -				
    -	/**
    -	 * Function: cloneCellImpl
    -	 * 
    -	 * Inner helper method for cloning cells recursively.
    -	 */
    -	function cloneCellImpl($cell, $mapping, $includeChildren)
    -	{
    -		$ident = mxCellPath::create($cell);
    -		$clne = $mapping[$ident];
    -		
    -		if ($clne == null)
    -		{
    -			$clne = $this->cellCloned($cell);
    -			$mapping[$ident] = $clne;	
    -		
    -			if ($includeChildren)
    -			{
    -				$childCount = $this->getChildCount($cell);
    -	
    -				for ($i = 0; $i < $childCount; $i++)
    -				{
    -					$child = $this->getChildAt($cell, $i);
    -					$cloneChild = $this->cloneCellImpl($child, $mapping, true);
    -					$clne->insert($cloneChild);
    -				}
    -			}
    -		}
    -		
    -		return $clne;
    -	}
    -
    -	/**
    -	 * Function: cellCloned
    -	 * 
    -	 * Hook for cloning the cell. This returns cell->copy() or
    -	 * any possible exceptions.
    -	 */
    -	function cellCloned($cell)
    -	{
    -		return $cell->copy();
    -	}
    -	
    -	/**
    -	 * Function: restoreClone
    -	 * 
    -	 * Inner helper method for restoring the connections in
    -	 * a network of cloned cells.
    -	 */
    -	function restoreClone($clne, $cell, $mapping)
    -	{
    -		$source = $this->getTerminal($cell, true);
    -		
    -		if ($source != null)
    -		{
    -			$tmp = $mapping[mxCellPath::create($source)];
    -			
    -			if ($tmp != null)
    -			{
    -				$tmp->insertEdge($clne, true);
    -			}
    -		}
    -		
    -		$target = $this->getTerminal($cell, false);
    -		
    -		if ($target != null)
    -		{
    -			$tmp = $mapping[mxCellPath::create($target)];
    -			
    -			if ($tmp != null)
    -			{
    -				$tmp->insertEdge($clne, false);
    -			}
    -		}
    -		
    -		$childCount = $this->getChildCount($clne);
    -		
    -		for ($i = 0; $i < $childCount; $i++)
    -		{
    -			$this->restoreClone($this->getChildAt($clne, $i),
    -				$this->getChildAt($cell, $i), $mapping);
    -		}
    -	}
    -	
    -	/**
    -	 * Function: isAncestor
    -	 * 
    -	 * Returns true if the given parent is an ancestor of the given child.
    -	 *
    -	 * Parameters:
    -	 * 
    -	 * parent - <mxCell> that specifies the parent.
    -	 * child - <mxCell> that specifies the child.
    -	 */
    -	function isAncestor($parent, $child)
    -	{
    -		while ($child != null && $child != $parent)
    -		{
    -			$child = $this->getParent($child);
    -		}
    -
    -		return $child === $parent;
    -	}
    -
    -	/**
    -	 * Function: contains
    -	 * 
    -	 * Returns true if the model contains the given <mxCell>.
    -	 *
    -	 * Parameters:
    -	 * 
    -	 * cell - <mxCell> that specifies the cell.
    -	 */
    -	function contains($cell)
    -	{
    -		return $this->isAncestor($this->root, $cell);
    -	}
    -	
    -	/**
    -	 * Function: getParent
    -	 * 
    -	 * Returns the parent of the given cell.
    -	 *
    -	 * Parameters:
    -	 * 
    -	 * cell - <mxCell> whose parent should be returned.
    -	 */
    -	function getParent($cell)
    -	{
    -		if ($cell != null)
    -		{
    -			return $cell->getParent();
    -		}
    -		
    -		return null;
    -	}
    -
    -	/**
    -	 * Function: add
    -	 * 
    -	 * Adds the specified child to the parent at the given index using
    -	 * <mxChildChange> and adds the change to the current transaction. If no
    -	 * index is specified then the child is appended to the parent's array of
    -	 * children. Returns the inserted child.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * parent - <mxCell> that specifies the parent to contain the child.
    -	 * child - <mxCell> that specifies the child to be inserted.
    -	 * index - Optional integer that specifies the index of the child.
    -	 */
    -	function add($parent, $child, $index = null)
    -	{
    -		if ($child !== $parent && $child != null && $parent != null)
    -		{
    -			$parentChanged = $parent !== $this->getParent($child);
    -			
    -		 	$this->beginUpdate();
    -		 	try
    -		 	{
    -				$parent->insert($child, $index);
    -				$this->cellAdded($child);
    -			}
    -			catch (Exception $e)
    -			{
    -				$this->endUpdate();
    -				throw($e);
    -			}
    -			$this->endUpdate();
    -			
    -			if ($parentChanged && $this->maintainEdgeParent)
    -			{
    -				$this->updateEdgeParents($child);
    -			}
    -		}
    -		
    -		return $child;
    -	}
    -
    -	/**
    -	 * Function: cellAdded
    -	 * 
    -	 * Inner callback to update <cells> when a cell has been added. This
    -	 * implementation resolves collisions by creating new Ids.
    -	 *
    -	 * Parameters:
    -	 * 
    -	 * cell - <mxCell> that specifies the cell that has been added.
    -	 */
    -	function cellAdded($cell)
    -	{
    -	 	if ($cell->getId() == null && $this->createIds)
    -	 	{
    -	 		$cell->setId($this->createId($cell));
    -	 	}
    -	 	
    -	 	if ($cell->getId() != null)
    -	 	{
    -	 		$collision = $this->getCell($cell->getId());
    -	 		
    -	 		if ($collision != $cell)
    -	 		{
    -	 			while ($collision != null)
    -	 			{
    -	 				$cell->setId($this->createId($cell));
    -	 				$collision = $this->getCell($cell->getId());
    -	 			}
    -	 			
    -	 			if ($this->cells == null)
    -	 			{
    -	 				$this->cells = array();
    -	 			}
    -	 			
    -	 			$this->cells[$cell->getId()] = $cell;
    -	 		}
    -	 	}
    -
    -		// Makes sure IDs of deleted cells are not reused
    -		if (is_numeric($cell->getId()))
    -		{
    -			$this->nextId = max($this->nextId, $cell->getId() + 1);
    -		}
    -		
    -		$childCount = $this->getChildCount($cell);
    -		
    -		for ($i = 0; $i < $childCount; $i++)
    -		{
    -			$this->cellAdded($this->getChildAt($cell, $i));
    -		}
    -	}
    -			
    -	/**
    -	 * Function: createId
    -	 * 
    -	 * Hook method to create an Id for the specified cell. This
    -	 * implementation increments <nextId>.
    -	 *
    -	 * Parameters:
    -	 *
    -	 * cell - <mxCell> to create the Id for.
    -	 */
    -	function createId($cell)
    -	{
    -		$id = $this->nextId;
    -		$this->nextId++;
    -		
    -		return $id;
    -	}
    -
    -	/**
    -	 * Function: updateEdgeParents
    -	 * 
    -	 * Updates the parent for all edges that are connected to cell or one of
    -	 * its descendants using <updateEdgeParent>.
    -	 */
    -	function updateEdgeParents($cell, $root = null)
    -	{
    -		// Gets the topmost node of the hierarchy
    -		$root = $root || $this->getRoot();
    -		
    -		// Updates edges on children first
    -		$childCount = $this->getChildCount($cell);
    -		
    -		for ($i = 0; $i < $childCount; $i++)
    -		{
    -			$child = $this->getChildAt($cell, $i);
    -			$this->updateEdgeParents($child, $root);
    -		}
    -		
    -		// Updates the parents of all connected edges
    -		$edgeCount = $this->getEdgeCount($cell);
    -		$edges = array();
    -		
    -		for ($i = 0; $i < $edgeCount; $i++)
    -		{
    -			array_push($edges, $this->getEdgeAt($cell, $i));
    -		}
    -		
    -		foreach ($edges as $edge)
    -		{
    -			// Updates edge parent if edge and child have
    -			// a common root node (does not need to be the
    -			// model root node)
    -			if ($this->isAncestor($root, $edge))
    -			{
    -				$this->updateEdgeParent($edge, $root);
    -			}
    -		}
    -	}
    -	
    -	/**
    -	 * Function: updateEdgeParent
    -	 *
    -	 * Inner callback to update the parent of the specified <mxCell> to the
    -	 * nearest-common-ancestor of its two terminals.
    -	 *
    -	 * Parameters:
    -	 * 
    -	 * edge - <mxCell> that specifies the edge.
    -	 * root - <mxCell> that represents the current root of the model.
    -	 */
    -	function updateEdgeParent($edge, $root)
    -	{
    -		$source = $this->getTerminal($edge, true);
    -		$target = $this->getTerminal($edge, false);
    -		$cell = null;
    -		
    -		// Uses the first non-relative descendants of the source terminal
    -		while ($source != null && !$this->isEdge($source) &&
    -			$source->geometry != null && $source->geometry->relative)
    -		{
    -			$source = $this->getParent($source);
    -		}
    -		
    -		// Uses the first non-relative descendants of the target terminal
    -		while ($target != null && !$this->isEdge($target) &&
    -			$target->geometry != null && $target->geometry->relative)
    -		{
    -			$target = $this->getParent($target);
    -		}
    -		
    -		if ($this->isAncestor($root, $source) &&
    -			$this->isAncestor($root, $target))
    -		{
    -			if ($source === $target)
    -			{
    -				$cell = $this->getParent($source);
    -			}
    -			else
    -			{
    -				$cell = $this->getNearestCommonAncestor($source, $target);
    -			}
    -			
    -			if ($cell != null &&
    -				$this->getParent($cell) !== $this->root &&
    -				$this->getParent($edge) !== $cell)
    -			{
    -				$geo = $this->getGeometry($edge);
    -				
    -				if ($geo != null)
    -				{
    -					$origin1 = $this->getOrigin($this->getParent($edge));
    -					$origin2 = $this->getOrigin($cell);
    -					
    -					$dx = $origin2->x - $origin1->x;
    -					$dy = $origin2->y - $origin1->y;
    -					
    -					$geo = $geo->copy();
    -					$geo->translate(-$dx, -$dy);
    -					$this->setGeometry($edge, $geo);
    -				}
    -				
    -				$this->add($cell, $edge, $this->getChildCount($cell));
    -			}
    -		}
    -	}
    -
    -	/**
    -	 * Function: getOrigin
    -	 * 
    -	 * Returns the absolute, cummulated origin for the children inside the
    -	 * given parent as an <mxPoint>.
    -	 */
    -	function getOrigin($cell)
    -	{
    -		$result = null;
    -		
    -		if ($cell != null)
    -		{
    -			$result = $this->getOrigin($this->getParent($cell));
    -			
    -			if (!$this->isEdge($cell))
    -			{
    -				$geo = $this->getGeometry($cell);
    -				
    -				if ($geo != null)
    -				{
    -					$result->x += $geo->x;
    -					$result->y += $geo->y;
    -				}
    -			}
    -		}
    -		else
    -		{
    -			$result = new mxPoint();
    -		}
    -		
    -		return $result;
    -	}
    -	
    -	/**
    -	 * Function: getNearestCommonAncestor
    -	 * 
    -	 * Returns the nearest common ancestor for the specified cells.
    -	 *
    -	 * Parameters:
    -	 * 
    -	 * cell1 - <mxCell> that specifies the first cell in the tree.
    -	 * cell2 - <mxCell> that specifies the second cell in the tree.
    -	 */
    -	function getNearestCommonAncestor($cell1, $cell2)
    -	{
    -		if ($cell1 != null && $cell2 != null)
    -		{		
    -			// Creates the cell path for the second cell
    -			$path = mxCellPath::create($cell2);
    -			
    -			if (isset($path) && strlen($path) > 0)
    -			{
    -				// Bubbles through the ancestors of the target
    -				// cell to find the nearest common ancestor.
    -				$cell = $cell1;
    -				$current = mxCellPath::create($cell);
    -				
    -				while ($cell != null)
    -				{
    -					$parent = $this->getParent($cell);
    -
    -					// Checks if the cell path is equal to the beginning
    -					// of the given cell path
    -					if (strpos($path, $current.mxCellPath::$PATH_SEPARATOR) === 0 &&
    -						$parent != null)
    -					{
    -						return $cell;
    -					}
    -					
    -					$current = mxCellPath::getParentPath($current);
    -					$cell = $parent;
    -				}
    -			}
    -		}
    -		
    -		return null;
    -	}
    -
    -	/**
    -	 * Function: remove
    -	 * 
    -	 * Removes the specified cell from the model using <mxChildChange> and adds
    -	 * the change to the current transaction. This operation will remove the
    -	 * cell and all of its children from the model. Returns the removed cell.
    -	 *
    -	 * Parameters:
    -	 * 
    -	 * cell - <mxCell> that should be removed.
    -	 */
    -	function remove($cell)
    -	{
    -	 	$this->beginUpdate();
    -	 	try
    -	 	{
    -			if ($cell === $this->root)
    -			{
    -				$this->setRoot(null);
    -			}
    -			else
    -			{
    -				$cell->removeFromParent();
    -            }
    -            
    -            $this->cellRemoved($cell);
    -		}
    -		catch (Exception $e)
    -		{
    -			$this->endUpdate();
    -			throw($e);
    -		}
    -		$this->endUpdate();
    -
    -		return $cell;
    -	}
    -
    -	/**
    -	 * Function: cellRemoved
    -	 * 
    -	 * Inner callback to update <cells> when a cell has been removed.
    -	 *
    -	 * Parameters:
    -	 * 
    -	 * cell - <mxCell> that specifies the cell that has been removed.
    -	 */
    -	function cellRemoved($cell)
    -	{
    -		if ($cell != null)
    -		{
    -			$childCount = $this->getChildCount($cell);
    -			
    -			for ($i = 0; $i < $childCount; $i++)
    -			{
    -				$this->cellRemoved($this->getChildAt($cell, $i));
    -			}
    -			
    -			$cell->removeFromTerminal(true);
    -			$cell->removeFromTerminal(false);
    -
    -			if ($this->cells != null && $cell->getId() != null)
    -			{
    -				$this->cells[$cell->getId()] = null;
    -			}
    -		}
    -	}
    -
    -	/**
    -	 * Function: getChildCount
    -	 *
    -	 * Returns the number of children in the given cell.
    -	 *
    -	 * Parameters:
    -	 * 
    -	 * cell - <mxCell> whose number of children should be returned.
    -	 */
    -	function getChildCount($cell)
    -	{
    -	 	return ($cell != null) ? $cell->getChildCount() : 0;
    -	}
    -	
    -	/**
    -	 * Function: getChildAt
    -	 *
    -	 * Returns the child of the given <mxCell> at the given index.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * cell - <mxCell> that represents the parent.
    -	 * index - Integer that specifies the index of the child to be returned.
    -	 */
    -	function getChildAt($cell, $index)
    -	{
    -		if ($cell != null)
    -		{
    -			return $cell->getChildAt($index);
    -		}
    -		
    -		return null;
    -	}
    -
    -	/**
    -	 * Function: getTerminal
    -	 * 
    -	 * Returns the source or target <mxCell> of the given edge depending on the
    -	 * value of the boolean parameter.
    -	 *
    -	 * Parameters:
    -	 * 
    -	 * edge - <mxCell> that specifies the edge.
    -	 * cource - Boolean indicating which end of the edge should be returned.
    -	 */
    -	function getTerminal($edge, $cource)
    -	{
    -		if ($edge != null)
    -		{
    -			return $edge->getTerminal($cource);
    -		}
    -		
    -	 	return null;
    -	}
    -	
    -	/**
    -	 * Function: setTerminal
    -	 * 
    -	 * Sets the source or target terminal of the given <mxCell> using
    -	 * <mxTerminalChange> and adds the change to the current transaction.
    -	 * This implementation updates the parent of the edge using <updateEdgeParent>
    -	 * if required.
    -	 *
    -	 * Parameters:
    -	 * 
    -	 * edge - <mxCell> that specifies the edge.
    -	 * terminal - <mxCell> that specifies the new terminal.
    -	 * isSource - Boolean indicating if the terminal is the new source or
    -	 * target terminal of the edge.
    -	 */
    -	function setTerminal($edge, $terminal, $source)
    -	{
    -		$previous = $edge->getTerminal($source);
    -		
    -		$this->beginUpdate();
    -		try
    -		{
    -			if ($terminal != null)
    -			{
    -				$terminal->insertEdge($edge, $source);
    -			}
    -			else if ($previous != null)
    -			{
    -				$previous->removeEdge($edge, $source);
    -			}
    -		}
    -		catch (Exception $e)
    -		{
    -			$this->endUpdate();
    -			throw($e);
    -		}
    -		$this->endUpdate();
    -
    -        if ($this->maintainEdgeParent)
    -        {
    -			$this->updateEdgeParent($edge, $this->getRoot());
    -        }
    -
    -		return $terminal;
    -	}
    -	
    -	/**
    -	 * Function: setTerminals
    -	 * 
    -	 * Sets the source and target <mxCell> of the given <mxCell> in a single
    -	 * transaction using <setTerminal> for each end of the edge.
    -	 *
    -	 * Parameters:
    -	 * 
    -	 * edge - <mxCell> that specifies the edge.
    -	 * source - <mxCell> that specifies the new source terminal.
    -	 * target - <mxCell> that specifies the new target terminal.
    -	 */
    -	function setTerminals($edge, $source, $target)
    -	{
    -		$this->beginUpdate();
    -		try
    -		{
    -			$this->setTerminal($edge, $source, true);
    -			$this->setTerminal($edge, $target, false);
    -		}
    -		catch (Exception $e)
    -		{
    -			$this->endUpdate();
    -			throw($e);
    -		}
    -		$this->endUpdate();
    -	}
    -	
    -	/**
    -	 * Function: getEdgeCount
    -	 * 
    -	 * Returns the number of distinct edges connected to the given cell.
    -	 *
    -	 * Parameters:
    -	 * 
    -	 * cell - <mxCell> that represents the vertex.
    -	 */
    -	function getEdgeCount($cell)
    -	{
    -	 	return ($cell != null) ? $cell->getEdgeCount() : 0;
    -	}
    -	
    -	/**
    -	 * Function: getEdgeAt
    -	 * 
    -	 * Returns the edge of cell at the given index.
    -	 *
    -	 * Parameters:
    -	 * 
    -	 * cell - <mxCell> that specifies the vertex.
    -	 * index - Integer that specifies the index of the edge
    -	 * to return.
    -	 */
    -	function getEdgeAt($cell, $index)
    -	{
    -	 	return ($cell != null) ? $cell->getEdgeAt($index) : null;
    -	}
    -
    -	/**
    -	 * Function: getEdges
    -	 * 
    -	 * Returns all distinct edges connected to this cell as an array of
    -	 * <mxCells>. The return value should be only be read.
    -	 *
    -	 * Parameters:
    -	 * 
    -	 * cell - <mxCell> that specifies the cell.
    -	 */
    -	function getEdges($cell)
    -	{
    -		return ($cell != null) ? $cell->edges : null;
    -	}
    -	
    -	/**
    -	 * Function: isVertex
    -	 * 
    -	 * Returns true if the given cell is a vertex.
    -	 *
    -	 * Parameters:
    -	 * 
    -	 * cell - <mxCell> that represents the possible vertex.
    -	 */
    -	function isVertex($cell)
    -	{
    -	 	return ($cell != null) ? $cell->isVertex() : null;
    -	}
    -
    -	/**
    -	 * Function: isEdge
    -	 * 
    -	 * Returns true if the given cell is an edge.
    -	 *
    -	 * Parameters:
    -	 * 
    -	 * cell - <mxCell> that represents the possible edge.
    -	 */
    -	function isEdge($cell)
    -	{
    -	 	return ($cell != null) ? $cell->isEdge() : null;
    -	}
    -
    -	/**
    -	 * Function: isConnectable
    -	 * 
    -	 * Returns true if the given <mxCell> is connectable. If <edgesConnectable>
    -	 * is false, then this function returns false for all edges else it returns
    -	 * the return value of <mxCell.isConnectable>.
    -	 *
    -	 * Parameters:
    -	 * 
    -	 * cell - <mxCell> whose connectable state should be returned.
    -	 */
    -	function isConnectable($cell)
    -	{
    -	 	return ($cell != null) ? $cell->isConnectable() : false;
    -	}
    -
    -	/**
    -	 * Function: getValue
    -	 * 
    -	 * Returns the user object of the given <mxCell> using <mxCell.getValue>.
    -	 *
    -	 * Parameters:
    -	 * 
    -	 * cell - <mxCell> whose user object should be returned.
    -	 */
    -	function getValue($cell)
    -	{
    -	 	return ($cell != null) ? $cell->getValue() : null;
    -	}
    -	
    -	/**
    -	 * Function: setValue
    -	 * 
    -	 * Sets the user object of then given <mxCell> using <mxValueChange>
    -	 * and adds the change to the current transaction.
    -	 *
    -	 * Parameters:
    -	 * 
    -	 * cell - <mxCell> whose user object should be changed.
    -	 * value - Object that defines the new user object.
    -	 */
    -	function setValue($cell, $value)
    -	{
    -	 	$this->beginUpdate();
    -	 	try
    -	 	{
    -		 	$cell->setValue($value);
    -		}
    -		catch (Exception $e)
    -		{
    -			$this->endUpdate();
    -			throw($e);
    -		}
    -		$this->endUpdate();
    -	 	
    -	 	return $value;
    -	}
    -
    -	/**
    -	 * Function: getGeometry
    -	 * 
    -	 * Returns the <mxGeometry> of the given <mxCell>.
    -	 *
    -	 * Parameters:
    -	 * 
    -	 * cell - <mxCell> whose geometry should be returned.
    -	 */
    -	function getGeometry($cell)
    -	{
    -		if ($cell != null)
    -		{
    -			return $cell->getGeometry();
    -		}
    -		
    -		return null;
    -	}
    -
    -	/**
    -	 * Function: setGeometry
    -	 * 
    -	 * Sets the <mxGeometry> of the given <mxCell>. The actual update
    -	 * of the cell is carried out in <geometryForCellChanged>. The
    -	 * <mxGeometryChange> action is used to encapsulate the change.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * cell - <mxCell> whose geometry should be changed.
    -	 * geometry - <mxGeometry> that defines the new geometry.
    -	 */
    -	function setGeometry($cell, $geometry)
    -	{
    -		$this->beginUpdate();
    -		try
    -		{	
    -		 	$cell->setGeometry($geometry);
    -		}
    -		catch (Exception $e)
    -		{
    -			$this->endUpdate();
    -			throw($e);
    -		}
    -		$this->endUpdate();
    -	 	
    -	 	return $geometry;
    -	}
    -
    -	/**
    -	 * Function: getStyle
    -	 * 
    -	 * Returns the style of the given <mxCell>.
    -	 *
    -	 * Parameters:
    -	 * 
    -	 * cell - <mxCell> whose style should be returned.
    -	 */
    -	function getStyle($cell)
    -	{
    -	 	return ($cell != null) ? $cell->getStyle() : null;
    -	}
    -
    -	/**
    -	 * Function: setStyle
    -	 * 
    -	 * Sets the style of the given <mxCell> using <mxStyleChange> and
    -	 * adds the change to the current transaction.
    -	 *
    -	 * Parameters:
    -	 * 
    -	 * cell - <mxCell> whose style should be changed.
    -	 * style - String of the form stylename[;key=value] to specify
    -	 * the new cell style.
    -	 */
    -	function setStyle($cell, $style)
    -	{
    - 		$this->beginUpdate();
    - 		try
    - 		{
    -		 	$cell->setStyle($style);
    -		}
    -		catch (Exception $e)
    -		{
    -			$this->endUpdate();
    -			throw($e);
    -		}
    -		$this->endUpdate();
    -	 	
    -	 	return $style;
    -	}
    -	
    -	/**
    -	 * Function: isCollapsed
    -	 * 
    -	 * Returns true if the given <mxCell> is collapsed.
    -	 *
    -	 * Parameters:
    -	 * 
    -	 * cell - <mxCell> whose collapsed state should be returned.
    -	 */
    -	function isCollapsed($cell)
    -	{
    -	 	return ($cell != null) ? $cell->isCollapsed() : false;
    -	}
    -	
    -	/**
    -	 * Function: setCollapsed
    -	 * 
    -	 * Sets the collapsed state of the given <mxCell> using <mxCollapseChange>
    -	 * and adds the change to the current transaction.
    -	 *
    -	 * Parameters:
    -	 * 
    -	 * cell - <mxCell> whose collapsed state should be changed.
    -	 * collapsed - Boolean that specifies the new collpased state.
    -	 */
    -	function setCollapsed($cell, $isCollapsed)
    -	{
    -	 	$this->beginUpdate();
    -	 	try
    -	 	{
    -		 	$cell->setCollapsed($isCollapsed);
    -		}
    -		catch (Exception $e)
    -		{
    -			$this->endUpdate();
    -			throw($e);
    -		}
    -		$this->endUpdate();
    -	 	
    -	 	return $isCollapsed;
    -	}
    -
    -	/**
    -	 * Function: isVisible
    -	 * 
    -	 * Returns true if the given <mxCell> is visible.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * cell - <mxCell> whose visible state should be returned.
    -	 */
    -	function isVisible($cell)
    -	{
    -	 	return ($cell != null) ? $cell->isVisible() : false;
    -	}
    -
    -	/**
    -	 * Function: setVisible
    -	 * 
    -	 * Sets the visible state of the given <mxCell> using <mxVisibleChange> and
    -	 * adds the change to the current transaction.
    -	 *
    -	 * Parameters:
    -	 * 
    -	 * cell - <mxCell> whose visible state should be changed.
    -	 * visible - Boolean that specifies the new visible state.
    -	 */
    -	function setVisible($cell, $visible)
    -	{
    -	 	$this->beginUpdate();
    -	 	try
    -	 	{
    -		 	$cell->setVisible($visible);
    -		}
    -		catch (Exception $e)
    -		{
    -			$this->endUpdate();
    -			throw($e);
    -		}
    -		$this->endUpdate();
    -	 	
    -	 	return $isVisible;
    -	}
    -
    -	/**
    -	 * Function: mergeChildren
    -	 * 
    -	 * Merges the children of the given cell into the given target cell inside
    -	 * this model. All cells are cloned unless there is a corresponding cell in
    -	 * the model with the same id, in which case the source cell is ignored and
    -	 * all edges are connected to the corresponding cell in this model. Edges
    -	 * are considered to have no identity and are always cloned unless the
    -	 * cloneAllEdges flag is set to false, in which case edges with the same
    -	 * id in the target model are reconnected to reflect the terminals of the
    -	 * source edges.
    -	 */
    -	function mergeChildren($from, $to, $cloneAllEdges = true)
    -	{
    -		$this->beginUpdate();
    -		try
    -		{
    -			$mapping = array();
    -			$this->mergeChildrenImpl($from, $to, $cloneAllEdges, $mapping);
    -			
    -			// Post-processes all edges in the mapping and
    -			// reconnects the terminals to the corresponding
    -			// cells in the target model
    -			foreach ($mapping as $key => $cell)
    -			{
    -				$terminal = $this->getTerminal($cell, $true);
    -				
    -				if (isset($terminal))
    -				{
    -					$terminal = $mapping[mxCellPath::create($terminal)];
    -					$this->setTerminal($cell, $terminal, $true);
    -				}
    -				
    -				$terminal = $this->getTerminal(cell, false);
    -				
    -				if (isset($terminal))
    -				{
    -					$terminal = $mapping[mxCellPath::create($terminal)];
    -					$this->setTerminal($cell, $terminal, false);
    -				}
    -			}
    -		}
    -		catch (Exception $e)
    -		{
    -			$this->endUpdate();
    -			throw($e);
    -		}
    -		$this->endUpdate();
    -	}
    -
    -	/**
    -	 * Function: mergeChildrenImpl
    -	 * 
    -	 * Clones the children of the source cell into the given target cell in
    -	 * this model and adds an entry to the mapping that maps from the source
    -	 * cell to the target cell with the same id or the clone of the source cell
    -	 * that was inserted into this model.
    -	 */
    -	function mergeChildrenImpl($from, $to, $cloneAllEdges, $mapping)
    -	{
    -		$this->beginUpdate();
    -		try
    -		{
    -			$childCount = $from->getChildCount();
    -			
    -			for ($i = 0; $i < $childCount; $i++)
    -			{
    -				$cell = $from->getChildAt($i);
    -				$id = $cell->getId();
    -				$target = (isset($d) && (!$this->isEdge($cell) || !$cloneAllEdges)) ?
    -						$this->getCell($id) : null;
    -				
    -				// Clones and adds the child if no cell exists for the id
    -				if (!isset($target))
    -				{
    -					$clone = $cell->clone();
    -					$clone->setId($id);
    -					
    -					// Sets the terminals from the original cell to the clone
    -					// because the lookup uses strings not cells in PHP
    -					$clone->setTerminal($cell->getTerminal(true), true);
    -					$clone->setTerminal($cell->getTerminal(false), false);
    -											
    -					// Do *NOT* use model.add as this will move the edge away
    -					// from the parent in updateEdgeParent if maintainEdgeParent
    -					// is enabled in the target model
    -					$target = $to->insert($clone);
    -					$this->cellAdded($target);
    -				}
    -				
    -				// Stores the mapping for later reconnecting edges
    -				$mapping[mxCellPath::create($cell)] = $target;
    -				
    -				// Recurses
    -				$this->mergeChildrenImpl($cell, $target, $cloneAllEdges, $mapping);
    -			}
    -		}
    -		catch (Exception $e)
    -		{
    -			$this->endUpdate();
    -			throw($e);
    -		}
    -		$this->endUpdate();
    -	}
    -
    -	/**
    -	 * Function: beginUpdate
    -	 * 
    -	 * Increments the <updateLevel> by one. The event notification
    -	 * is queued until <updateLevel> reaches 0 by use of
    -	 * <endUpdate>.
    -	 */
    -	function beginUpdate()
    -	{
    -		$this->updateLevel++;
    -	}
    -
    -	/**
    -	 * Function: endUpdate
    -	 * 
    -	 * Decrements the <updateLevel> by one and fires a notification event if
    -	 * the <updateLevel> reaches 0. This function indirectly fires a
    -	 * notification.
    -	 */
    -	function endUpdate()
    -	{
    -		$this->updateLevel--;
    -
    -		if ($this->updateLevel == 0)
    -		{
    -			$this->fireEvent(new mxEventObject(mxEvent::$GRAPH_MODEL_CHANGED));
    -		}
    -	}
    -
    -	/**
    -	 * Function: getDirectedEdgeCount
    -	 * 
    -	 * Returns the number of incoming or outgoing edges, ignoring the given
    -	 * edge.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * cell - <mxCell> whose edge count should be returned.
    -	 * outgoing - Boolean that specifies if the number of outgoing or
    -	 * incoming edges should be returned.
    -	 * ignoredEdge - <mxCell> that represents an edge to be ignored.
    -	 */
    -	function getDirectedEdgeCount($cell, $outgoing, $ignoredEdge = null)
    -	{
    -		$count = 0;
    -		$edgeCount = $this->getEdgeCount($cell);
    -
    -		for ($i = 0; $i < $edgeCount; $i++)
    -		{
    -			$edge = $this->getEdgeAt($cell, $i);
    -			
    -			if ($edge !== $ignoredEdge &&
    -				$this->getTerminal($edge, $outgoing) === $cell)
    -			{
    -				$count++;
    -			}
    -		}
    -		
    -		return $count;
    -	}
    -
    -}
    -
    -?>
    diff --git a/php/src/mxServer.php b/php/src/mxServer.php
    deleted file mode 100644
    index 6420f12a0..000000000
    --- a/php/src/mxServer.php
    +++ /dev/null
    @@ -1,51 +0,0 @@
    -<?php
    -/**
    - * Copyright (c) 2006, Gaudenz Alder
    - *
    - * Class: mxServer
    - *
    - * Bootstrapping for the PHP backend. This is version 4.0.3
    - * of mxGraph.
    - *
    - * Variable: MXGRAPH-VERSION
    - *
    - * Constant that holds the current mxGraph version. The current version
    - * is 4.0.3.
    - */
    -define("MXGRAPH-VERSION", "4.0.3");
    -
    -// Disables external entities in XML
    -libxml_disable_entity_loader(true);
    -
    -include_once("util/mxLog.php");
    -include_once("util/mxConstants.php");
    -include_once("util/mxUtils.php");
    -include_once("util/mxPoint.php");
    -include_once("util/mxRectangle.php");
    -include_once("util/mxEvent.php");
    -include_once("util/mxEventObject.php");
    -include_once("util/mxEventSource.php");
    -include_once("util/mxImageBundle.php");
    -include_once("model/mxCell.php");
    -include_once("model/mxCellPath.php");
    -include_once("model/mxGeometry.php");
    -include_once("model/mxGraphModel.php");
    -include_once("canvas/mxGdCanvas.php");
    -include_once("canvas/mxHtmlCanvas.php");
    -include_once("reader/mxGraphViewImageReader.php");
    -include_once("reader/mxGraphViewHtmlReader.php");
    -include_once("view/mxCellState.php");
    -include_once("view/mxConnectionConstraint.php");
    -include_once("view/mxStylesheet.php");
    -include_once("view/mxPerimeter.php");
    -include_once("view/mxEdgeStyle.php");
    -include_once("view/mxStyleRegistry.php");
    -include_once("view/mxGraphView.php");
    -include_once("view/mxGraph.php");
    -include_once("io/mxCodecRegistry.php");
    -include_once("io/mxCodec.php");
    -include_once("io/mxObjectCodec.php");
    -include_once("io/mxCellCodec.php");
    -include_once("io/mxModelCodec.php");
    -include_once("io/mxStylesheetCodec.php");
    -?>
    diff --git a/php/src/reader/mxGraphViewHtmlReader.php b/php/src/reader/mxGraphViewHtmlReader.php
    deleted file mode 100644
    index 6964303b4..000000000
    --- a/php/src/reader/mxGraphViewHtmlReader.php
    +++ /dev/null
    @@ -1,68 +0,0 @@
    -<?php
    -/**
    - * Copyright (c) 2006-2013, Gaudenz Alder
    - */
    -
    -class mxGraphViewHtmlReader extends mxGraphViewImageReader
    -{
    -
    -	/**
    -	 * Class: mxGraphViewHtmlReader
    -	 *
    -	 * A display XML to HTML converter. This allows to create an image of a graph
    -	 * without having to parse and create the graph model using the XML file
    -	 * created for the mxGraphView object in the thin client.
    -	 * 
    -	 * Constructor: mxGraphViewHtmlReader
    -	 *
    -	 * Constructs a new HTML graph view reader.
    -	 */
    -	function mxGraphViewHtmlReader()
    -	{
    -		parent::mxGraphViewImageReader();
    -	}
    -
    -	/**
    -	 * Function: createCanvas
    -	 *
    -	 * Returns the canvas to be used for rendering.
    -	 */
    -	function createCanvas($attrs)
    -	{
    -		return new mxHtmlCanvas($this->scale);
    -	}
    -
    -	/**
    -	 * Function: convert
    -	 *
    -	 * Creates the HTML markup for the given display XML string.
    -	 */
    -	static function convert($string, $background = null)
    -	{
    -		$viewReader = new mxGraphViewHtmlReader();
    -		
    -		$viewReader->read($string);
    -		$html = $viewReader->canvas->getHtml();
    -		$viewReader->destroy();
    -		
    -		return $html;	
    -	}
    -
    -	/**
    -	 * Function: convertFile
    -	 *
    -	 * Creates the HTML markup for the given display XML file.
    -	 */
    -	static function convertFile($filename, $background = null)
    -	{
    -		$viewReader = new mxGraphViewHtmlReader();
    -		
    -		$viewReader->readFile($filename);
    -		$html = $viewReader->canvas->getHtml();
    -		$viewReader->destroy();
    -		
    -		return $html;		
    -	}
    -
    -}
    -?>
    diff --git a/php/src/reader/mxGraphViewImageReader.php b/php/src/reader/mxGraphViewImageReader.php
    deleted file mode 100644
    index b32a63e82..000000000
    --- a/php/src/reader/mxGraphViewImageReader.php
    +++ /dev/null
    @@ -1,293 +0,0 @@
    -<?php
    -/**
    - * Copyright (c) 2006-2013, Gaudenz Alder
    - */
    -
    -class mxGraphViewImageReader
    -{
    -
    -	/**
    -	 * Class: mxGraphViewImageReader
    -	 *
    -	 * A display XML to image converter. This allows to create an image of a graph
    -	 * without having to parse and create the graph model using the XML file
    -	 * created for the mxGraphView object in the thin client.
    -	 *
    -	 * To create the XML for the mxGraphView on the client:
    -	 *
    -	 * (code)
    -	 * var enc = new mxCodec(mxUtils.createXMLDocument());
    -	 * var node = enc.encode(editor.graph.view);
    -	 * var xml = mxUtils.getXML(node);
    -	 * (end)
    -	 * 
    -	 * Variable: canvas
    -	 *
    -	 * Holds the canvas.
    -	 */
    -	var $canvas;
    -	
    -	/**
    -	 * Variable: scale
    -	 * 
    -	 * Holds the global scale of the graph. This is set just before
    -	 * createCanvas is called.
    -	 */
    -	var $scale = 1;
    -	
    -	/**
    -	 * Variable: parser
    -	 *
    -	 * Holds the SAX parser.
    -	 */
    -	var $parser;
    -	
    -	/**
    -	 * Variable: background
    -	 *
    -	 * Holds the background color.
    -	 */
    -	var $background;
    -	
    -	/**
    -	 * Variable: border
    -	 *
    -	 * Holds the border size. Default is 0.
    -	 */
    -	var $border;
    -
    -	/**
    -	 * Constructor: mxGraphViewImageReader
    -	 *
    -	 * Constructs a new image graph view reader.
    -	 */
    -	function mxGraphViewImageReader($background = null, $border = 0)
    -	{
    -		$this->parser = xml_parser_create();
    -		
    -		xml_parser_set_option($this->parser, XML_OPTION_CASE_FOLDING, 0);
    -		xml_set_object($this->parser, $this);
    -		xml_set_element_handler($this->parser, "startElement", "endElement");
    -			
    -		$this->background = $background;
    -		$this->border = $border;
    -	}
    -
    -	/**
    -	 * Function: createCanvas
    -	 *
    -	 * Returns the canvas to be used for rendering.
    -	 */
    -	function createCanvas($attrs)
    -	{
    -		$width = $attrs["x"] + $attrs["width"] + $this->border + 1;
    -		$height = $attrs["y"] + $attrs["height"] + $this->border + 1;
    -
    -		return new mxGdCanvas($width, $height, $this->scale, $this->background);
    -	}
    -
    -	/**
    -	 * Function: read
    -	 *
    -	 * Reads the specified view XML string.
    -	 */
    -	function read($string)
    -	{
    -		xml_parse($this->parser, $string, true);
    -	}
    -	
    -	/**
    -	 * Function: readFile
    -	 *
    -	 * Reads the specified view XML file in blocks of 4096 bytes.
    -	 */
    -	function readFile($filename)
    -	{
    -		$fp = fopen($filename, "r");
    -		
    -		while ($data = fread($fp, 4096))
    -		{
    -			xml_parse($this->parser, $data, feof($fp)) or
    -			die (sprintf("XML Error: %s at line %d", 
    -				xml_error_string(xml_get_error_code($this->parser)),
    -				xml_get_current_line_number($this->parser)));
    -		}
    -		
    -		fclose($fp);
    -	}
    -
    -	/**
    -	 * Function: startElement
    -	 *
    -	 * Invoked by the SAX parser when an element starts.
    -	 */
    -	function startElement($parser, $name, $attrs)
    -	{
    -		if ($this->canvas == null && $name == "graph")
    -		{
    -			$this->scale = mxUtils::getValue($attrs, "scale", 1);
    -			$this->canvas = $this->createCanvas($attrs);
    -		}
    -		else if ($this->canvas != null)
    -		{
    -			$edge = $name == "edge";
    -			$group = $name == "group";
    -			$vertex = $name == "vertex";
    -			
    -			if (($edge && isset($attrs["points"])) ||
    -				(($vertex || $group) && isset($attrs["x"]) &&
    -				isset($attrs["y"]) && isset($attrs["width"]) &&
    -				isset($attrs["height"])))
    -			{
    -				$state = new mxCellState(null, null, $attrs);
    -
    -				$label = $this->parseState($state, $edge);
    -				$this->canvas->drawCell($state);
    -				$this->canvas->drawLabel($label, $state, false);
    -			}
    -		}
    -	}
    -	
    -	/**
    -	 * Function: parseState
    -	 *
    -	 * Parses the bounds, absolute points and label information from the style
    -	 * of the state into its respective fields and returns the label of the
    -	 * cell.
    -	 */
    -	function parseState($state, $edge)
    -	{
    -		$style = $state->style;
    -
    -		// Parses the bounds
    -		$state->x = mxUtils::getNumber($style, "x");
    -		$state->y = mxUtils::getNumber($style, "y");
    -		$state->width = mxUtils::getNumber($style, "width");
    -		$state->height = mxUtils::getNumber($style, "height");
    -
    -		// Parses the absolute points list
    -		$tmp = mxUtils::getValue($style, "points");
    -		
    -		if (strlen($tmp) > 0)
    -		{
    -			$pts = $this->parsePoints($tmp);
    -			
    -			if (sizeof($pts) > 0)
    -			{
    -				$state->absolutePoints = $pts;
    -			}
    -		}
    -		
    -        // Parses the label and label bounds
    -		$label = mxUtils::getValue($style, "label");
    -		
    -		if ($label != null && strlen($label) > 0)
    -		{
    -			$offset = new mxPoint(mxUtils::getNumber($style, "dx"),
    -				mxUtils::getNumber($style, "dy"));
    -			$vertexBounds = (!$edge) ? $state : null;
    -			$state->labelBounds = mxUtils::getLabelPaintBounds($label, $style,
    -				mxUtils::getValue($style, "html", false), $offset,
    -				$vertexBounds, $this->scale);
    -		}
    -		
    -		return $label;
    -	}
    -
    -	/**
    -	 * Function: parsePoints
    -	 * 
    -	 * Parses a string that represents a list of points into an array of
    -	 * <mxPoints>.
    -	 */
    -	function parsePoints($str)
    -	{
    -		$pts = array();
    -		
    -		if (isset($str))
    -		{
    -		 	$len = strlen($str);
    -			$tmp = "";
    -			$x = "";
    -	
    -		 	for ($i = 0; $i < $len; $i++)
    -		 	{
    -		 		$c = $str[$i];
    -		 		
    -		 		if ($c == "," || $c == " ")
    -		 		{
    -		 			if (strlen($x) == 0)
    -		 			{
    -		 				$x = $tmp;
    -		 			}
    -		 			else
    -		 			{
    -		 				array_push($pts, new mxPoint($x, $tmp));
    -		 				$x = "";
    -		 			}
    -		 			
    -	 				$tmp = "";
    -		 		}
    -		 		else
    -		 		{
    -					$tmp .= $c;	 		
    -		 		}
    -		 	}
    -		 	
    -		 	array_push($pts, new mxPoint($x, $tmp));
    -		}
    -		
    -	 	return $pts;
    -	}
    -
    -	/**
    -	 * Function: endElement
    -	 *
    -	 * Invoked by the SAX parser when an element ends.
    -	 */
    -	function endElement($parser, $name)
    -	{
    -	 	// ignore
    -	}
    -
    -	/**
    -	 * Destructor: destroy
    -	 *
    -	 * Destroy all allocated resources for this reader.
    -	 */
    -	function destroy()
    -	{
    -	 	$this->canvas->destroy();
    -	 	xml_parser_free($this->parser);
    -	}
    -
    -	/**
    -	 * Function: convert
    -	 *
    -	 * Creates the image for the given display XML string.
    -	 */
    -	static function convert($string, $background = null)
    -	{
    -		$viewReader = new mxGraphViewImageReader($background);
    -		$viewReader->read($string);
    -		$image = $viewReader->canvas->getImage();
    -		
    -		return $image;	
    -	}
    -
    -	/**
    -	 * Function: convertFile
    -	 *
    -	 * Creates the image for the given display XML file.
    -	 */
    -	static function convertFile($filename, $background = null)
    -	{
    -		$viewReader = new mxGraphViewImageReader($background);
    -		$viewReader->readFile($filename);
    -		$image = $viewReader->canvas->getImage();
    -		
    -		return $image;		
    -	}
    -
    -}
    -?>
    diff --git a/php/src/util/mxConstants.php b/php/src/util/mxConstants.php
    deleted file mode 100644
    index 98ff85a16..000000000
    --- a/php/src/util/mxConstants.php
    +++ /dev/null
    @@ -1,1165 +0,0 @@
    -<?php
    -/**
    - * Copyright (c) 2006-2013, Gaudenz Alder
    - */
    -class mxConstants
    -{
    -
    -	/**
    -	 * Class: mxConstants
    -	 *
    -	 * Defines global constants.
    -	 * 
    -	 * Variable: RAD_PER_DEG
    -	 *
    -	 * Defines the number of radiants per degree.
    -	 */
    -	public static $RAD_PER_DEG = 0.0174532;
    -
    -	/**
    -	 * Variable: DEG_PER_RAD
    -	 *
    -	 * Defines the number of degrees per radiant.
    -	 */
    -	public static $DEG_PER_RAD = 57.2957795;
    -
    -	/**
    -	 * Variable: ACTIVE_REGION
    -	 *
    -	 * Defines the portion of the cell which is
    -	 * to be used as a connectable region.
    -	 */
    -	public static $ACTIVE_REGION = 0.3;
    -
    -	/**
    -	 * Variable: MIN_ACTIVE_REGION
    -	 *
    -	 * Defines the minimum size in pixels of the 
    -	 * portion of the cell cell which is to be 
    -	 * used as a connectable region.
    -	 */
    -	public static $MIN_ACTIVE_REGION = 8;
    -
    -	/**
    -	 * Variable: NS_SVG
    -	 *
    -	 * Defines the SVG namespace.
    -	 */
    -	public static $NS_SVG = "http://www.w3.org/2000/svg";
    -
    -	/**
    -	 * Variable: NS_XHTML
    -	 *
    -	 * Defines the XHTML namespace.
    -	 */
    -	public static $NS_XHTML = "http://www.w3.org/1999/xhtml";
    -
    -	/**
    -	 * Variable: NS_XLINK
    -	 *
    -	 * Defined the XLink namespace.
    -	 */
    -	public static $NS_XLINK = "http://www.w3.org/1999/xlink";
    -
    -	/**
    -	 * Variable: W3C_SHADOWCOLOR
    -	 *
    -	 * Defines the color to be used to draw
    -	 * shadows in DOM documents.
    -	 */
    -	public static $W3C_SHADOWCOLOR = "gray";
    -
    -	/**
    -	 * Variable: SHADOW_OFFSETX
    -	 *
    -	 * Defines the x-offset to be used for shadows. Default is 2.
    -	 */
    -	public static $SHADOW_OFFSETX = 2;
    -
    -	/**
    -	 * Variable: SHADOW_OFFSETY
    -	 *
    -	 * Defines the y-offset to be used for shadows. Default is 3.
    -	 */
    -	public static $SHADOW_OFFSETY = 3;
    -
    -	/**
    -	 * Variable: W3C_DEFAULT_FONTFAMILY
    -	 * 
    -	 * Defines the default family for HTML markup. Default is times, serif.
    -	 */
    -	public static $W3C_DEFAULT_FONTFAMILY = "times, serif";
    -
    -	/**
    -	 * Variable: TTF_ENABLED
    -	 * 
    -	 * Whether TrueType fonts should be enabled in the mxGdCanvas
    -	 * by default. Default is true.
    -	 */
    -	public static $TTF_ENABLED = true;
    -
    -	/**
    -	 * Variable: TTF_SIZEFACTOR
    -	 * 
    -	 * Defines the factor which wich the font sizes are to be
    -	 * multiplied when used in truetype fonts. Default is 0.66.
    -	 */
    -	public static $TTF_SIZEFACTOR = 0.66;
    -
    -	/**
    -	 * Variable: DEFAULT_FONTFAMILY
    -	 * 
    -	 * Defines the default family for all truetype fonts. Default is vera.
    -	 */
    -	public static $DEFAULT_FONTFAMILY = "vera";
    -
    -	/**
    -	 * Variable: DEFAULT_FONTSIZE
    -	 * 
    -	 * Defines the default size (in px). Default is 11.
    -	 */
    -	public static $DEFAULT_FONTSIZE = 11;
    -
    -	/**
    -	 * Variable: DEFAULT_STARTSIZE
    -	 * 
    -	 * Defines the default start size for swimlanes. Default is 40.
    -	 */
    -	public static $DEFAULT_STARTSIZE = 40;
    -	
    -	/**
    -	 * Variable: DEFAULT_LINESPACING
    -	 * 
    -	 * Defines the default linespacing. Default is 7.
    -	 */
    -	public static $DEFAULT_LINESPACING = 7;
    -
    -	/**
    -	 * Variable: LABEL_INSET
    -	 * 
    -	 * Defines the inset in absolute pixels between the label bounding box and
    -	 * the label text. Default is 3.
    -	 */
    -	public static $LABEL_INSET = 3;
    -
    -	/**
    -	 * Variable: DEFAULT_MARKERSIZE
    -	 * 
    -	 * Defines the default size for all markers. Default is 6.
    -	 */
    -	public static $DEFAULT_MARKERSIZE = 6;
    -
    -	/**
    -	 * Variable: DEFAULT_IMAGESIZE
    -	 * 
    -	 * Defines the default width and height for images used in the
    -	 * label shape. Default is 24.
    -	 */
    -	public static $DEFAULT_IMAGESIZE = 24;
    -
    -	/**
    -	 * Variable: ENTITY_SEGMENT
    -	 * 
    -	 * Defines the length of the horizontal segment of an Entity Relation.
    -	 * This can be overridden using <mxConstants.STYLE_SEGMENT> style.
    -	 * Default is 30.
    -	 */
    -	public static $ENTITY_SEGMENT = 30;
    -
    -	/**
    -	 * Variable: ARROW_SPACING
    -	 * 
    -	 * Defines the spacing between the arrow shape and its terminals. Default
    -	 * is 10.
    -	 */
    -	public static $ARROW_SPACING = 10;
    -
    -	/**
    -	 * Variable: ARROW_WIDTH
    -	 * 
    -	 * Defines the width of the arrow shape. Default is 30.
    -	 */
    -	public static $ARROW_WIDTH = 30;
    -
    -	/**
    -	 * Variable: ARROW_SIZE
    -	 * 
    -	 * Defines the size of the arrowhead in the arrow shape. Default is 30.
    -	 */
    -	public static $ARROW_SIZE = 30;
    -
    -	/**
    -	 * Variable: NONE
    -	 * 
    -	 * Defines the value for none. Default is "none".
    -	 */
    -	public static $NONE = "none";
    -
    -	/**
    -	 * Variable: STYLE_PERIMETER
    -	 *
    -	 * Defines the key for the perimeter style. This is a function that defines
    -	 * the perimeter around a particular shape. Possible values are the
    -	 * functions defined in <mxPerimeter>. Alternatively, the constants in this
    -	 * class that start with <code>PERIMETER_</code> may be used to access
    -	 * perimeter styles in <mxStyleRegistry>.
    -	 */
    -	public static $STYLE_PERIMETER = "perimeter";
    -	
    -	/**
    -	 * Defines the ID of the cell that should be used for computing the
    -	 * perimeter point of the source for an edge. This allows for graphically
    -	 * connecting to a cell while keeping the actual terminal of the edge.
    -	 */
    -	public static $STYLE_SOURCE_PORT = "sourcePort";
    -	
    -	/**
    -	 * Defines the ID of the cell that should be used for computing the
    -	 * perimeter point of the target for an edge. This allows for graphically
    -	 * connecting to a cell while keeping the actual terminal of the edge.
    -	 */
    -	public static $STYLE_TARGET_PORT = "targetPort";
    -	
    -	/**
    -	 * Variable: STYLE_OPACITY
    -	 *
    -	 * Defines the key for the opacity style. The type of the value is 
    -	 * numeric and the possible range is 0-100.
    -	 */
    -	public static $STYLE_OPACITY = "opacity";
    -
    -	/**
    -	 * Variable: STYLE_TEXT_OPACITY
    -	 *
    -	 * Defines the key for the text opacity style. The type of the value is 
    -	 * numeric and the possible range is 0-100.
    -	 */
    -	public static $STYLE_TEXT_OPACITY = "textOpacity";
    -
    -	/**
    -	 * Variable: STYLE_OVERFLOW
    -	 * 
    -	 * Defines the key for the overflow style. Possible values are "visible",
    -	 * "hidden" and "fill". The default value is "visible". This value
    -	 * specifies how overlapping vertex labels are handles. A value of
    -	 * "visible" will show the complete label. A value of "hidden" will clip
    -	 * the label so that it does not overlap the vertex bounds. A value of
    -	 * "fill" will use the vertex bounds for the label.
    -	 * 
    -	 * This style is ignored in PHP.
    -	 */
    -	public static $STYLE_OVERFLOW = "overflow";
    -
    -    /**
    -	 * Variable: STYLE_ORTHOGONAL
    -	 *
    -	 * Defines if the connection points on either end of the edge should be
    -	 * computed so that the edge is vertical or horizontal if possible and
    -	 * if the point is not at a fixed location. Default is false. This is
    -	 * used in <mxGraph.isOrthogonal>, which also returns true if the edgeStyle
    -	 * of the edge is an elbow or entity.
    -	 */
    -    public static $STYLE_ORTHOGONAL = "orthogonal";
    -
    -    /**
    -	 * Variable: STYLE_EXIT_X
    -	 *
    -	 * Defines the key for the horizontal relative coordinate connection point
    -	 * of an edge with its source terminal.
    -	 */
    -    public static $STYLE_EXIT_X = "exitX";
    -
    -    /**
    -	 * Variable: STYLE_EXIT_Y
    -	 *
    -	 * Defines the key for the vertical relative coordinate connection point
    -	 * of an edge with its source terminal.
    -	 */
    -    public static $STYLE_EXIT_Y = "exitY";
    -
    -    /**
    -	 * Variable: STYLE_EXIT_PERIMETER
    -	 *
    -	 * Defines if the perimeter should be used to find the exact entry point
    -	 * along the perimeter of the source. Possible values are 0 (false) and
    -	 * 1 (true). Default is 1 (true).
    -	 */
    -    public static $STYLE_EXIT_PERIMETER = "exitPerimeter";
    -
    -    /**
    -	 * Variable: STYLE_ENTRY_X
    -	 *
    -	 * Defines the key for the horizontal relative coordinate connection point
    -	 * of an edge with its target terminal.
    -	 */
    -    public static $STYLE_ENTRY_X = "entryX";
    -
    -    /**
    -	 * Variable: STYLE_ENTRY_Y
    -	 *
    -	 * Defines the key for the vertical relative coordinate connection point
    -	 * of an edge with its target terminal.
    -	 */
    -    public static $STYLE_ENTRY_Y = "entryY";
    -
    -    /**
    -	 * Variable: sSTYLE_ENTRY_PERIMETER
    -	 *
    -	 * Defines if the perimeter should be used to find the exact entry point
    -	 * along the perimeter of the target. Possible values are 0 (false) and
    -	 * 1 (true). Default is 1 (true).
    -	 */
    -    public static $STYLE_ENTRY_PERIMETER = "entryPerimeter";
    -	
    -	/**
    -	 * Variable: STYLE_WHITE_SPACE
    -	 * 
    -	 * Defines the key for the white-space style. Possible values are "nowrap"
    -	 * and "wrap". The default value is "nowrap". This value specifies how
    -	 * white-space inside a HTML vertex label should be handled. A value of
    -	 * "nowrap" means the text will never wrap to the next line until a
    -	 * linefeed is encountered. A value of "wrap" means text will wrap when
    -	 * necessary. This style is only used for HTML labels.
    -	 * 
    -	 * This style is ignored in PHP.
    -	 */
    -	public static $STYLE_WHITE_SPACE = "whiteSpace";
    -	
    -	/**
    -	 * Variable: STYLE_ROTATION
    -	 *
    -	 * Defines the key for the rotation style. The type of the value is 
    -	 * numeric and the possible range is 0-360.
    -	 */
    -	public static $STYLE_ROTATION = "rotation";
    -
    -	/**
    -	 * Variable: STYLE_FILLCOLOR
    -	 *
    -	 * Defines the key for the fill color. Possible values are all HTML color
    -	 * names or HEX codes, as well as special keywords such as 'swimlane,
    -	 * 'inherit' or 'indicated' to use the color code of a related cell or the
    -	 * indicator shape.
    -	 */
    -	public static $STYLE_FILLCOLOR = "fillColor";
    -	
    -	/**
    -	 * Variable: STYLE_SWIMLANE_FILLCOLOR
    -	 *
    -	 * Defines the key for the fill color of the swimlane background. Possible
    -	 * values are all HTML color names or HEX codes. Default is no background.
    -	 * Value is "swimlaneFillColor".
    -	 */
    -	public static $STYLE_SWIMLANE_FILLCOLOR = "swimlaneFillColor";
    -
    -	/**
    -	 * Variable: STYLE_GRADIENTCOLOR
    -	 *
    -	 * Defines the key for the gradient color. Possible values are all HTML color
    -	 * names or HEX codes, as well as special keywords such as 'swimlane,
    -	 * 'inherit' or 'indicated' to use the color code of a related cell or the
    -	 * indicator shape. This is ignored if no fill color is defined.
    -	 */
    -	public static $STYLE_GRADIENTCOLOR = "gradientColor";
    -
    -	/**
    -	 * Variable: STYLE_GRADIENT_DIRECTION
    -	 * 
    -	 * Defines the key for the gradient direction. Possible values are
    -	 * <DIRECTION_EAST>, <DIRECTION_WEST>, <DIRECTION_NORTH> and
    -	 * <DIRECTION_SOUTH>. Default is <DIRECTION_SOUTH>. Generally, and by
    -	 * default in mxGraph, gradient painting is done from the value of
    -	 * <STYLE_FILLCOLOR> to the value of <STYLE_GRADIENTCOLOR>. Taking the
    -	 * example of <DIRECTION_NORTH>, this means <STYLE_FILLCOLOR> color at the 
    -	 * bottom of paint pattern and <STYLE_GRADIENTCOLOR> at top, with a
    -	 * gradient in-between.
    -	 */
    -	public static $STYLE_GRADIENT_DIRECTION = "gradientDirection";
    -	
    -	/**
    -	 * Variable: STYLE_STROKECOLOR
    -	 *
    -	 * Defines the key for the strokeColor style. Possible values are all HTML
    -	 * color names or HEX codes, as well as special keywords such as 'swimlane,
    -	 * 'inherit' or 'indicated' to use the color code of a related cell or the
    -	 * indicator shape.
    -	 */
    -	public static $STYLE_STROKECOLOR = "strokeColor";
    -
    -	/**
    -	 * Variable: STYLE_SEPARATORCOLOR
    -	 *
    -	 * Defines the key for the separatorColor style. Possible values are all
    -	 * HTML color names or HEX codes. This style is only used for
    -	 * <SHAPE_SWIMLANE> shapes.
    -	 */
    -	public static $STYLE_SEPARATORCOLOR = "separatorColor";
    -
    -	/**
    -	 * Variable: STYLE_STROKEWIDTH
    -	 *
    -	 * Defines the key for the strokeWidth style. The type of the value is 
    -	 * numeric and the possible range is any non-negative value. The value
    -	 * the stroke width in pixels.
    -	 */
    -	public static $STYLE_STROKEWIDTH = "strokeWidth";
    -
    -	/**
    -	 * Variable: STYLE_ALIGN
    -	 *
    -	 * Defines the key for the align style. Possible values are <ALIGN_LEFT>,
    -	 * <ALIGN_CENTER> and <ALIGN_RIGHT>. This value defines how the lines of
    -	 * the label are horizontally aligned. <ALIGN_LEFT> mean label text lines
    -	 * are aligned to left of the label bounds, <ALIGN_RIGHT> to the right of
    -	 * the label bounds and <ALIGN_CENTER> means the center of the text lines
    -	 * are aligned in the center of the label bounds. Note this value doesn't
    -	 * affect the positioning of the overall label bounds relative to the
    -	 * vertex, to move the label bounds horizontally, use
    -	 * <STYLE_LABEL_POSITION>.
    -	 */
    -	public static $STYLE_ALIGN = "align";
    -
    -	/**
    -	 * Variable: STYLE_VERTICAL_ALIGN
    -	 *
    -	 * Defines the key for the verticalAlign style. Possible values are
    -	 * <ALIGN_TOP>, <ALIGN_MIDDLE> and <ALIGN_BOTTOM>. This value defines how
    -	 * the lines of the label are vertically aligned. <ALIGN_TOP> means the
    -	 * topmost label text line is aligned against the top of the label bounds,
    -	 * <ALIGN_BOTTOM> means the bottom-most label text line is aligned against
    -	 * the bottom of the label bounds and <ALIGN_MIDDLE> means there is equal
    -	 * spacing between the topmost text label line and the top of the label
    -	 * bounds and the bottom-most text label line and the bottom of the label
    -	 * bounds. Note this value doesn't affect the positioning of the overall
    -	 * label bounds relative to the vertex, to move the label bounds
    -	 * vertically, use <STYLE_VERTICAL_LABEL_POSITION>.
    -	 */
    -	public static $STYLE_VERTICAL_ALIGN = "verticalAlign";
    -
    -	/**
    -	 * Variable: STYLE_LABEL_POSITION
    -	 * 
    -	 * Defines the key for the horizontal label position of vertices. Possible
    -	 * values are <ALIGN_LEFT>, <ALIGN_CENTER> and <ALIGN_RIGHT>. Default is
    -	 * <ALIGN_CENTER>. The label align defines the position of the label
    -	 * relative to the cell. <ALIGN_LEFT> means the entire label bounds is
    -	 * placed completely just to the left of the vertex, <ALIGN_RIGHT> means
    -	 * adjust to the right and <ALIGN_CENTER> means the label bounds are
    -	 * vertically aligned with the bounds of the vertex. Note this value
    -	 * doesn't affect the positioning of label within the label bounds, to move
    -	 * the label horizontally within the label bounds, use <STYLE_ALIGN>.
    -	 */
    -	public static $STYLE_LABEL_POSITION = "labelPosition";
    -
    -	/**
    -	 * Variable: STYLE_VERTICAL_LABEL_POSITION
    -	 * 
    -	 * Defines the key for the vertical label position of vertices. Possible
    -	 * values are <ALIGN_TOP>, <ALIGN_BOTTOM> and <ALIGN_MIDDLE>. Default is
    -	 * <ALIGN_MIDDLE>. The label align defines the position of the label
    -	 * relative to the cell. <ALIGN_TOP> means the entire label bounds is
    -	 * placed completely just on the top of the vertex, <ALIGN_BOTTOM> means
    -	 * adjust on the bottom and <ALIGN_MIDDLE> means the label bounds are
    -	 * horizontally aligned with the bounds of the vertex. Note this value
    -	 * doesn't affect the positioning of label within the label bounds, to move
    -	 * the label vertically within the label bounds, use
    -	 * <STYLE_VERTICAL_ALIGN>.
    -	 */
    -	public static $STYLE_VERTICAL_LABEL_POSITION = "verticalLabelPosition";
    -	
    -	/**
    -	 * Variable: STYLE_IMAGE_ALIGN
    -	 *
    -	 * Defines the key for the align style. Possible values are <ALIGN_LEFT>,
    -	 * <ALIGN_CENTER> and <ALIGN_RIGHT>. The value defines how any image in the
    -	 * vertex label is aligned horizontally within the label bounds of a
    -	 * <SHAPE_LABEL> shape.
    -	 */
    -	public static $STYLE_IMAGE_ALIGN = "imageAlign";
    -
    -	/**
    -	 * Variable: STYLE_IMAGE_VERTICALALIGN
    -	 *
    -	 * Defines the key for the verticalAlign style. Possible values are
    -	 * <ALIGN_TOP>, <ALIGN_MIDDLE> and <ALIGN_BOTTOM>. The value defines how
    -	 * any image in the vertex label is aligned vertically within the label
    -	 * bounds of a <SHAPE_LABEL> shape.
    -	 */
    -	public static $STYLE_IMAGE_VERTICAL_ALIGN = "imageVerticalAlign";
    -
    -	/**
    -	 * Variable: STYLE_IMAGE
    -	 *
    -	 * Defines the key for the image style. Possible values are any image URL,
    -	 * registered key in <mxImageResources> or short data URI as defined
    -	 * in <mxImageBundle>.
    -	 * The type of the value is String. This is the path to the image to image
    -	 * that is to be displayed within the label of a vertex. Finally,
    -	 * <mxUtils.loadImage> is used for loading the image for a given value.
    -	 */
    -	public static $STYLE_IMAGE = "image";
    -
    -	/**
    -	 * Variable: STYLE_IMAGE_WIDTH
    -	 *
    -	 * Defines the key for the imageWidth style. The type of this value is
    -	 * int, the value is the image width in pixels and must be greater than 0.
    -	 */
    -	public static $STYLE_IMAGE_WIDTH = "imageWidth";
    -
    -	/**
    -	 * Variable: STYLE_IMAGE_HEIGHT
    -	 *
    -	 * Defines the key for the imageHeight style. The type of this value is
    -	 * int, the value is the image height in pixels and must be greater than 0.
    -	 */
    -	public static $STYLE_IMAGE_HEIGHT = "imageHeight";
    -
    -	/**
    -	 * Variable: STYLE_IMAGE_BACKGROUND
    -	 * 
    -	 * Defines the key for the image background color. This style is only used
    -	 * in <mxImageShape>. Possible values are all HTML color names or HEX
    -	 * codes.
    -	 */
    -	public static $STYLE_IMAGE_BACKGROUND = "imageBackground";
    -
    -	/**
    -	 * Variable: STYLE_IMAGE_BORDER
    -	 * 
    -	 * Defines the key for the image border color. This style is only used in
    -	 * <mxImageShape>. Possible values are all HTML color names or HEX codes.
    -	 */
    -	public static $STYLE_IMAGE_BORDER = "imageBorder";
    -	
    -	/**
    -	 * Variable: STYLE_IMAGE_FLIPH
    -	 * 
    -	 * Defines the key for the horizontal image flip. This style is only used
    -	 * for painting images. Possible values are 0 and 1. Default is 0.
    -	 */
    -	public static $STYLE_IMAGE_FLIPH = "imageFlipH";
    -
    -	/**
    -	 * Variable: STYLE_IMAGE_FLIPV
    -	 * 
    -	 * Defines the key for the vertical image flip. This style is only used
    -	 * for painting images. Possible values are 0 and 1. Default is 0.
    -	 */
    -	public static $STYLE_IMAGE_FLIPV = "imageFlipV";
    -	
    -	/**
    -	 * Variable: STYLE_NOLABEL
    -	 * 
    -	 * Defines the key for the noLabel style. If this is
    -	 * true then no label is visible for a given cell.
    -	 * Possible values are true or false (1 or 0).
    -	 * Default is false.
    -	 */
    -	public static $STYLE_NOLABEL = "noLabel";
    -
    -	/**
    -	 * Variable: STYLE_NOEDGESTYLE
    -	 * 
    -	 * Defines the key for the noEdgeStyle style. If this is
    -	 * true then no edge style is applied for a given edge.
    -	 * Possible values are true or false (1 or 0).
    -	 * Default is false.
    -	 */
    -	public static $STYLE_NOEDGESTYLE = "noEdgeStyle";
    -
    -	/**
    -	 * Variable: STYLE_LABEL_BACKGROUNDCOLOR
    -	 * 
    -	 * Defines the key for the label background color. Possible values are all
    -	 * HTML color names or HEX codes.
    -	 */
    -	public static $STYLE_LABEL_BACKGROUNDCOLOR = "labelBackgroundColor";
    -
    -	/**
    -	 * Variable: STYLE_LABEL_BORDERCOLOR
    -	 * 
    -	 * Defines the key for the label border color. Possible values are all
    -	 * HTML color names or HEX codes.
    -	 */
    -	public static $STYLE_LABEL_BORDERCOLOR = "labelBorderColor";
    -
    -	/**
    -	 * Variable: STYLE_INDICATOR_SHAPE
    -	 *
    -	 * Defines the key for the indicatorShape style.
    -	 * Possible values are any of the SHAPE_*
    -	 * constants.
    -	 */
    -	public static $STYLE_INDICATOR_SHAPE = "indicatorShape";
    -
    -	/**
    -	 * Variable: STYLE_INDICATOR_IMAGE
    -	 *
    -	 * Defines the key for the indicatorImage style.
    -	 * Possible values are any image URL.
    -	 */
    -	public static $STYLE_INDICATOR_IMAGE = "indicatorImage";
    -
    -	/**
    -	 * Variable: STYLE_INDICATOR_COLOR
    -	 *
    -	 * Defines the key for the indicatorColor style. Possible values are all
    -	 * HTML color names or HEX codes, as well as the special 'swimlane' keyword
    -	 * to refer to the color of the parent swimlane if one exists.
    -	 */
    -	public static $STYLE_INDICATOR_COLOR = "indicatorColor";
    -
    -	/**
    -	 * Variable: STYLE_INDICATOR_GRADIENTCOLOR
    -	 *
    -	 * Defines the key for the indicatorGradientColor style. Possible values
    -	 * are all HTML color names or HEX codes. This style is only supported in
    -	 * <SHAPE_LABEL> shapes.
    -	 */
    -	public static $STYLE_INDICATOR_GRADIENTCOLOR = "indicatorGradientColor";
    -
    -	/**
    -	 * Variable: STYLE_INDICATOR_SPACING
    -	 *
    -	 * Defines the key for the indicatorSpacing style (in px).
    -	 */
    -	public static $STYLE_INDICATOR_SPACING = "indicatorSpacing";
    -
    -	/**
    -	 * Variable: STYLE_INDICATOR_WIDTH
    -	 *
    -	 * Defines the key for the indicatorWidth style (in px).
    -	 */
    -	public static $STYLE_INDICATOR_WIDTH = "indicatorWidth";
    -
    -	/**
    -	 * Variable: STYLE_INDICATOR_HEIGHT
    -	 *
    -	 * Defines the key for the indicatorHeight style (in px).
    -	 */
    -	public static $STYLE_INDICATOR_HEIGHT = "indicatorHeight";
    -
    -	/**
    -	 * Variable: STYLE_SHADOW
    -	 *
    -	 * Defines the key for the shadow style. The type of the value is Boolean.
    -	 */
    -	public static $STYLE_SHADOW = "shadow";
    -	
    -	/**
    -	 * Variable: STYLE_SEGMENT
    -	 * 
    -	 * Defines the key for the segment style. The type of this value is
    -	 * float and the value represents the size of the horizontal
    -	 * segment of the entity relation style. Default is ENTITY_SEGMENT.
    -	 */
    -	public static $STYLE_SEGMENT = "segment";
    -	
    -	/**
    -	 * Variable: STYLE_ENDARROW
    -	 *
    -	 * Defines the key for the endArrow style.
    -	 * Possible values are all constants in this
    -	 * class that start with ARROW_.
    -	 * This style is supported in the
    -	 * <mxConnector> shape.
    -	 *
    -	 * Example:
    -	 * (code)
    -	 * style[mxConstants.public static $STYLE_ENDARROW] = mxConstants.ARROW_CLASSIC;
    -	 * (end)
    -	 */
    -	public static $STYLE_ENDARROW = "endArrow";
    -
    -	/**
    -	 * Variable: STYLE_STARTARROW
    -	 *
    -	 * Defines the key for the startArrow style.
    -	 * Possible values are all constants in this
    -	 * class that start with ARROW_.
    -	 * See <public static $STYLE_ENDARROW>.
    -	 * This style is supported in the
    -	 * <mxConnector> shape.
    -	 */
    -	public static $STYLE_STARTARROW = "startArrow";
    -
    -	/**
    -	 * Variable: STYLE_ENDSIZE
    -	 *
    -	 * Defines the key for the endSize style. The type of this value is numeric
    -	 * and the value represents the size of the end marker in pixels.
    -	 */
    -	public static $STYLE_ENDSIZE = "endSize";
    -
    -	/**
    -	 * Variable: STYLE_STARTSIZE
    -	 *
    -	 * Defines the key for the startSize style. The type of this value is
    -	 * numeric and the value represents the size of the start marker or the
    -	 * size of the swimlane title region depending on the shape it is used for.
    -	 */
    -	public static $STYLE_STARTSIZE = "startSize";
    -
    -	/**
    -	 * Variable: STYLE_SWIMLANE_LINE
    -	 *
    -	 * Defines the key for the swimlaneLine style. This style specifies whether
    -	 * the line between the title regio of a swimlane should be visible. Use 0
    -	 * for hidden or 1 (default) for visible. Value is "swimlaneLine".
    -	 */
    -	public static $STYLE_SWIMLANE_LINE = "swimlaneLine";
    -	
    -	/**
    -	 * Variable: STYLE_DASHED
    -	 *
    -	 * Defines the key for the endSize style. The type of this value is numeric
    -	 * and the value represents the size of the end marker in pixels.
    -	 */
    -	public static $STYLE_DASHED = "dashed";
    -
    -	/**
    -	 * Variable: STYLE_ROUNDED
    -	 *
    -	 * Defines the key for the rounded style. The type of this value is
    -	 * Boolean. For edges this determines whether or not joins between edges
    -	 * segments are smoothed to a rounded finish. For vertices that have the
    -	 * rectangle shape, this determines whether or not the rectangle is
    -	 * rounded.
    -	 */
    -	public static $STYLE_ROUNDED = "rounded";
    -
    -	/**
    -	 * Variable: STYLE_SOURCE_PERIMETER_SPACING
    -	 *
    -	 * Defines the key for the source perimeter spacing. The type of this value
    -	 * is numeric. This is the distance between the source connection point of
    -	 * an edge and the perimeter of the source vertex in pixels. This style
    -	 * only applies to edges.
    -	 */
    -	public static $STYLE_SOURCE_PERIMETER_SPACING = "sourcePerimeterSpacing";
    -
    -	/**
    -	 * Variable: STYLE_TARGET_PERIMETER_SPACING
    -	 *
    -	 * Defines the key for the source perimeter spacing. The type of this value
    -	 * is numeric. This is the distance between the target connection point of
    -	 * an edge and the perimeter of the target vertex in pixels.
    -	 */
    -	public static $STYLE_TARGET_PERIMETER_SPACING = "targetPerimeterSpacing";
    -
    -	/**
    -	 * Variable: STYLE_PERIMETER_SPACING
    -	 *
    -	 * Defines the key for the perimeter spacing. This is the distance between
    -	 * the connection point and the perimeter in pixels. When used in a vertex
    -	 * style, this applies to all incoming edges to floating ports (edges that
    -	 * terminate on the perimeter of the vertex). When used in an edge style,
    -	 * this spacing applies to the source and target separately, if they
    -	 * terminate in floating ports (on the perimeter of the vertex).
    -	 */
    -	public static $STYLE_PERIMETER_SPACING = "perimeterSpacing";
    -	
    -	/**
    -	 * Variable: STYLE_SPACING
    -	 *
    -	 * Defines the key for the spacing. The value represents the spacing, in
    -	 * pixels, added to each side of a label in a vertex (style applies to
    -	 * vertices only).
    -	 */
    -	public static $STYLE_SPACING = "spacing";
    -	
    -	/**
    -	 * Variable: STYLE_SPACING_TOP
    -	 *
    -	 * Defines the key for the spacingTop style. The value represents the
    -	 * spacing, in pixels, added to the top side of a label in a vertex (style
    -	 * applies to vertices only).
    -	 */
    -	public static $STYLE_SPACING_TOP = "spacingTop";
    -
    -	/**
    -	 * Variable: STYLE_SPACING_LEFT
    -	 *
    -	 * Defines the key for the spacingLeft style. The value represents the
    -	 * spacing, in pixels, added to the left side of a label in a vertex (style
    -	 * applies to vertices only).
    -	 */
    -	public static $STYLE_SPACING_LEFT = "spacingLeft";
    -
    -	/**
    -	 * Variable: STYLE_SPACING_BOTTOM
    -	 *
    -	 * Defines the key for the spacingBottom style The value represents the
    -	 * spacing, in pixels, added to the bottom side of a label in a vertex
    -	 * (style applies to vertices only).
    -	 */
    -	public static $STYLE_SPACING_BOTTOM = "spacingBottom";
    -
    -	/**
    -	 * Variable: STYLE_SPACING_RIGHT
    -	 *
    -	 * Defines the key for the spacingRight style The value represents the
    -	 * spacing, in pixels, added to the right side of a label in a vertex (style
    -	 * applies to vertices only).
    -	 */
    -	public static $STYLE_SPACING_RIGHT = "spacingRight";
    -
    -	/**
    -	 * Variable: STYLE_HORIZONTAL
    -	 *
    -	 * Defines the key for the horizontal style. Possible values are
    -	 * true or false. This value only applies to vertices. If the <STYLE_SHAPE>
    -	 * is <code>SHAPE_SWIMLANE</code> a value of false indicates that the
    -	 * swimlane should be drawn vertically, true indicates to draw it
    -	 * horizontally. If the shape style does not indicate that this vertex is a
    -	 * swimlane, this value affects only whether the label is drawn
    -	 * horizontally or vertically.
    -	 */
    -	public static $STYLE_HORIZONTAL = "horizontal";
    -
    -	/**
    -	 * Variable: STYLE_DIRECTION
    -	 * 
    -	 * Defines the key for the direction style. The direction style is used
    -	 * to specify the direction of certain shapes (eg. <mxTriangle>).
    -	 * Possible values are <DIRECTION_EAST> (default), <DIRECTION_WEST>,
    -	 * <DIRECTION_NORTH> and <DIRECTION_SOUTH>.
    -	 */
    -	public static $STYLE_DIRECTION = "direction";
    -
    -	/**
    -	 * Variable: STYLE_ELBOW
    -	 *
    -	 * Defines the key for the elbow style. Possible values are
    -	 * <ELBOW_HORIZONTAL> and <ELBOW_VERTICAL>. Default is <ELBOW_HORIZONTAL>.
    -	 * This defines how the three segment orthogonal edge style leaves its
    -	 * terminal vertices. The vertical style leaves the terminal vertices at
    -	 * the top and bottom sides.
    -	 */
    -	public static $STYLE_ELBOW = "elbow";
    -
    -	/**
    -	 * Variable: STYLE_FONTCOLOR
    -	 *
    -	 * Defines the key for the fontColor style. Possible values are all HTML
    -	 * color names or HEX codes.
    -	 */
    -	public static $STYLE_FONTCOLOR = "fontColor";
    -
    -	/**
    -	 * Variable: STYLE_FONTFAMILY
    -	 *
    -	 * Defines the key for the fontFamily style. Possible values are names such
    -	 * as Arial; Dialog; Verdana; Times New Roman. The value is of type String.
    -	 */
    -	public static $STYLE_FONTFAMILY = "fontFamily";
    -
    -	/**
    -	 * Variable: STYLE_FONTSIZE
    -	 *
    -	 * Defines the key for the fontSize style (in px). The type of the value
    -	 * is int.
    -	 */
    -	public static $STYLE_FONTSIZE = "fontSize";
    -
    -	/**
    -	 * Variable: STYLE_FONTSTYLE
    -	 *
    -	 * Defines the key for the fontStyle style. Values may be any logical AND
    -	 * (sum) of <FONT_BOLD>, <FONT_ITALIC> and <FONT_UNDERLINE>.
    -	 * The type of the value is int.
    -	 */
    -	public static $STYLE_FONTSTYLE = "fontStyle";
    -
    -	/**
    -	 * Variable: STYLE_SHAPE
    -	 *
    -	 * Defines the key for the shape. Possible values are all constants
    -	 * with a SHAPE-prefix or any newly defined shape names.
    -	 */
    -	public static $STYLE_SHAPE = "shape";
    -
    -	/**
    -	 * Variable: STYLE_EDGE
    -	 *
    -	 * Defines the key for the edge style. Possible values are the functions
    -	 * defined in <mxEdgeStyle>.
    -	 */
    -	public static $STYLE_EDGE = "edgeStyle";
    -
    -	/**
    -	 * Variable: STYLE_LOOP
    -	 * 
    -	 * Defines the key for the loop style. Possible values are the functions
    -	 * defined in <mxEdgeStyle>.
    -	 */
    -	public static $STYLE_LOOP = "loopStyle";
    -
    -	/**
    -	 * Variable: STYLE_ROUTING_CENTER_X
    -	 * 
    -	 * Defines the key for the horizontal routing center. Possible values are
    -	 * between -0.5 and 0.5. This is the relative offset from the center used
    -	 * for connecting edges. The type of this value is numeric.
    -	 */
    -	public static $STYLE_ROUTING_CENTER_X = "routingCenterX";
    -
    -	/**
    -	 * Variable: STYLE_ROUTING_CENTER_Y
    -	 * 
    -	 * Defines the key for the vertical routing center. Possible values are
    -	 * between -0.5 and 0.5. This is the relative offset from the center used
    -	 * for connecting edges. The type of this value is numeric.
    -	 */
    -	public static $STYLE_ROUTING_CENTER_Y = "routingCenterY";
    -
    -	/**
    -	 * Variable: FONT_BOLD
    -	 */
    -	public static $FONT_BOLD = 1;
    -
    -	/**
    -	 * Variable: FONT_ITALIC
    -	 */
    -	public static $FONT_ITALIC = 2;
    -
    -	/**
    -	 * Variable: FONT_UNDERLINE
    -	 */
    -	public static $FONT_UNDERLINE = 4;
    -
    -	/**
    -	 * Variable: SHAPE_RECTANGLE
    -	 */
    -	public static $SHAPE_RECTANGLE = "rectangle";
    -
    -	/**
    -	 * Variable: SHAPE_ELLIPSE
    -	 */
    -	public static $SHAPE_ELLIPSE = "ellipse";
    -
    -	/**
    -	 * Variable: SHAPE_DOUBLE_ELLIPSE
    -	 */
    -	public static $SHAPE_DOUBLE_ELLIPSE = "doubleEllipse";
    -
    -	/**
    -	 * Variable: SHAPE_RHOMBUS
    -	 */
    -	public static $SHAPE_RHOMBUS = "rhombus";
    -
    -	/**
    -	 * Variable: SHAPE_LINE
    -	 */
    -	public static $SHAPE_LINE = "line";
    -
    -	/**
    -	 * Variable: SHAPE_IMAGE
    -	 */
    -	public static $SHAPE_IMAGE = "image";
    -	
    -	/**
    -	 * Variable: SHAPE_ARROW
    -	 */
    -	public static $SHAPE_ARROW = "arrow";
    -	
    -	/**
    -	 * Variable: SHAPE_LABEL
    -	 */
    -	public static $SHAPE_LABEL = "label";
    -	
    -	/**
    -	 * Variable: SHAPE_CYLINDER
    -	 */
    -	public static $SHAPE_CYLINDER = "cylinder";
    -	
    -	/**
    -	 * Variable: SHAPE_SWIMLANE
    -	 */
    -	public static $SHAPE_SWIMLANE = "swimlane";
    -		
    -	/**
    -	 * Variable: SHAPE_CONNECTOR
    -	 */
    -	public static $SHAPE_CONNECTOR = "connector";
    -		
    -	/**
    -	 * Variable: SHAPE_ACTOR
    -	 */
    -	public static $SHAPE_ACTOR = "actor";
    -		
    -	/**
    -	 * Variable: SHAPE_CLOUD
    -	 */
    -	public static $SHAPE_CLOUD = "cloud";
    -		
    -	/**
    -	 * Variable: SHAPE_TRIANGLE
    -	 */
    -	public static $SHAPE_TRIANGLE = "triangle";
    -		
    -	/**
    -	 * Variable: SHAPE_HEXAGON
    -	 */
    -	public static $SHAPE_HEXAGON = "hexagon";
    -
    -	/**
    -	 * Variable: ARROW_CLASSIC
    -	 */
    -	public static $ARROW_CLASSIC = "classic";
    -
    -	/**
    -	 * Variable: ARROW_BLOCK
    -	 */
    -	public static $ARROW_BLOCK = "block";
    -
    -	/**
    -	 * Variable: ARROW_OPEN
    -	 */
    -	public static $ARROW_OPEN = "open";
    -
    -	/**
    -	 * Variable: ARROW_OVAL
    -	 */
    -	public static $ARROW_OVAL = "oval";
    -
    -	/**
    -	 * Variable: ARROW_DIAMOND
    -	 */
    -	public static $ARROW_DIAMOND = "diamond";
    -
    -	/**
    -	 * Variable: ALIGN_LEFT
    -	 */
    -	public static $ALIGN_LEFT = "left";
    -
    -	/**
    -	 * Variable: ALIGN_CENTER
    -	 */
    -	public static $ALIGN_CENTER = "center";
    -
    -	/**
    -	 * Variable: ALIGN_RIGHT
    -	 */
    -	public static $ALIGN_RIGHT = "right";
    -
    -	/**
    -	 * Variable: ALIGN_TOP
    -	 */
    -	public static $ALIGN_TOP = "top";
    -
    -	/**
    -	 * Variable: ALIGN_MIDDLE
    -	 */
    -	public static $ALIGN_MIDDLE = "middle";
    -
    -	/**
    -	 * Variable: ALIGN_BOTTOM
    -	 */
    -	public static $ALIGN_BOTTOM = "bottom";
    -
    -	/**
    -	 * Variable: DIRECTION_NORTH
    -	 */
    -	public static $DIRECTION_NORTH = "north";
    -
    -	/**
    -	 * Variable: DIRECTION_SOUTH
    -	 */
    -	public static $DIRECTION_SOUTH = "south";
    -
    -	/**
    -	 * Variable: DIRECTION_EAST
    -	 */
    -	public static $DIRECTION_EAST = "east";
    -
    -	/**
    -	 * Variable: DIRECTION_WEST
    -	 */
    -	public static $DIRECTION_WEST = "west";
    -
    -	/**
    -	 * Variable: ELBOW_VERTICAL
    -	 */
    -	public static $ELBOW_VERTICAL = "vertical";
    -
    -	/**
    -	 * Variable: ELBOW_HORIZONTAL
    -	 */
    -	public static $ELBOW_HORIZONTAL = "horizontal";
    -
    -	/**
    -	 * Variable: 
    -	 *
    -	 * Name of the elbow edge style. Can be used as a string value
    -	 * for the STYLE_EDGE style.
    -	 */
    -	public static $EDGESTYLE_ELBOW = "elbowEdgeStyle";
    -
    -	/**
    -	 * Variable: EDGESTYLE_ENTITY_RELATION
    -	 *
    -	 * Name of the entity relation edge style. Can be used as a string value
    -	 * for the STYLE_EDGE style.
    -	 */
    -	public static $EDGESTYLE_ENTITY_RELATION = "entityRelationEdgeStyle";
    -
    -	/**
    -	 * Variable: EDGESTYLE_LOOP
    -	 *
    -	 * Name of the loop edge style. Can be used as a string value
    -	 * for the STYLE_EDGE style.
    -	 */
    -	public static $EDGESTYLE_LOOP = "loopEdgeStyle";
    -
    -	/**
    -	 * Variable: EDGESTYLE_SIDETOSIDE
    -	 *
    -	 * Name of the side to side edge style. Can be used as a string value
    -	 * for the STYLE_EDGE style.
    -	 */
    -	public static $EDGESTYLE_SIDETOSIDE = "sideToSideEdgeStyle";
    -
    -	/**
    -	 * Variable: EDGESTYLE_TOPTOBOTTOM
    -	 *
    -	 * Name of the top to bottom edge style. Can be used as a string value
    -	 * for the STYLE_EDGE style.
    -	 */
    -	public static $EDGESTYLE_TOPTOBOTTOM = "topToBottomEdgeStyle";
    -
    -	/**
    -	 * Variable: PERIMETER_ELLIPSE
    -	 *
    -	 * Name of the ellipse perimeter. Can be used as a string value
    -	 * for the STYLE_PERIMETER style.
    -	 */
    -	public static $PERIMETER_ELLIPSE = "ellipsePerimeter";
    -
    -	/**
    -	 * Variable: PERIMETER_RECTANGLE
    -	 *
    -	 * Name of the rectangle perimeter. Can be used as a string value
    -	 * for the STYLE_PERIMETER style.
    -	 */
    -	public static $PERIMETER_RECTANGLE = "rectanglePerimeter";
    -
    -	/**
    -	 * Variable: PERIMETER_RHOMBUS
    -	 *
    -	 * Name of the rhombus perimeter. Can be used as a string value
    -	 * for the STYLE_PERIMETER style.
    -	 */
    -	public static $PERIMETER_RHOMBUS = "rhombusPerimeter";
    -
    -	/**
    -	 * Variable: PERIMETER_TRIANGLE
    -	 *
    -	 * Name of the triangle perimeter. Can be used as a string value
    -	 * for the STYLE_PERIMETER style.
    -	 */
    -	public static $PERIMETER_TRIANGLE = "trianglePerimeter";
    -
    -}
    -?>
    diff --git a/php/src/util/mxEvent.php b/php/src/util/mxEvent.php
    deleted file mode 100644
    index 23f521a1f..000000000
    --- a/php/src/util/mxEvent.php
    +++ /dev/null
    @@ -1,34 +0,0 @@
    -<?php
    -/**
    - * Copyright (c) 2006-2013, Gaudenz Alder
    - */
    -class mxEvent
    -{
    -
    -	/**
    -	 * Class: mxEvent
    -	 *
    -	 * Defines global constants.
    -	 * 
    -	 * Variable: GRAPH_MODEL_CHANGED
    -	 *
    -	 * Defines the name of the graphModelChanged event.
    -	 */
    -	public static $GRAPH_MODEL_CHANGED = "graphModelChanged";
    -
    -	/**
    -	 * Variable: SCALE
    -	 *
    -	 * Defines the name of the scale event.
    -	 */
    -	public static $SCALE = "scale";
    -
    -	/**
    -	 * Variable: TRANSLATE
    -	 *
    -	 * Defines the name of the translate event.
    -	 */
    -	public static $TRANSLATE = "translate";
    -
    -}
    -?>
    diff --git a/php/src/util/mxEventObject.php b/php/src/util/mxEventObject.php
    deleted file mode 100644
    index 5e7bb99c7..000000000
    --- a/php/src/util/mxEventObject.php
    +++ /dev/null
    @@ -1,107 +0,0 @@
    -<?php
    -/**
    - * Copyright (c) 2006-2013, Gaudenz Alder
    - */
    -class mxEventObject
    -{
    -
    -	/**
    -	 * Class: mxEventObject
    -	 *
    -	 * Base class for all events.
    -	 * 
    -	 * Variable: name
    -	 * 
    -	 * Holds the name of the event.
    -	 */
    -	var $name;
    -	
    -	/**
    -	 * Variable: properties
    -	 *
    -	 * Holds the event properties in an associative array that maps from string
    -	 * (key) to object (value).
    -	 */
    -	var $properties;
    -
    -	/**
    -	 * Variable: consumed
    -	 *
    -	 * Holds the consumed state of the event. Default is false.
    -	 */
    -	var $consumed = false;
    -
    -	/**
    -	 * Constructor: mxEventObject
    -	 *
    -	 * Constructs a new event for the given name and properties. The optional
    -	 * properties are specified using a sequence of keys and values, eg.
    -	 * new mxEventObject($name, $key1, $value1, $key2, $value2, .., $keyN, $valueN)
    -	 */
    -	function mxEventObject($name)
    -	{
    -		$this->name = $name;
    -		$this->properties = array();
    -		$args = func_get_args();
    -
    -		for ($i = 1; $i < sizeof($args); $i += 2)
    -		{
    -			if (isset($args[$i + 1]))
    -			{
    -				$this->properties[$args[$i]] = $args[$i + 1];
    -			}
    -		}			
    -	}
    -	
    -	/**
    -	 * Function: getName
    -	 * 
    -	 * Returns <name>.
    -	 */
    -	function getName()
    -	{
    -		return $this->name;
    -	}
    -
    -	/**
    -	 * Function: getProperties
    -	 * 
    -	 * Returns <properties>.
    -	 */
    -	function getProperties()
    -	{
    -		return $this->properties;
    -	}
    -
    -	/**
    -	 * Function: getProperty
    -	 * 
    -	 * Returns the property value for the given key.
    -	 */
    -	function getProperty($key)
    -	{
    -		return $this->properties[$key];
    -	}
    -
    -	/**
    -	 * Function: isConsumed
    -	 *
    -	 * Returns true if the event has been consumed.
    -	 */
    -	function isConsumed()
    -	{
    -		return $this->consumed;
    -	}
    -
    -	/**
    -	 * Function: consume
    -	 *
    -	 * Consumes the event.
    -	 */
    -	function consume()
    -	{
    -		$this->consumed = true;
    -	}
    -	
    -}
    -?>
    diff --git a/php/src/util/mxEventSource.php b/php/src/util/mxEventSource.php
    deleted file mode 100644
    index 563169bc4..000000000
    --- a/php/src/util/mxEventSource.php
    +++ /dev/null
    @@ -1,61 +0,0 @@
    -<?php
    -/**
    - * Copyright (c) 2006-2013, Gaudenz Alder
    - */
    -class mxEventSource
    -{
    -
    -	/**
    -	 * Class: mxEventSource
    -	 *
    -	 * Base class for all event sources.
    -	 * 
    -	 * Variable: eventListeners
    -	 *
    -	 * Holds the registered listeners.
    -	 */
    -	var $eventListeners;
    -
    -	/**
    -	 * Function: addListener
    -	 *
    -	 * Adds a listener for the given event name. Note that the method of the
    -	 * listener object must have the same name as the event it's being added
    -	 * for. This is different from other language implementations of this
    -	 * class.
    -	 */
    -	function addListener($name, $listener)
    -	{
    -	 	if ($this->eventListeners == null)
    -	 	{
    -	 		$this->eventListeners = array();
    -	 	}
    -	 	
    -	 	array_push($this->eventListeners, $name);
    -	 	array_push($this->eventListeners, $listener);
    -	}
    -
    -	/**
    -	 * Function: fireEvent
    -	 *
    -	 * Fires the event for the specified name.
    -	 */
    -	function fireEvent($event)
    -	{
    -	 	if ($this->eventListeners != null)
    -	 	{
    -	 		$name = $event->getName();
    -	 		
    -	 		for ($i = 0; $i < sizeof($this->eventListeners); $i += 2)
    -	 		{
    -	 			if ($this->eventListeners[$i] == $name)
    -	 			{
    -		 			$this->eventListeners[$i+1]->$name($event);
    -	 			}
    -	 		}
    -	 	}
    -	}
    -
    -}
    -
    -?>
    diff --git a/php/src/util/mxImageBundle.php b/php/src/util/mxImageBundle.php
    deleted file mode 100644
    index a2b68b356..000000000
    --- a/php/src/util/mxImageBundle.php
    +++ /dev/null
    @@ -1,82 +0,0 @@
    -<?php
    -/**
    - * Copyright (c) 2006-2013, Gaudenz Alder
    - */
    -class mxImageBundle
    -{
    -
    -	/**
    -	 * Class: mxImageBundle
    -	 *
    -	 * Maps from keys to base64 encoded images or file locations. All values must
    -	 * be URLs or use the format data:image/format followed by a comma and the base64
    -	 * encoded image data, eg. "data:image/gif,XYZ", where XYZ is the base64 encoded
    -	 * image data.
    -	 * 
    -	 * (code)
    -	 * $bundle = new mxImageBundle();
    -	 * $bundle->putImage("myImage", "data:image/gif,R0lGODlhEAAQAMIGAAAAAICAAICAgP".
    -	 *   "//AOzp2O3r2////////yH+FUNyZWF0ZWQgd2l0aCBUaGUgR0lNUAAh+QQBCgAHACwAAAAAEA".
    -	 *   "AQAAADTXi63AowynnAMDfjPUDlnAAJhmeBFxAEloliKltWmiYCQvfVr6lBPB1ggxN1hilaSS".
    -	 *   "ASFQpIV5HJBDyHpqK2ejVRm2AAgZCdmCGO9CIBADs=");
    -	 * $graph->addImageBundle($bundle);
    -	 * (end);
    -	 * 
    -	 * The image can then be referenced in any cell style using image=myImage.
    -	 *
    -	 * To convert an image at a given URL to a base64 encoded String, the following
    -	 * code can be used:
    -	 * 
    -	 * (code)
    -	 * echo "base64=".base64_encode(file_get_contents($url));
    -	 * (end)
    -	 * 
    -	 * The value is decoded in <mxUtils.loadImage>. The keys for images are
    -	 * resolved and the short format above is converted to a data URI in
    -	 * <mxGraph.postProcessCellStyle>.
    -	 * 
    -	 * Variable: images
    -	 * 
    -	 * Maps from keys to images.
    -	 */
    -	var $images = array();
    -
    -	/**
    -	 * Constructor: mxImageBundle
    -	 *
    -	 * Constructs a new image bundle.
    -	 */
    -	function mxImageBundle() { }
    -	
    -	/**
    -	 * Function: getImages
    -	 * 
    -	 * Returns the <images>.
    -	 */
    -	function getImages()
    -	{
    -		return $this->images;
    -	}
    -
    -	/**
    -	 * Function: putImage
    -	 * 
    -	 * Adds the specified entry to the map.
    -	 */
    -	function putImage($key, $value)
    -	{
    -		$this->images[$key] = $value;
    -	}
    -
    -	/**
    -	 * Function: getImage
    -	 * 
    -	 * Returns the value for the given key.
    -	 */
    -	function getImage($key)
    -	{
    -		return (array_key_exists($key, $this->images)) ? $this->images[$key] : null;
    -	}
    -	
    -}
    -?>
    diff --git a/php/src/util/mxLog.php b/php/src/util/mxLog.php
    deleted file mode 100644
    index 2127cdf9a..000000000
    --- a/php/src/util/mxLog.php
    +++ /dev/null
    @@ -1,223 +0,0 @@
    -<?php
    -/**
    - * Copyright (c) 2006-2013, Gaudenz Alder
    - */
    -class mxLog
    -{
    -
    -	/**
    -	 * Class: mxLog
    -	 * 
    -	 * Logging facility.
    -	 * 
    -	 * Variable: level_fine
    -	 *
    -	 * Specifies the fine logging level.
    -	 */
    -	public static $level_fine = true;
    -	
    -	/**
    -	 * Variable: level_debug
    -	 *
    -	 * Specifies the debug logging level.
    -	 */
    -	public static $level_debug = true;
    -	
    -	/**
    -	 * Variable: level_info
    -	 *
    -	 * Specifies the info logging level.
    -	 */
    -	public static $level_info = true;
    -	
    -	/**
    -	 * Variable: level_warn
    -	 *
    -	 * Specifies the warn logging level.
    -	 */
    -	public static $level_warn = true;
    -	
    -	/**
    -	 * Variable: level_error
    -	 *
    -	 * Specifies the error logging level.
    -	 */
    -	public static $level_error = true;
    -	
    -	/**
    -	 * Variable: current
    -	 *
    -	 * Default is true.
    -	 */
    -	public static $current = array();
    -	
    -	/**
    -	 * Variable: tab
    -	 *
    -	 * Default is true.
    -	 */
    -	public static $tab = "";
    -	
    -	/**
    -	 * Variable: logfiles
    -	 *
    -	 * Holds the array of logfiles.
    -	 */
    -	public static $logfiles = array();
    -	
    -	/**
    -	 * Variable: printLog
    -	 *
    -	 * Specifies if the log should be printed out.
    -	 */
    -	public static $printLog = false;
    -	
    -	/**
    -	 * Function: addLogfile
    -	 *
    -	 * Adds a file for logging.
    -	 */
    -	static function addLogfile($filename)
    -	{
    -		$fh = fopen($filename, "a");
    -		array_push(mxLog::$logfiles, $fh);
    -	}
    -	
    -	/**
    -	 * Function: enter
    -	 *
    -	 * Logs a method entry.
    -	 */
    -	static function enter($method, $text="")
    -	{
    -		mxLog::writeln("$method: { $text");
    -		$t0 = microtime(true);
    -		array_push(mxLog::$current, $t0);
    -		mxLog::$tab .= "    ";
    -	}
    -
    -	/**
    -	 * Function: leave
    -	 *
    -	 * Logs a method exit.
    -	 */
    -	static function leave($text="")
    -	{
    -		$t0 = array_pop(mxLog::$current);
    -		$tab = mxLog::$tab;
    -		mxLog::$tab = substr($tab, 0, strlen($tab)-4);
    -		$dt = "(dt=".(microtime(true)-$t0).")";
    -		mxLog::writeln("} $dt $text");
    -	}
    -	
    -	/**
    -	 * Function: fine
    -	 *
    -	 * Logs a fine trace.
    -	 */
    -	static function fine($text)
    -	{
    -		if (mxLog::$level_fine)
    -		{
    -			mxLog::writeln($text);
    -		}
    -	}
    -
    -	/**
    -	 * Function: debug
    -	 *
    -	 * Logs a debug trace.
    -	 */
    -	static function debug($text)
    -	{
    -		if (mxLog::$level_debug)
    -		{
    -			mxLog::writeln($text);
    -		}
    -	}
    -
    -	/**
    -	 * Function: info
    -	 *
    -	 * Logs an info trace.
    -	 */
    -	static function info($text)
    -	{
    -		if (mxLog::$level_info)
    -		{
    -			mxLog::writeln($text);
    -		}
    -	}
    -
    -	/**
    -	 * Function: warn
    -	 *
    -	 * Logs a warn trace.
    -	 */
    -	static function warn($text)
    -	{
    -		if (mxLog::$level_warn)
    -		{
    -			mxLog::writeln($text);
    -			error_log($text);
    -		}
    -	}
    -
    -	/**
    -	 * Function: error
    -	 *
    -	 * Logs an error trace.
    -	 */
    -	static function error($text)
    -	{
    -		if (mxLog::$level_error)
    -		{
    -			mxLog::writeln($text);
    -			error_log($text);
    -		}
    -	}
    -	
    -	/**
    -	 * Function: writeln
    -	 *
    -	 * Writes a line with a linefeed to the log.
    -	 */
    -	static function writeln($text)
    -	{
    -		mxLog::write("$text\n");
    -	}
    -
    -	/**
    -	 * Function: write
    -	 *
    -	 * Writes a line to the log.
    -	 */
    -	static function write($text)
    -	{
    -		$msg = date("Y-m-d H:i:s").": ".mxLog::$tab.$text;
    -		foreach (mxLog::$logfiles as $fh)
    -		{
    -			fputs($fh, $msg);
    -		}
    -		if (mxLog::$printLog)
    -		{
    -			$msg = str_replace(" ", "&nbsp;", $msg);
    -			print("$msg<br>");
    -		}
    -	}
    -
    -	/**
    -	 * Function: close
    -	 *
    -	 * Closes all open logfiles.
    -	 */
    -	static function close()
    -	{
    -		foreach (mxLog::$logfiles as $fh)
    -		{
    -			fclose($fh);
    -		}
    -	}
    -
    -}
    -?>
    diff --git a/php/src/util/mxPoint.php b/php/src/util/mxPoint.php
    deleted file mode 100644
    index 7e3a625e6..000000000
    --- a/php/src/util/mxPoint.php
    +++ /dev/null
    @@ -1,65 +0,0 @@
    -<?php
    -/**
    - * Copyright (c) 2006-2013, Gaudenz Alder
    - */
    -class mxPoint
    -{
    -
    -	/**
    -	 * Class: mxPoint
    -	 *
    -	 * Implements a 2-dimensional point with double precision coordinates.
    -	 * 
    -	 * Variable: x
    -	 *
    -	 * Holds the x-coordinate of the point. Default is 0.
    -	 */
    -	var $x = 0;
    -
    -	/**
    -	 * Variable: y
    -	 *
    -	 * Holds the y-coordinate of the point. Default is 0.
    -	 */
    -	var $y = 0;
    -
    -	/**
    -	 * Constructor: mxPoint
    -	 *
    -	 * Constructs a new point for the optional x and y coordinates. If no
    -	 * coordinates are given, then the default values for <x> and <y> are used.
    -	 */
    -	function mxPoint($x = 0, $y = 0)
    -	{
    -	 	$this->x = $x;
    -		$this->y = $y;
    -	}
    -
    -	/**
    -	 * Function: equals
    -	 *
    -	 * Returns true if the given object equals this point.
    -	 */
    -	function equals($obj)
    -	{
    -        if ($obj instanceof mxPoint)
    -        {
    -            return $obj->x == $this->x &&
    -            	$obj->y == $this->y;
    -        }
    -
    -        return false;
    -	}
    -
    -	/**
    -	 * Function: copy
    -	 *
    -	 * Returns a copy of this <mxPoint>.
    -	 */
    -	function copy()
    -	{
    -	 	return new mxPoint($this->x, $this->y);
    -	}
    -
    -}
    -?>
    diff --git a/php/src/util/mxRectangle.php b/php/src/util/mxRectangle.php
    deleted file mode 100644
    index b25a7ddde..000000000
    --- a/php/src/util/mxRectangle.php
    +++ /dev/null
    @@ -1,136 +0,0 @@
    -<?php
    -/**
    - * Copyright (c) 2006-2013, Gaudenz Alder
    - */
    -class mxRectangle extends mxPoint
    -{
    -
    -	/**
    -	 * Class: mxRectangle
    -	 *
    -	 * Implements a 2-dimensional rectangle with double precision coordinates.
    -	 * 
    -	 * Variable: width
    -	 *
    -	 * Holds the width of the rectangle. Default is 0.
    -	 */
    -	var $width = 0;
    -
    -	/**
    -	 * Variable: height
    -	 *
    -	 * Holds the height of the rectangle. Default is 0.
    -	 */
    -	var $height = 0;
    -
    -	/**
    -	 * Constructor: mxRectangle
    -	 *
    -	 * Constructs a new rectangle for the optional parameters. If no parameters
    -	 * are given then the respective default values are used.
    -	 */
    -	function mxRectangle($x = 0, $y = 0, $width = 0, $height = 0)
    -	{
    -		parent::mxPoint($x, $y);
    -		
    -	 	$this->width = $width;
    -		$this->height = $height;
    -	}
    -
    -	/**
    -	 * Function: setRect
    -	 *
    -	 * Sets this rectangle to the specified values.
    -	 */
    -	function setRect($x, $y, $width, $height)
    -	{
    -	    $this->x = $x;
    -	    $this->y = $y;
    -	    $this->width = $w;
    -	    $this->height = $h;
    -	}
    -	
    -	/**
    -	 * Function: getCenterX
    -	 * 
    -	 * Returns the x-coordinate of the center point.
    -	 */
    -	function getCenterX()
    -	{
    -		return $this->x + $this->width / 2;
    -	}
    -	
    -	/**
    -	 * Function: getCenterY
    -	 * 
    -	 * Returns the y-coordinate of the center point.
    -	 */
    -	function getCenterY()
    -	{
    -		return $this->y + $this->height / 2;
    -	}
    -	
    -	/**
    -	 * Function: add
    -	 *
    -	 * Adds the given rectangle to this rectangle.
    -	 */
    -	function add($rect)
    -	{
    -		if ($rect != null)
    -		{
    -			$minX = min($this->x, $rect->x);
    -			$minY = min($this->y, $rect->y);
    -			$maxX = max($this->x + $this->width, $rect->x + $rect->width);
    -			$maxY = max($this->y + $this->height, $rect->y + $rect->height);
    -			
    -			$this->x = $minX;
    -			$this->y = $minY;
    -			$this->width = $maxX - $minX;
    -			$this->height = $maxY - $minY;
    -		}
    -	}
    -
    -	/**
    -	 * Function: grow
    -	 *
    -	 * Grows the rectangle by the given amount, that is, this method subtracts
    -	 * the given amount from the x- and y-coordinates and adds twice the amount
    -	 * to the width and height.
    -	 */
    -	function grow($amount)
    -	{
    -		$this->x -= $amount;
    -		$this->y -= $amount;
    -		$this->width += 2 * $amount;
    -		$this->height += 2 * $amount;
    -	}
    -
    -	/**
    -	 * Function: equals
    -	 *
    -	 * Returns true if the given object equals this rectangle.
    -	 */
    -	function equals($obj)
    -	{
    -        if ($obj instanceof mxRectangle)
    -        {
    -            return $obj->x == $this->x && $obj->y == $this->y &&
    -            	$obj->width == $this->width && $obj->height = $this->height;
    -        }
    -
    -        return false;
    -	}
    -
    -	/**
    -	 * Function: copy
    -	 *
    -	 * Returns a copy of this <mxRectangle>.
    -	 */
    -	function copy()
    -	{
    -	 	return new mxRectangle($this->x, $this->y, $this->width, $this->height);
    -	}
    -
    -}
    -?>
    diff --git a/php/src/util/mxUtils.php b/php/src/util/mxUtils.php
    deleted file mode 100644
    index 6bf53b739..000000000
    --- a/php/src/util/mxUtils.php
    +++ /dev/null
    @@ -1,1177 +0,0 @@
    -<?php
    -/**
    - * Copyright (c) 2006-2013, Gaudenz Alder
    - */
    -class mxUtils
    -{
    -	
    -	/**
    -	 * Class: mxUtils
    -	 *
    -	 * Helper methods.
    -	 * 
    -	 * Function: getLabelSize
    -	 * 
    -	 * Returns the size of the given label.
    -	 */
    -    static function getLabelSize($label, $style)
    -    {
    -        $fontSize = mxUtils::getValue($style, mxConstants::$STYLE_FONTSIZE,
    -            mxConstants::$DEFAULT_FONTSIZE);
    -        $fontFamily = mxUtils::getValue($style, mxConstants::$STYLE_FONTFAMILY,
    -        	mxConstants::$DEFAULT_FONTFAMILY);
    -		
    -        return mxUtils::getSizeForString($label, $fontSize, $fontFamily);
    -    }
    -        
    -    /**
    -	 * Function: getLabelPaintBounds
    -	 * 
    -	 * Returns the paint bounds for the given label.
    -     */
    -    static function getLabelPaintBounds($label, $style,
    -    	$isHtml, $offset, $vertexBounds, $scale)
    -    {
    -        $size = mxUtils::getLabelSize($label, $style);
    -
    -        $x = $offset->x;
    -        $y = $offset->y;
    -        $width = 0;
    -        $height = 0;
    -
    -        if (isset($vertexBounds))
    -        {
    -            $x += $vertexBounds->x;
    -            $y += $vertexBounds->y;
    -
    -            if (mxUtils::getValue($style, mxConstants::$STYLE_SHAPE, "") ==
    -            	mxConstants::$SHAPE_SWIMLANE)
    -            {
    -				// Limits the label to the swimlane title
    -	            $start = mxUtils::getNumber($style, mxConstants::$STYLE_STARTSIZE,
    -	            	mxConstants::$DEFAULT_STARTSIZE) * $scale;
    -            	
    -	            if (mxUtils::getValue($style, mxConstants::$STYLE_HORIZONTAL, true))
    -				{
    -					$width += $vertexBounds->width;
    -            		$height += $start;				
    -				}
    -				else
    -				{
    -					$width += $start;
    -            		$height += $vertexBounds->height;
    -				}
    -            }
    -            else
    -            {
    -            	$height += $vertexBounds->height;
    -            	$width += $vertexBounds->width;
    -        	}
    -        }
    -
    -        return mxUtils::getScaledLabelBounds($x, $y, $size, $width,
    -        		$height, $style, $scale);
    -    }
    - 
    -    /**
    -	 * Function: getScaledLabelBounds
    -	 * 
    -	 * Returns the bounds for a label for the given location and size, taking
    -	 * into account the alignment and spacing in the specified style, as well
    -	 * as the width and height of the rectangle that contains the label.
    -	 * (For edge labels this width and height is 0.) The scale is used to scale
    -	 * the given size and the spacings in the specified style.
    -     */
    -    static function getScaledLabelBounds($x, $y, $size, $outerWidth, $outerHeight, $style, $scale)
    -    {
    -		// Adds an inset of 3 pixels
    -		$inset = mxConstants::$LABEL_INSET * $scale;
    -
    -    	// Scales the size of the label
    -    	$width = $size->width * $scale + 2 * $inset;
    -    	$height = $size->height * $scale;
    -
    -		// Gets the global spacing and orientation
    -		$horizontal = mxUtils::getValue($style, mxConstants::$STYLE_HORIZONTAL, true);
    -        $spacing = mxUtils::getNumber($style, mxConstants::$STYLE_SPACING) * $scale;
    -
    -		// Gets the alignment settings
    -        $align = mxUtils::getValue($style, mxConstants::$STYLE_ALIGN,
    -        	mxConstants::$ALIGN_CENTER);
    -        $valign = mxUtils::getValue($style, mxConstants::$STYLE_VERTICAL_ALIGN,
    -        	mxConstants::$ALIGN_MIDDLE);
    -
    -		// Gets the vertical spacing
    -        $top = mxUtils::getNumber($style, mxConstants::$STYLE_SPACING_TOP) * $scale;
    -        $bottom = mxUtils::getNumber($style, mxConstants::$STYLE_SPACING_BOTTOM) * $scale;
    -
    -		// Gets the horizontal spacing
    -        $left = mxUtils::getNumber($style, mxConstants::$STYLE_SPACING_LEFT) * $scale;
    -        $right = mxUtils::getNumber($style, mxConstants::$STYLE_SPACING_RIGHT) * $scale;
    -
    -		// Applies the orientation to the spacings and dimension
    -		if (!$horizontal)
    -		{
    -			$tmp = $top;
    -			$top = $right;
    -			$right = $bottom;
    -			$bottom = $left;
    -			$left = $tmp;
    -			
    -			$tmp = $width;
    -			$width = $height;
    -			$height = $tmp;
    -		}
    -
    -		// Computes the position of the label for the horizontal alignment
    -        if (($horizontal && $align == mxConstants::$ALIGN_CENTER) ||
    -        	(!$horizontal && $valign == mxConstants::$ALIGN_MIDDLE))
    -        {
    -            $x += ($outerWidth - $width) / 2 + $left - $right;
    -        }
    -        else if (($horizontal && $align == mxConstants::$ALIGN_RIGHT) ||
    -        	(!$horizontal && $valign == mxConstants::$ALIGN_BOTTOM))
    -        {
    -            $x += $outerWidth - $width - $spacing - $right;
    -        }
    -        else
    -        {
    -            $x += $spacing + $left;
    -        }
    -
    -		// Computes the position of the label for the vertical alignment
    -        if ((!$horizontal && $align == mxConstants::$ALIGN_CENTER) ||
    -        	($horizontal && $valign == mxConstants::$ALIGN_MIDDLE))
    -        {
    -            $y += ($outerHeight - $height) / 2 + $top - $bottom;
    -        }
    -        else if ((!$horizontal && $align == mxConstants::$ALIGN_LEFT) ||
    -        	($horizontal && $valign == mxConstants::$ALIGN_BOTTOM))
    -        {
    -            $y += $outerHeight - $height - $spacing - $bottom;
    -        }
    -        else
    -        {
    -            $y += $spacing + $top;
    -        }
    -
    -        return new mxRectangle($x, $y, $width, $height);
    -    }
    -    
    -    /**
    -	 * Function: getSizeForString
    -	 * 
    -	 * Returns an <mxRectangle> with the size (width and height in pixels) of
    -	 * the given string. The string may contain HTML markup. Newlines should be
    -	 * converted to <br> before calling this method.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * text - String whose size should be returned.
    -	 * fontSize - Integer that specifies the font size in pixels. Default is
    -	 * <mxConstants.DEFAULT_FONTSIZE>.
    -	 * fontFamily - String that specifies the name of the font famil.y Default
    -	 * is <mxConstants.DEFAULT_FONTFAMILY>.
    -     * 
    -     */
    -    static function getSizeForString($text, $fontSize = 0, $fontFamily = null)
    -    {
    -    	if (is_string($text) && strlen($text) > 0)
    -    	{
    -	        if ($fontSize == 0)
    -	        {
    -	            $fontSize = mxConstants::$DEFAULT_FONTSIZE;
    -	        }
    -	
    -	        if ($fontFamily == null)
    -	        {
    -	            $fontFamily = mxConstants::$DEFAULT_FONTFAMILY;
    -	        }
    -	
    -			$lines = explode("\n", $text);
    -			$lineCount = sizeof($lines);
    -	        
    -	    	if (mxConstants::$TTF_ENABLED &&
    -	    		function_exists("imagettfbbox"))
    -			{
    -				$bbox = imagettfbbox($fontSize * mxConstants::$TTF_SIZEFACTOR, 0, $fontFamily, $text);
    -				$textWidth = $bbox[2] - $bbox[0];
    -				$textHeight = ($fontSize + mxConstants::$DEFAULT_LINESPACING) * $lineCount;
    -				
    -				return new mxRectangle(0, 0, $textWidth, $textHeight);
    -			}
    -			else if (function_exists("imageFontHeight") &&
    -				function_exists("imageFontWidth"))
    -			{
    -				$font = mxUtils::getFixedFontSize($fontSize, $fontFamily);
    -				$textHeight = (imageFontHeight($font) + mxConstants::$DEFAULT_LINESPACING) * $lineCount;
    -				$charWidth = imageFontWidth($font);
    -				$textWidth = 0;
    -				
    -				for ($i = 0; $i < sizeof($lines); $i++)
    -				{
    -					$textWidth = max($textWidth, $charWidth * strlen($lines[$i]));
    -				}
    -				
    -				return new mxRectangle(0, 0, $textWidth, $textHeight);
    -			}
    -		}
    -		
    -		return new mxRectangle();
    -    }
    -	
    -	/**
    -	 * Function: flipImage
    -	 * 
    -	 * Flips the given image horizontally and/or vertically and returns a new
    -	 * image instance.
    -	 */
    -	static function flipImage($img, $flipH, $flipV)
    -	{
    -		$w = imagesx($img);
    -		$h = imagesy($img);
    -		
    -		$sx = 0;
    -		$sy = 0;
    -		$sw = $w;
    -		$sh = $h;
    -				
    -		if ($flipH)
    -		{
    -			$sx = $w - 1;
    -			$sw = -$w;
    -		}
    -		
    -		if ($flipV)
    -		{
    -			$sy = $h - 1;
    -			$sh = -$h;
    -		}
    -
    -		$dst = imagecreatetruecolor($w, $h);
    -		
    -		// Fills the background with transparent white
    -		$bg = ImageColorAllocateAlpha($dst, 255, 255, 255, 127);
    -		ImageFill($dst, 0, 0 , $bg);
    -		
    -		if (imagecopyresampled($dst, $img, 0, 0, $sx, $sy, $w, $h, $sw, $sh))
    -	    {
    -	        return $dst;
    -	    }
    -	
    -	    return $img;
    -	}
    -    
    -	/**
    -	 * Function: toRadians
    -	 * 
    -	 * Converts the given degree to radians.
    -	 */
    -	static function toRadians($deg)
    -	{
    -		return pi() * $deg / 180;
    -	}
    -
    -	/**
    -	 * Function: getBoundingBox
    -	 * 
    -	 * Returns the bounding box for the rotated rectangle.
    -	 */
    -	static function getBoundingBox($rect, $rotation)
    -	{
    -        $result = null;
    -
    -        if ($rect != null && $rotation != null && $rotation != 0)
    -        {
    -            $rad = mxUtils::toRadians($rotation);
    -            $cos = cos($rad);
    -            $sin = sin($rad);
    -
    -            $cx = new mxPoint(
    -            	$rect->x + $rect->width / 2,
    -            	$rect->y  + $rect->height / 2);
    -
    -            $p1 = new mxPoint($rect->x, $rect->y);
    -            $p2 = new mxPoint($rect->x + $rect->width, $rect->y);
    -            $p3 = new mxPoint($p2->x, $rect->y + $rect->height);
    -            $p4 = new mxPoint($rect->x, $p3->y);
    -
    -            $p1 = mxUtils::getRotatedPoint($p1, $cos, $sin, $cx);
    -            $p2 = mxUtils::getRotatedPoint($p2, $cos, $sin, $cx);
    -            $p3 = mxUtils::getRotatedPoint($p3, $cos, $sin, $cx);
    -            $p4 = mxUtils::getRotatedPoint($p4, $cos, $sin, $cx);
    -
    -            $result = new mxRectangle($p1->x, $p1->y, 0, 0);
    -            $result.add(new mxRectangle($p2->x, $p2->y, 0, 0));
    -            $result.add(new mxRectangle($p3->x, $p3->y, 0, 0));
    -            $result.add(new mxRectangle($p4->x, $p4->y, 0, 0));
    -        }
    -
    -        return $result;
    -	}
    -
    -	/**
    -	 * Function: getRotatedPoint
    -	 * 
    -	 * Rotates the given point by the given cos and sin.
    -	 */
    -	static function getRotatedPoint($pt, $cos, $sin, $cx = null)
    -	{
    -		$cx = ($cx != null) ? $cx : new mxPoint();
    -		
    -		$x = $pt->x - $c->x;
    -		$y = $pt->y - $c->y;
    -
    -		$x1 = $x * $cos - $y * $sin;
    -		$y1 = $y * $cos + $x * $sin;
    -
    -		return new mxPoint($x1 + $c->x, $y1 + $c->y);
    -	}
    -
    -	/**
    -	 * Function: translatePoints
    -	 *
    -	 * Creates a new list of new points obtained by translating the points in
    -	 * the given list by the given vector. Elements that are not mxPoints are
    -	 * added to the result as-is.
    -	 */
    -	static function translatePoints($pts, $dx, $dy)
    -	{
    -		$result = null;
    -
    -		if ($pts != null)
    -		{
    -			$result = array();
    -			$pointCount = sizeof($pts);
    -			
    -			for ($i = 0; $i < $pointCount; $i++)
    -			{
    -				$obj = $pts[$i];
    -				
    -				if ($obj instanceof mxPoint)
    -				{
    -					$point = $obj->copy();
    -					
    -					$point->x += $dx;
    -					$point->y += $dy;
    -					
    -					array_push($result, $point);
    -				}
    -				else
    -				{
    -					array_push($result, $obj);
    -				}
    -			}
    -		}
    -
    -		return $result;
    -	}
    -
    -	/**
    -	 * Function: contains
    -	 * 
    -	 * Returns true if the specified point (x, y) is contained in the given rectangle.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * bounds - <mxRectangle> that represents the area.
    -	 * x - X-coordinate of the point.
    -	 * y - Y-coordinate of the point.
    -	 */
    -	static function contains($state, $x, $y)
    -	{
    -		return ($state->x <= $x && $state->x + $state->width >= $x &&
    -				$state->y <= $y && $state->y + $state->height >= $y);
    -	}
    -
    -	/**
    -	 * Function: intersection
    -	 * 
    -	 * Returns the intersection of two lines as an <mxPoint>.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * x0 - X-coordinate of the first line's startpoint.
    -	 * y0 - X-coordinate of the first line's startpoint.
    -	 * x1 - X-coordinate of the first line's endpoint.
    -	 * y1 - Y-coordinate of the first line's endpoint.
    -	 * x2 - X-coordinate of the second line's startpoint.
    -	 * y2 - Y-coordinate of the second line's startpoint.
    -	 * x3 - X-coordinate of the second line's endpoint.
    -	 * y3 - Y-coordinate of the second line's endpoint.
    -	 */
    -	static function intersection($x0, $y0, $x1, $y1, $x2, $y2, $x3, $y3)
    -	{
    -		$denom = (($y3 - $y2)*($x1 - $x0)) - (($x3 - $x2)*($y1 - $y0));
    -		$nume_a = (($x3 - $x2)*($y0 - $y2)) - (($y3 - $y2)*($x0 - $x2));
    -		$nume_b = (($x1 - $x0)*($y0 - $y2)) - (($y1 - $y0)*($x0 - $x2));
    -
    -		$ua = $nume_a / $denom;
    -		$ub = $nume_b / $denom;
    -		
    -		if($ua >= 0.0 && $ua <= 1.0 && $ub >= 0.0 && $ub <= 1.0)
    -		{
    -			// Get the intersection point
    -			$intersectionX = $x0 + $ua*($x1 - $x0);
    -			$intersectionY = $y0 + $ua*($y1 - $y0);
    -			
    -			return new mxPoint($intersectionX, $intersectionY);
    -		}
    -		
    -		// No intersection
    -		return null;
    -	}
    -
    -	/**
    -	 * Function: encodeImage
    -	 *
    -	 * Encodes the given image using the GD image encoding routines.
    -	 * Supported formats are gif, jpg and png (default).
    -	 *
    -	 * Parameters:
    -	 *
    -	 * image - GD image to be encoded.
    -	 * format - String that defines the encoding format. Default is png.
    -	 */
    -	static function encodeImage($image, $format=null)
    -	{
    -		if ($format == "gif")
    -		{
    -			return imageGif($image);
    -		}
    -		else if ($format == "jpg")
    -		{
    -			return imageJpeg($image);
    -		}
    -		else
    -		{
    -			return imagePng($image);
    -		}
    -	}
    -
    -	/**
    -	 * Function: getStylename
    -	 * 
    -	 * Returns the stylename in a style of the form [stylename;|key=value;] or
    -	 * an empty string if the given style does not contain a stylename.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * style - String of the form [stylename;|key=value;].
    -	 */
    -	static function getStylename($style)
    -	{
    -		if (isset($style))
    -		{
    -			$pairs = explode(";", $style);
    -			$stylename = $pairs[0];
    -			
    -			if (strpos($stylename, "=") === false)
    -			{
    -				return $stylename;
    -			}
    -		}
    -				
    -		return "";
    -	}
    -
    -	/**
    -	 * Function: getStylenames
    -	 * 
    -	 * Returns the stylenames in a style of the form [stylename;|key=value;] or
    -	 * an empty array if the given style does not contain any stylenames.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * style - String of the form [stylename;|key=value;].
    -	 */
    -	static function getStylenames($style)
    -	{
    -		$result = array();
    -		
    -		if (isset($style))
    -		{
    -			$pairs = explode(";", $style);
    -			
    -			for ($i = 0; $i < sizeof($pairs); $i++)
    -			{
    -				if (strpos($pairs[$i], "=") === false)
    -				{
    -					array_push($result, $pairs[$i]);
    -				}
    -			}
    -		}
    -				
    -		return $result;
    -	}
    -
    -	/**
    -	 * Function: indexOfStylename
    -	 *
    -	 * Returns the index of the given stylename in the given style. This
    -	 * returns -1 if the given stylename does not occur (as a stylename) in the
    -	 * given style, otherwise it returns the index of the first character.
    -	 */
    -	static function indexOfStylename($style, $stylename)
    -	{
    -		if (isset($style) && isset($stylename))
    -		{
    -			$tokens = explode(";", $style);
    -			$tokenCount = sizeof($tokens);
    -			$pos = 0;
    -			
    -			for ($i = 0; $i < $tokenCount; $i++)
    -			{
    -				if ($tokens[$i] == $stylename)
    -				{
    -					return $pos;
    -				}
    -				
    -				$pos += strlen($tokens[$i]) + 1;
    -			}
    -		}
    -		
    -		return -1;
    -	}
    -
    -	/**
    -	 * Function: addStylename
    -	 *
    -	 * Adds the specified stylename to the given style if it does not already
    -	 * contain the stylename.
    -	 */
    -	static function addStylename($style, $stylename)
    -	{
    -		if (mxUtils::indexOfStylename($style, $stylename) < 0)
    -		{
    -			if (!isset($style))
    -			{
    -				$style = "";
    -			}
    -			else if (strlen($style) > 0 && $style[strlen($style) - 1] != ";")
    -			{
    -				$style .= ";";
    -			}
    -
    -			$style .= $stylename;
    -		}
    -
    -		return $style;
    -	}
    -
    -	/**
    -	 * Function: removeStylename
    -	 *
    -	 * Removes all occurrences of the specified stylename in the given style
    -	 * and returns the updated style. Trailing semicolons are preserved.
    -	 */
    -	static function removeStylename($style, $stylename)
    -	{
    -		$result = "";
    -
    -		if (isset($style))
    -		{
    -			$tokens = explode(";", $style);
    -			$tokenCount = sizeof($tokens);
    -
    -			for ($i = 0; $i < $tokenCount; $i++)
    -			{
    -				if ($tokens[$i] != $stylename)
    -				{
    -					$result .= $tokens[$i].";";
    -				}
    -			}
    -		}
    -		
    -		$len = strlen($result);
    -
    -		return ($len > 1) ? substr($result, 0, $len - 1) : $result;
    -	}
    -
    -	/**
    -	 * Function: removeAllStylenames
    -	 *
    -	 * Removes all stylenames from the given style and returns the updated
    -	 * style.
    -	 */
    -	static function removeAllStylenames($style)
    -	{
    -		$result = "";
    -
    -		if (isset($style))
    -		{
    -			$tokens = explode(";", $style);
    -			$tokenCount = sizeof($tokens);
    -
    -			for ($i = 0; $i < $tokenCount; $i++)
    -			{
    -				if (strpos($tokens[$i], "=") !== false)
    -				{
    -					$result .= $tokens[$i].";";
    -				}
    -			}
    -		}
    -		
    -		$len = strlen($result);
    -
    -		return ($len > 1) ? substr($result, 0, $len - 1) : $result;
    -	}
    -
    -	/**
    -	 * Function: setCellStyles
    -	 * 
    -	 * Assigns the value for the given key in the styles of the given cells, or
    -	 * removes the key from the styles if the value is null.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * model - <mxGraphModel> to execute the transaction in.
    -	 * cells - Array of <mxCells> to be updated.
    -	 * key - Key of the style to be changed.
    -	 * value - New value for the given key.
    -	 */
    -	static function setCellStyles($model, $cells, $key, $value)
    -	{
    -		if ($cells != null && sizeof($cells) > 0)
    -		{
    -			$model->beginUpdate();
    -			try
    -			{
    -				for ($i=0; $i < sizeof($cells); $i++)
    -				{
    -					if (isset($cells[$i]))
    -					{
    -						$style = mxUtils::setStyle(
    -							$model->getStyle($cells[$i]),
    -							$key, $value);
    -						$model->setStyle($cells[$i], $style);
    -					}
    -				}
    -			}
    -			catch (Exception $e)
    -			{
    -				$model->endUpdate();
    -				throw($e);
    -			}
    -			$model->endUpdate();
    -		}
    -	}
    -
    -	/**
    -	 * Function: setStyle
    -	 * 
    -	 * Adds or removes the given key, value pair to the style and returns the
    -	 * new style. If value is null or zero length then the key is removed from
    -	 * the style.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * style - String of the form stylename[;key=value]
    -	 * key - Key of the style to be changed.
    -	 * value - New value for the given key.
    -	 */
    -	static function setStyle($style, $key, $value)
    -	{
    -		$isValue = $value != null && (!is_string($value) ||
    -			strlen($value) > 0);
    -		
    -		if (strlen($style) == 0)
    -		{
    -			if ($isValue)
    -			{
    -				$style = "$key=$value";
    -			}
    -		}
    -		else
    -		{
    -			$index = strpos($style, "$key=");
    -
    -			if ($index === false)
    -			{
    -				if ($isValue)
    -				{
    -					$sep = ($style[strlen($style) - 1] == ";") ? "" : ";";
    -					$style = "{$style}$sep{$key}=$value";
    -				}
    -			}
    -			else
    -			{
    -				$tmp = ($isValue) ? "$key=$value" : "";
    -				$cont = strpos($style, ";", $index);
    -				
    -				if (!$isValue)
    -				{
    -					$cont++;
    -				}
    -				
    -				$style = substr($style, 0, $index).$tmp.
    -					(($cont > $index) ? substr($style, $cont) : "");
    -			}
    -		}
    -
    -		return $style;
    -	}
    -
    -	/**
    -	 * Function: setCellStyleFlags
    -	 * 
    -	 * Sets or toggles the flag bit for the given key in the cell's styles.
    -	 * If value is null then the flag is toggled.
    -	 * 
    -	 * Example:
    -	 * 
    -	 * (code)
    -	 * var cells = graph.getSelectionCells();
    -	 * mxUtils.setCellStyleFlags(graph.model,
    -	 * 			cells,
    -	 * 			mxConstants.STYLE_FONTSTYLE,
    -	 * 			mxConstants.FONT_BOLD);
    -	 * (end)
    -	 * 
    -	 * Toggles the bold font style.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * model - <mxGraphModel> that contains the cells.
    -	 * cells - Array of <mxCells> to change the style for.
    -	 * key - Key of the style to be changed.
    -	 * flag - Integer for the bit to be changed.
    -	 * value - Optional boolean value for the flag.
    -	 */
    -	static function setCellStyleFlags($model, $cells, $key, $flag, $value)
    -	{
    -		if ($cells != null && sizeof($cells) > 0)
    -		{
    -			$model->beginUpdate();
    -			try
    -			{
    -				for ($i=0; $i < sizeof($cells); $i++)
    -				{
    -					if (isset($cells[$i]))
    -					{
    -						$style = mxUtils::setStyleFlag(
    -							$model->getStyle($cells[$i]),
    -							$key, $flag, $value);
    -						$model->setStyle($cells[$i], $style);
    -					}
    -				}
    -			}
    -			catch (Exception $e)
    -			{
    -				$model->endUpdate();
    -				throw($e);
    -			}
    -			$model->endUpdate();
    -		}
    -	}
    -
    -	/**
    -	 * Function: setStyleFlag
    -	 * 
    -	 * Sets or removes the given key from the specified style and returns the
    -	 * new style. If value is null then the flag is toggled.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * style - String of the form stylename[;key=value].
    -	 * key - Key of the style to be changed.
    -	 * flag - Integer for the bit to be changed.
    -	 * value - Optional boolean value for the given flag.
    -	 */
    -	static function setStyleFlag($style, $key, $flag, $value)
    -	{
    -		if (strlen($style) == 0)
    -		{
    -			if ($value == null || $value === true)
    -			{
    -				$style = "$key=$flag";
    -			}
    -			else
    -			{
    -				$style = "$key=0";
    -			}
    -		}
    -		else
    -		{
    -			$index = strpos($style, "$key=");
    -
    -			if ($index === false)
    -			{
    -				$sep = ($style[strlen($style) - 1] == ";") ? "" : ";";
    -
    -				if ($value == null || $value === true)
    -				{
    -					$style = "{$style}$sep{$key}=$flag";
    -				}
    -				else
    -				{
    -					$style = "{$style}$sep{$key}=0";
    -				}
    -			}
    -			else
    -			{
    -				$cont = strpos($style, ";", $index);
    -				$tmp = "";
    -				
    -				if ($cont === false)
    -				{
    -					$tmp  = substr($style, $index+strlen($key)+1);
    -				}
    -				else
    -				{
    -					$tmp  = substr($style, $index+strlen($key)+1, $cont);
    -				}
    -				
    -				if ($value == null)
    -				{
    -					$tmp = $tmp ^ $flag;
    -				}
    -				else if ($value === true)
    -				{
    -					$tmp = $tmp | $flag;
    -				}
    -				else
    -				{
    -					$tmp = $tmp & ~$flag;
    -				}
    -
    -				$style = substr($style, 0, $index)."$key=$tmp".
    -					(($cont >= 0) ? substr($style, $cont) : "");
    -			}
    -		}
    -
    -		return $style;
    -	}
    -
    -	/**
    -	 * Function: getValue
    -	 *
    -	 * Returns the value for key in dictionary or the given default value if no
    -	 * value is defined for the key.
    -	 * 
    -	 * Parameters:
    -	 *
    -	 * dict - Dictionary that contains the key, value pairs.
    -	 * key - Key whose value should be returned.
    -	 * default - Default value to return if the key is undefined. Default is null.
    -	 */
    -	static function getValue($dict, $key, $default=null)
    -	{
    -		$value = null;
    -	
    -		if (isset($dict[$key]))
    -		{
    -			$value = $dict[$key];
    -		}
    -		else
    -		{
    -			$value = $default;
    -		}
    -		
    -		return $value;
    -	}
    -
    -	/**
    -	 * Function: getNumber
    -	 *
    -	 * Returns the value for key in dictionary or 0 if no value is defined for
    -	 * the key.
    -	 *
    -	 * Parameters:
    -	 *
    -	 * dict - Dictionary that contains the key, value pairs.
    -	 * key - Key whose value should be returned.
    -	 * default - Optional default value to return if no value is defined for
    -	 * the given key. Default is 0.
    -	 */
    -	static function getNumber($dict, $key, $default=0)
    -	{
    -		return mxUtils::getValue($dict, $key, $default);
    -	}
    -
    -	/**
    -	 * Function: indexOf
    -	 * 
    -	 * Returns the index of obj in array or -1 if the array does not contains
    -	 * the given object.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * array - Array to check for the given obj.
    -	 * obj - Object to find in the given array.
    -	 */
    -	static function indexOf($array, $object)
    -	{
    -		if ($array != null)
    -		{
    -			$len = sizeof($array);
    -			
    -			for ($i = 0; $i < $len; $i++)
    -			{
    -				if ($array[$i] === $object)
    -				{
    -					return $i;
    -				}
    -			}
    -		}
    -
    -		return -1;
    -	}
    -
    -	/**
    -	 * Function: readFile
    -	 * 
    -	 * Reads the given filename into a string. Shortcut for file_get_contents.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * filename - The name of the file to read.
    -	 */
    -	static function readFile($filename)
    -	{
    -		return file_get_contents($filename);
    -	}
    -
    -	/**
    -	 * Function: isNode
    -	 * 
    -	 * Returns true if the given value is an XML node with the node name
    -	 * and if the optional attribute has the specified value.
    -	 * 
    -	 * This implementation assumes that the given value is a DOM node if the
    -	 * nodeName property is not null.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * value - Object that should be examined as a node.
    -	 * nodeName - String that specifies the node name.
    -	 * attributeName - Optional attribute name to check.
    -	 * attributeValue - Optional attribute value to check.
    -	 */
    -	static function isNode($value, $nodeName = null, $attributeName = null, $attributeValue = null)
    -	{
    -		if ($value != null && ($nodeName == null ||
    -			strcasecmp($value->nodeName, $nodeName) == 0))
    -		{
    -			return $attributeName == null ||
    -				$value->getAttribute($attributeName) == $attributeValue;
    -		}
    -		
    -		return false;
    -	}
    -	
    -	/**
    -	 * Function: loadImage
    -	 * 
    -	 * Loads an image from the local filesystem, a data URI or any other URL.
    -	 */
    -	static function loadImage($url)
    -	{
    -		$img = null;
    -		
    -		if (isset($url))
    -		{
    -			// Parses data URIs of the form data:image/format;base64,xxx
    -			if (strpos($url, "data:image/") === 0)
    -			{
    -				$comma = strpos($url, ",");
    -				$data = base64_decode(substr($url, $comma + 1));
    -				$img = imagecreatefromstring($data);
    -			}
    -			else if (preg_match("/.jpg/i", "$url"))
    -			{
    -				$img = imagecreatefromjpeg($url);
    -			}
    -			else if (preg_match("/.png/i", "$url"))
    -			{
    -				$img = imagecreatefrompng($url);
    -			}
    -			else if (preg_match("/.gif/i", "$url"))
    -			{
    -				$img = imagecreatefromgif($url);
    -			}
    -		}
    -		
    -		return $img;
    -	}
    -
    -	/**
    -	 * Function: createXmlDocument
    -	 * 
    -	 * Returns a new, empty XML document.
    -	 */
    -	static function createXmlDocument()
    -	{
    -		return new DOMDocument("1.0");
    -	}
    -
    -	/**
    -	 * Function: loadXmlDocument
    -	 * 
    -	 * Returns a new DOM document for the given URI.
    -	 */
    -	static function loadXmlDocument($uri)
    -	{
    -		$doc = mxUtils::createXmlDocument();
    -		$doc->load($uri);
    -		
    -		return $doc;
    -	}
    -
    -	/**
    -	 * Function: parseXml
    -	 * 
    -	 * Returns a new DOM document for the given XML string.
    -	 */
    -	static function parseXml($xml)
    -	{
    -		$doc = mxUtils::createXmlDocument();
    -		$doc->loadXML($xml);
    -		
    -		return $doc;
    -	}
    -
    -	/**
    -	 * Function getXml
    -	 *
    -	 * Returns the XML of the given node as a string.
    -	 *
    -	 * Parameters:
    -	 *
    -	 * node - DOM node to return the XML for.
    -	 * linefeed - Optional string that linefeeds are converted into. Default is
    -	 * &#xa;
    -	 */
    -	static function getXml($node, $linefeed = "&#xa;")
    -	{
    -		// SaveXML converts linefeeds to &#10; internally
    -		return str_replace("&#10;", "&#xa;", $node->ownerDocument->saveXML($node));
    -	}
    -	
    -	/**
    -	 * Function: evaluate
    -	 *
    -	 * Evaluates an expression to a class member. The range of supported
    -	 * expressions is limited to static class members with a dot-notation,
    -	 * such as mxEdgeStyle.ElbowConnector.
    -	 */
    -	static function evaluate($expression)
    -	{
    -		$pos = strpos($expression, ".");
    -		
    -		if ($pos !== false)
    -		{
    -			$class = substr($expression, 0, $pos);
    -			$field = substr($expression, $pos+1);
    -			$vars = get_class_vars($class);
    -			
    -			if (isset($vars[$field]))
    -			{
    -				return $vars[$field];
    -			}
    -		}
    -		
    -		return eval("return ".$expression.";");
    -	}
    -	
    -	/**
    -	 * Function: findNode
    -	 * 
    -	 * Returns the first node where attr equals value.
    -	 * This implementation does not use XPath.
    -	 */
    -	static function findNode($node, $attr, $value)
    -	{
    -		$tmp = $node->getAttribute($attr);
    -		
    -		if (isset($tmp) && $tmp == $value)
    -		{
    -			return $node;
    -		}
    -		
    -		$node = $node->firstChild;
    -		
    -		while (isset($node))
    -		{
    -			$result = mxUtils::findNode($node, $attr, $value);
    -			
    -			if (isset($result))
    -			{
    -				return $result;
    -			}
    -			
    -			$node = $node->nextSibling;
    -		}
    -		
    -		return null;
    -	}
    -
    -	/**
    -	 * Function: getTrueTypeFont
    -	 * 
    -	 * Returns the truetype font to be used to draw the text with the given style.
    -	 */
    -	 static function getTrueTypeFont($style)
    -	 {
    -	 	return mxUtils::getValue($style, mxConstants::$STYLE_FONTFAMILY,
    -			mxConstants::$DEFAULT_FONTFAMILY);
    -	 }
    -	
    -	/**
    -	 * Function: getTrueTypeFontSize
    -	 * 
    -	 * Returns the truetype font size to be used to draw the text with the
    -	 * given style. This returns the fontSize in the style of the default
    -	 * fontsize multiplied with <ttfSizeFactor>.
    -	 */
    -	 static function getTrueTypeFontSize($size)
    -	 {
    -	 	return $size * mxConstants::$TTF_SIZEFACTOR;
    -	 }
    -
    -	/**
    -	 * Function: getFixedFontSize
    -	 * 
    -	 * Returns the fixed font size for GD (1 t0 5) for the given font properties
    -	 */
    -	static function getFixedFontSize($fontSize, $fontFamily, $fontStyle=null)
    -	{
    -		$font = 5;
    -		
    -		if ($fontSize <= 12)
    -		{
    -			$font = 1;
    -		}
    -		else if ($fontSize <= 14)
    -		{
    -			$font = 2;
    -		}
    -		else if ($fontSize <= 16)
    -		{
    -			$font = 3;
    -		}
    -		else if ($fontSize <= 18)
    -		{
    -			$font = 4;
    -		}
    -		
    -		return $font;
    -	}
    -	
    -	/**
    -	 * Function: stackTrace
    -	 *
    -	 * Prints a simple stack trace in the error log.
    -	 */
    -	static function stackTrace()
    -	{
    -		$arr = debug_backtrace();
    -		
    -		foreach ($arr as $value)
    -		{
    -			error_log($value["class"].".".$value["function"]);
    -		}
    -	}
    -
    -}
    -?>
    diff --git a/php/src/view/mxCellState.php b/php/src/view/mxCellState.php
    deleted file mode 100644
    index 804d184bc..000000000
    --- a/php/src/view/mxCellState.php
    +++ /dev/null
    @@ -1,197 +0,0 @@
    -<?php
    -/**
    - * Copyright (c) 2006-2013, Gaudenz Alder
    - */
    -class mxCellState extends mxRectangle
    -{
    -	
    -	/**
    -	 * Class: mxCellState
    -	 * 
    -	 * Represents the current state of a cell in a given <mxGraphView>.
    -	 * 
    -	 * Variable: view
    -	 * 
    -	 * Reference to the enclosing <mxGraphView>.
    -	 */
    -	var $view;
    -	
    -	/**
    -	 * Variable: cell
    -	 *
    -	 * Reference to the <mxCell> that is represented by this state.
    -	 */
    -	var $cell;
    -	
    -	/**
    -	 * Variable: style
    -	 * 
    -	 * Contains an array of key, value pairs that represent the style of the
    -	 * cell.
    -	 */
    -	var $style;
    -
    -	/**
    -	 * Variable: invalid
    -	 * 
    -	 * Specifies if the state is invalid. Default is true.
    -	 */
    -	var $invalid = true;
    -
    -	/**
    -	 * Variable: origin
    -	 *
    -	 * <mxPoint> that holds the origin for all child cells. Default is a new
    -	 * empty <mxPoint>.
    -	 */
    -	var $origin;
    -	
    -	/**
    -	 * Variable: absolutePoints
    -	 * 
    -	 * Holds an array of <mxPoints> that represent the absolute points of an
    -	 * edge.
    -	 */
    -	var $absolutePoints;
    -
    -	/**
    -	 * Variable: absoluteOffset
    -	 *
    -	 * <mxPoint> that holds the absolute offset. For edges, this is the
    -	 * absolute coordinates of the label position. For vertices, this is the
    -	 * offset of the label relative to the top, left corner of the vertex. 
    -	 */
    -	var $absoluteOffset;
    -	
    -	/**
    -	 * Variable: terminalDistance
    -	 * 
    -	 * Caches the distance between the end points for an edge.
    -	 */
    -	var $terminalDistance;
    -	
    -	/**
    -	 * Variable: length
    -	 *
    -	 * Caches the length of an edge.
    -	 */
    -	var $length;
    -	
    -	/**
    -	 * Variable: segments
    -	 * 
    -	 * Array of numbers that represent the cached length of each segment of the
    -	 * edge.
    -	 */
    -	var $segments;
    -		
    -	/**
    -	 * Variable: labelBounds
    -	 * 
    -	 * Holds the rectangle which contains the label.
    -	 */
    -	var $labelBounds;
    -	
    -	/**
    -	 * Variable: boundingBox
    -	 * 
    -	 * Holds the largest rectangle which contains all rendering for this cell.
    -	 */
    -	var $boundingBox;
    -
    -	/**
    -	 * Constructor: mxCellState
    -	 * 
    -	 * Constructs a new object that represents the current state of the given
    -	 * cell in the specified view.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * view - <mxGraphView> that contains the state.
    -	 * cell - <mxCell> that this state represents.
    -	 * style - Array of key, value pairs that constitute the style.
    -	 */
    -	function mxCellState($view = null, $cell = null, $style = null)
    -	{
    -		$this->view = $view;
    -		$this->cell = $cell;
    -		$this->style = $style;
    -		
    -		$this->origin = new mxPoint();
    -		$this->absoluteOffset = new mxPoint();
    -	}
    -
    -	/**
    -	 * Function: getPerimeterBounds
    -	 * 
    -	 * Returns the <mxRectangle> that should be used as the perimeter of the
    -	 * cell.
    -	 */
    -	function getPerimeterBounds($border = 0)
    -	{
    -		$bounds = new mxRectangle($this->x, $this->y, $this->width, $this->height);
    -		
    -		if ($border != 0)
    -		{
    -			$bounds->grow($border);
    -		}
    -		
    -		return $bounds;
    -	}
    -	
    -	/**
    -	 * Function: copy
    -	 *
    -	 * Returns a copy of this state where all members are deeply cloned
    -	 * except the view and cell references, which are copied with no
    -	 * cloning to the new instance.
    -	 */
    -	function copy()
    -	{
    -	 	$clone = new mxCellState($this->view, $this->cell, $this->style);
    -
    -		// Clones the absolute points
    -		if ($this->absolutePoints != null)
    -		{
    -			$clone->absolutePoints = array();
    -			
    -			for ($i = 0; $i < sizeof($this->absolutePoints); $i++)
    -			{
    -				array_push($clone->absolutePoints, $this->absolutePoints[$i]->copy());
    -			}
    -		}
    -
    -		if ($this->origin != null)
    -		{
    -			$clone->origin = $this->origin->copy();
    -		}
    -
    -		if ($this->absoluteOffset != null)
    -		{
    -			$clone->absoluteOffset = $this->absoluteOffset->copy();
    -		}
    -	
    -		if ($this->labelBounds != null)
    -		{
    -			$clone->labelBounds = $this->labelBounds->copy();
    -		}
    -		
    -		if ($this->boundingBox != null)
    -		{
    -			$clone->boundingBox = $this->boundingBox->copy();
    -		}
    -
    -		$clone->terminalDistance = $this->terminalDistance;
    -		$clone->segments = $this->segments;
    -		$clone->length = $this->length;
    -		$clone->x = $this->x;
    -		$clone->y = $this->y;
    -		$clone->width = $this->width;
    -		$clone->height = $this->height;
    -		
    -		return $clone;
    -	}
    -
    -}
    -
    -?>
    diff --git a/php/src/view/mxConnectionConstraint.php b/php/src/view/mxConnectionConstraint.php
    deleted file mode 100644
    index 5b3511c27..000000000
    --- a/php/src/view/mxConnectionConstraint.php
    +++ /dev/null
    @@ -1,49 +0,0 @@
    -<?php
    -/**
    - * Copyright (c) 2006-2013, Gaudenz Alder
    - */
    -class mxConnectionConstraint
    -{
    -	
    -	/**
    -	 * Class: mxConnectionConstraint
    -	 * 
    -	 * Defines an object that contains the constraints about how to connect one
    - 	 * side of an edge to its terminal.
    -	 * 
    -	 * Variable: point
    -	 * 
    -	 * <mxPoint> that specifies the fixed location of the connection point.
    -	 */
    -	var $point;
    -	
    -	/**
    -	 * Variable: perimeter
    -	 *
    -	 * Boolean that specifies if the point should be projected onto the perimeter
    -	 * of the terminal.
    -	 */
    -	var $perimeter;
    -
    -	/**
    -	 * Constructor: mxConnectionConstraint
    -	 * 
    -	 * Constructs a new connection constraint for the given point and boolean
    -	 * arguments.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * point - Optional <mxPoint> that specifies the fixed location of the point
    -	 * in relative coordinates. Default is null.
    -	 * perimeter - Optional boolean that specifies if the fixed point should be
    -	 * projected onto the perimeter of the terminal. Default is true.
    -	 */
    -	function mxConnectionConstraint($point = null, $perimeter = true)
    -	{
    -		$this->point = $point;
    -		$this->perimeter = $perimeter;
    -	}
    -
    -}
    -
    -?>
    diff --git a/php/src/view/mxEdgeStyle.php b/php/src/view/mxEdgeStyle.php
    deleted file mode 100644
    index 52687fd74..000000000
    --- a/php/src/view/mxEdgeStyle.php
    +++ /dev/null
    @@ -1,564 +0,0 @@
    -<?php
    -/**
    - * Copyright (c) 2006-2013, Gaudenz Alder
    - */
    -interface mxEdgeStyleFunction
    -{
    -
    -	/**
    -	 * Interface: mxEdgeStyleFunction
    -	 * 
    -	 * Defines the requirements for an edge style function.
    -	 * 
    -	 * Function: apply
    -	 * 
    -	 * Implements an edge style function. At the time the function is called, the result
    -	 * array contains a placeholder (null) for the first absolute point,
    -	 * that is, the point where the edge and source terminal are connected.
    -	 * The implementation of the style then adds all intermediate waypoints
    -	 * except for the last point, that is, the connection point between the
    -	 * edge and the target terminal. The first ant the last point in the
    -	 * result array are then replaced with mxPoints that take into account
    -	 * the terminal's perimeter and next point on the edge.
    -	 *
    -	 * Parameters:
    -	 * 
    -	 * state - <mxCellState> that represents the edge to be updated.
    -	 * source - <mxCellState> that represents the source terminal.
    -	 * target - <mxCellState> that represents the target terminal.
    -	 * points - List of relative control points.
    -	 * result - Array of <mxPoints> that represent the actual points of the
    -	 * edge.
    -	 */
    -	public function apply($state, $source, $target, $points, &$result);
    -
    -}
    -
    -/**
    - * Class: mxEntityRelation
    - * 
    - * Implements an entity relation style for edges (as used in database
    - * schema diagrams).  At the time the function is called, the result
    - * array contains a placeholder (null) for the first absolute point,
    - * that is, the point where the edge and source terminal are connected.
    - * The implementation of the style then adds all intermediate waypoints
    - * except for the last point, that is, the connection point between the
    - * edge and the target terminal. The first ant the last point in the
    - * result array are then replaced with mxPoints that take into account
    - * the terminal's perimeter and next point on the edge.
    - */
    -class mxEntityRelation implements mxEdgeStyleFunction
    -{
    -
    -	/**
    -	 * 
    -	 */
    -	public function apply($state, $source, $target, $points, &$result)
    -	{
    -		$view = $state->view;
    -		$graph = $view->graph;
    -		$segment = mxUtils::getValue($state->style,
    -			mxConstants::$STYLE_SEGMENT,
    -			mxConstants::$ENTITY_SEGMENT) * $view->scale;
    -
    -		$pts = $state->absolutePoints;
    -		$p0 = $pts[0];
    -		$pe = $pts[sizeof($pts) - 1];
    -
    -	 	$isSourceLeft = false;
    -	 	
    -		if (isset($p0))
    -		{
    -			$source = new mxCellState();
    -			$source->x = $p0->x;
    -			$source->y = $p0->y;
    -		}
    -	 	else if (isset($source))
    -	 	{
    -		 	$sourceGeometry = $graph->getCellGeometry($source->cell);	 		
    -	 	
    -		 	if ($sourceGeometry->relative)
    -		 	{
    -		 		$isSourceLeft = $sourceGeometry->x <= 0.5;
    -		 	}
    -		 	else if ($target != null)
    -		 	{
    -		 		$isSourceLeft = $target->x + $target->width < $source->x;
    -		 	}
    -		}
    -	 	
    -	 	$isTargetLeft = true;
    -	 	
    -		if (isset($pe))
    -		{
    -			$target = new mxCellState();
    -			$target->x = $pe->x;
    -			$target->y = $pe->y;
    -		}
    -	 	else if (isset($target))
    -	 	{
    -		 	$targetGeometry = $graph->getCellGeometry($target->cell);	 		
    -	 	
    -		 	if ($targetGeometry->relative)
    -		 	{
    -		 		$isTargetLeft = $targetGeometry->x <= 0.5;
    -		 	}
    -		 	else if ($source != null)
    -		 	{
    -		 		$isTargetLeft = $source->x + $source->width < $target->x;
    -		 	}
    -		}
    -	 	
    -		if (isset($source) && isset($target))
    -		{
    -			$x0 = ($isSourceLeft) ? $source->x : $source->x + $source->width;
    -			$y0 = $view->getRoutingCenterY($source);
    -			
    -			$xe = ($isTargetLeft) ? $target->x : $target->x + $target->width;
    -			$ye = $view->getRoutingCenterY($target);
    -	
    -			$seg = $segment;
    -			
    -			$dx = ($isSourceLeft) ? -$seg : $seg;
    -			$dep = new mxPoint($x0+$dx, $y0);
    -			array_push($result, $dep);
    -					
    -			$dx = ($isTargetLeft) ? -$seg : $seg;
    -			$arr = new mxPoint($xe+$dx, $ye);
    -	
    -			// Adds intermediate points if both go out on same side
    -			if ($isSourceLeft == $isTargetLeft)
    -			{
    -				$x = ($isSourceLeft) ?
    -					min($x0, $xe)-$segment :
    -					max($x0, $xe)+$segment;
    -				array_push($result, new mxPoint($x, $y0));
    -				array_push($result, new mxPoint($x, $ye));
    -			}
    -			else if (($dep->x < $arr->x) == $isSourceLeft)
    -			{
    -				$midY = $y0 + ($ye - $y0) / 2;
    -				array_push($result, new mxPoint($dep->x, $midY));
    -				array_push($result, new mxPoint($arr->x, $midY));
    -			}
    -			
    -			array_push($result, $arr);
    -		}
    -	}
    -
    -}
    -
    -/**
    - * Class: mxLoop
    - * 
    - * Implements a self-reference, aka. loop.
    - */
    -class mxLoop implements mxEdgeStyleFunction
    -{
    -
    -	/**
    -	 * 
    -	 */
    -	public function apply($state, $source, $target, $points, &$result)
    -	{
    -		if ($source != null)
    -		{
    -			$view = $state->view;
    -			$graph = $view->graph;
    -			$pt = ($points != null && sizeof($points) > 0) ? $points[0] : null;
    -
    -			if ($pt != null)
    -			{
    -				$pt = $view->transformControlPoint($state, $pt);
    -					
    -				if (mxUtils::contains($source, $pt->x, $pt->y))
    -				{
    -					$pt = null;
    -				}
    -			}
    -		
    -			$x = 0;
    -			$dx = 0;
    -			$y = 0;
    -			$dy = 0;
    -			
    -			$seg = mxUtils::getValue($state->style,
    -				mxConstants::$STYLE_SEGMENT, $graph->gridSize)
    -				* $view->scale;
    -			$dir = mxUtils::getValue($state->style,
    -				mxConstants::$STYLE_DIRECTION,
    -				mxConstants::$DIRECTION_WEST);
    -
    -			if ($dir == mxConstants::$DIRECTION_NORTH ||
    -				$dir == mxConstants::$DIRECTION_SOUTH)
    -			{
    -				$x = $view->getRoutingCenterX($source);
    -				$dx = $seg;
    -			}
    -			else
    -			{
    -				$y = $view->getRoutingCenterY($source);
    -				$dy = $seg;
    -			}
    -			
    -			if ($pt == null ||
    -				$pt->x < $source->x ||
    -				$pt->x > $source->x + $source->width)
    -			{
    -				if ($pt != null)
    -				{
    -					$x = $pt->x;
    -					$dy = max(abs($y - $pt->y), $dy);
    -				}
    -				else
    -				{
    -					if ($dir == mxConstants::$DIRECTION_NORTH)
    -					{
    -						$y = $source->y - 2 * $dx;
    -					}
    -					else if ($dir == mxConstants::$DIRECTION_SOUTH)
    -					{
    -						$y = $source->y + $source->height + 2 * $dx;
    -					}
    -					else if ($dir == mxConstants::$DIRECTION_EAST)
    -					{
    -						$x = $source->x - 2 * $dy;
    -					}
    -					else
    -					{
    -						$x = $source->x + $source->width + 2 * $dy;
    -					}
    -				}
    -			}
    -			else if ($pt != null)
    -			{
    -				$x = $view->getRoutingCenterX($source);
    -				$dx = max(abs($x - $pt->x), $dy);
    -				$y = $pt->y;
    -				$dy = 0;
    -			}
    -			
    -			array_push($result, new mxPoint($x-$dx, $y-$dy));
    -			array_push($result, new mxPoint($x+$dx, $y+$dy));
    -		}
    -	}
    -	
    -}
    -
    -/**
    - * Class: mxElbowConnector
    - * 
    - * Uses either <SideToSide> or <TopToBottom> depending on the horizontal
    - * flag in the cell style. <SideToSide> is used if horizontal is true or
    - * unspecified. See <EntityRelation> for a description of the
    - * parameters.
    - */
    -class mxElbowConnector implements mxEdgeStyleFunction
    -{
    -
    -	/**
    -	 * 
    -	 */
    -	public function apply($state, $source, $target, $points, &$result)
    -	{
    -		$pt = ($points != null && sizeof($points) > 0) ? $points[0] : null;
    -
    -		$vertical = false;
    -		$horizontal = false;
    -		
    -		if ($source != null && $target != null)
    -		{
    -			if ($pt != null)
    -			{
    -				$left = min($source->x, $target->x);
    -				$right = max($source->x + $source->width,
    -					$target->x + $target->width);
    -	
    -				$top = min($source->y, $target->y);
    -				$bottom = max($source->y + $source->height,
    -					$target->y + $target->height);
    -
    -				$pt = $state->view->transformControlPoint($state, $pt);
    -				
    -				$vertical = $pt->y < $top || $pt->y > $bottom;
    -				$horizontal = $pt->x < $left || $pt->x > $right;
    -			}
    -			else
    -			{
    -				$left = max($source->x, $target->x);
    -				$right = min($source->x + $source->width,
    -					$target->x + $target->width);
    -					
    -				$vertical = $left == $right;
    -				
    -				if (!$vertical)
    -				{
    -					$top = max($source->y, $target->y);
    -					$bottom = min($source->y + $source->height,
    -						$target->y + $target->height);
    -						
    -					$horizontal = $top == $bottom;
    -				}
    -			}
    -		}
    -
    -		if (!$horizontal && ($vertical ||
    -			mxUtils::getValue($state->style, mxConstants::$STYLE_ELBOW) == mxConstants::$ELBOW_VERTICAL))
    -		{
    -			mxEdgeStyle::$TopToBottom->apply($state, $source, $target, $points, $result);
    -		}
    -		else
    -		{
    -			mxEdgeStyle::$SideToSide->apply($state, $source, $target, $points, $result);
    -		}
    -	}
    -
    -}
    -
    -/**
    - * Class: mxSideToSide
    - * 
    - * Implements a vertical elbow edge. See <EntityRelation> for a description
    - * of the parameters.
    - */
    -class mxSideToSide implements mxEdgeStyleFunction
    -{
    -
    -	/**
    -	 * 
    -	 */
    -	public function apply($state, $source, $target, $points, &$result)
    -	{
    -		$view = $state->view;
    -		$pt = ($points != null && sizeof($points) > 0) ? $points[0] : null;
    -		$pts = $state->absolutePoints;
    -		$p0 = $pts[0];
    -		$pe = $pts[sizeof($pts) - 1];
    -		
    -		if ($pt != null)
    -		{
    -			$pt = $view->transformControlPoint($state, $pt);
    -		}
    -
    -		if (isset($p0))
    -		{
    -			$source = new mxCellState();
    -			$source->x = $p0->x;
    -			$source->y = $p0->y;
    -		}
    -		
    -		if (isset($pe))
    -		{
    -			$target = new mxCellState();
    -			$target->x = $pe->x;
    -			$target->y = $pe->y;
    -		}
    -
    -		if (isset($source) && isset($target))
    -		{
    -			$l = max($source->x, $target->x);
    -			$r = min($source->x+$source->width, $target->x+$target->width);
    -	
    -			$x = ($pt != null) ? $pt->x : $r + ($l-$r)/2;
    -			
    -			$y1 = $view->getRoutingCenterY($source);
    -			$y2 = $view->getRoutingCenterY($target);
    -			
    -			if ($pt != null)
    -			{
    -				if ($pt->y >= $source->y &&
    -					$pt->y <= $source->y + $source->height)
    -				{
    -					$y1 = $pt->y;
    -				}
    -				
    -				if ($pt->y >= $target->y &&
    -					$pt->y <= $target->y + $target->height)
    -				{
    -					$y2 = $pt->y;
    -				}
    -			}
    -			
    -			if (!mxUtils::contains($target, $x, $y1) &&
    -				!mxUtils::contains($source, $x, $y1))
    -			{
    -				array_push($result, new mxPoint($x, $y1));
    -			}
    -			
    -			if (!mxUtils::contains($target, $x, $y2) &&
    -				!mxUtils::contains($source, $x, $y2))
    -			{
    -				array_push($result, new mxPoint($x, $y2));
    -			}
    -	
    -			if (sizeof($result) == 1)
    -			{
    -				if (isset($pt))
    -				{
    -					array_push($result, new mxPoint($x, $pt->y));
    -				}
    -				else
    -				{
    -					$t = max($source->y, $target->y);
    -					$b = min($source->y+$source->height, $target->y+$target->height);
    -					
    -					array_push($result, new mxPoint($x, $t + ($b - $t) / 2));
    -				}
    -			}
    -		}
    -	}
    -	
    -}
    -	
    -/**
    - * Class: mxTopToBottom
    - * 
    - * Implements a horizontal elbow edge. See <EntityRelation> for a
    - * description of the parameters.
    - */
    -class mxTopToBottom implements mxEdgeStyleFunction
    -{
    -
    -	/**
    -	 * 
    -	 */
    -	public function apply($state, $source, $target, $points, &$result)
    -	{
    -		$view = $state->view;
    -		$pt = ($points != null && sizeof($points) > 0) ? $points[0] : null;
    -		$pts = $state->absolutePoints;
    -		$p0 = $pts[0];
    -		$pe = $pts[sizeof($pts) - 1];
    -		
    -		if ($pt != null)
    -		{
    -			$pt = $view->transformControlPoint($state, $pt);
    -		}
    -
    -		if (isset($p0))
    -		{
    -			$source = new mxCellState();
    -			$source->x = $p0->x;
    -			$source->y = $p0->y;
    -		}
    -		
    -		if (isset($pe))
    -		{
    -			$target = new mxCellState();
    -			$target->x = $pe->x;
    -			$target->y = $pe->y;
    -		}
    -
    -		if (isset($source) && isset($target))
    -		{
    -			$t = max($source->y, $target->y);
    -			$b = min($source->y+$source->height, $target->y+$target->height);
    -	
    -			$x = $view->getRoutingCenterX($source);
    -			
    -			if ($pt != null && 
    -				$pt->x >= $source->x &&
    -				$pt->x <= $source->x + $source->width)
    -			{
    -				$x = $pt->x;
    -			}
    -			
    -			$y = ($pt != null) ? $pt->y : $b + ($t - $b) / 2;
    -			
    -			if (!mxUtils::contains($target, $x, $y) &&
    -				!mxUtils::contains($source, $x, $y))
    -			{
    -				array_push($result, new mxPoint($x, $y));
    -			}
    -			
    -			if ($pt != null &&
    -				$pt->x >= $target->x &&
    -				$pt->x <= $target->x + $target->width)
    -			{
    -				$x = $pt->x;
    -			}
    -			else
    -			{
    -				$x = $view->getRoutingCenterX($target);
    -			}
    -			
    -			if (!mxUtils::contains($target, $x, $y) &&
    -				!mxUtils::contains($source, $x, $y))
    -			{
    -				array_push($result, new mxPoint($x, $y));
    -			}
    -	
    -			if (sizeof($result) == 1)
    -			{
    -				if ($pt == null)
    -				{
    -					array_push($result, new mxPoint($x, $y));
    -				}
    -				else
    -				{
    -					$l = max($source->x, $target->x);
    -					$r = min($source->x + $source->width, $target->x + $target->width);
    -					
    -					array_push($result, new mxPoint($r + ($r - $l) / 2, $y));
    -				}
    -			}
    -		}
    -	}
    -	
    -}
    -
    -/**	
    - *
    - * Class: mxEdgeStyle
    - * 
    - * Provides various edge styles to be used as the values for
    - * <mxConstants.STYLE_EDGE> in a cell style.
    - */
    -class mxEdgeStyle
    -{
    -
    -	/**
    -	 * Variable: EntityRelation
    -	 *
    -	 * Provides an entity relation style for edges (as used in database
    -	 * schema diagrams).
    -	 */
    -	public static $EntityRelation;
    -
    -	/**
    -	 * Variable: Loop
    -	 *
    -	 * Provides a self-reference, aka. loop.
    -	 */
    -	public static $Loop;
    -
    -	/**
    -	 * Variable: ElbowConnector
    -	 *
    -	 * Provides an elbow connector.
    -	 */
    -	public static $ElbowConnector;
    -	
    -	/**
    -	 * Variable: SideToSide
    -	 *
    -	 * Provides a side to side connector.
    -	 */
    -	public static $SideToSide;
    -
    -	/**
    -	 * Variable: TopToBottom
    -	 *
    -	 * Provides a top to bottom connector.
    -	 */
    -	public static $TopToBottom;
    -
    -}
    -
    -// Instanciates the declared static members of the above class
    -mxEdgeStyle::$EntityRelation = new mxEntityRelation();
    -mxEdgeStyle::$Loop = new mxLoop();
    -mxEdgeStyle::$ElbowConnector = new mxElbowConnector();
    -mxEdgeStyle::$SideToSide = new mxSideToSide();
    -mxEdgeStyle::$TopToBottom = new mxTopToBottom();
    -?>
    diff --git a/php/src/view/mxGraph.php b/php/src/view/mxGraph.php
    deleted file mode 100644
    index 8f014ca8d..000000000
    --- a/php/src/view/mxGraph.php
    +++ /dev/null
    @@ -1,899 +0,0 @@
    -<?php
    -/**
    - * Copyright (c) 2006-2013, Gaudenz Alder
    - */
    -
    -class mxGraph
    -{
    -	
    -	/**
    -	 * Class: mxGraph
    -	 *
    -	 * Implements a graph component.
    -	 * 
    -	 * Variable: model
    -	 *
    -	 * Holds the <mxGraphModel>.
    -	 */
    -	var $model;
    -		
    -	/**
    -	 * Variable: stylesheet
    -	 *
    -	 * Holds the <mxStylesheet>.
    -	 */
    -	var $stylesheet;
    -	
    -	/**
    -	 * Variable: view
    -	 *
    -	 * Holds the <mxGraphView>.
    -	 */
    -	var $view;
    -	
    -	/**
    -	 * Variable: gridSize
    -	 * 
    -	 * Specifies the grid size. Default is 10.
    -	 */
    -	var $gridSize = 10;
    -	
    -	/**
    -	 * Variable: labelsVisible
    -	 * 
    -	 * Specifies if labels should be visible. This is used in
    -	 * <getLabel>. Default is true.
    -	 */
    -	var $labelsVisible = true;
    -
    -	/**
    -	 * Variable: defaultLoopStyle
    -	 * 
    -	 * <mxEdgeStyle> to be used for loops. This is a fallback for
    -	 * loops if the <mxConstants.STYLE_LOOP> is undefined. Default is
    -	 * <mxEdgeStyle.Loop>.
    -	 */
    -	var $defaultLoopStyle = "mxEdgeStyle.Loop";
    -
    -	/**
    -	 * Variable: imageBundles
    -	 *
    -	 * Holds the list of image bundles.
    -	 */
    -	protected $imageBundles = array();
    -	
    -	/**
    -	 * Constructor: mxGraphModel
    -	 *
    -	 * Constructs a new graph model using the specified
    -	 * root cell.
    -	 */
    -	function mxGraph($model = null, $stylesheet = null)
    -	{
    -		$this->model = ($model != null) ? $model : new mxGraphModel();
    -		$this->stylesheet = ($stylesheet != null) ? $stylesheet : $this->createStylesheet();
    -		$this->view = $this->createGraphView();
    -		$this->view->revalidate();
    -		
    -		$this->model->addListener(mxEvent::$GRAPH_MODEL_CHANGED, $this);
    -	}
    -		
    -	/**
    -	 * Function: createStylesheet
    -	 * 
    -	 * Creates a new <mxStylesheet> to be used in this graph.
    -	 */
    -	function createStylesheet()
    -	{
    -		return new mxStylesheet();
    -	}
    -	
    -	/**
    -	 * Function: createGraphView
    -	 * 
    -	 * Creates a new <mxGraphView> to be used in this graph.
    -	 */
    -	function createGraphView()
    -	{
    -		return new mxGraphView($this);
    -	}
    -
    -	/**
    -	 * Function: getModel
    -	 * 
    -	 * Returns the <mxGraphModel> that contains the cells.
    -	 */
    -	function getModel()
    -	{
    -		return $this->model;
    -	}
    -	
    -	/**
    -	 * Function: getStylesheet
    -	 * 
    -	 * Returns the <mxStylesheet> that defines the style.
    -	 */
    -	function getStylesheet()
    -	{
    -		return $this->stylesheet;
    -	}
    -	
    -	/**
    -	 * Function: getView
    -	 * 
    -	 * Returns the <mxGraphView> that contains the <mxCellStates>.
    -	 */
    -	function getView()
    -	{
    -		return $this->view;
    -	}
    -
    -	/**
    -	 * Function: getDefaultParent
    -	 * 
    -	 * Returns the first child child of <mxGraphModel.root>. The value returned
    -	 * by this function should be used as the parent for new cells (aka default
    -	 * layer).
    -	 */
    -	function getDefaultParent()
    -	{
    -		$model = $this->model;
    -		
    -		return $model->getChildAt($model->getRoot(), 0);
    -	}
    -
    -	/**
    -	 * Function: convertValueToString
    -	 * 
    -	 * Returns the textual representation for the given cell. This
    -	 * implementation returns the nodename or string-representation of the user
    -	 * object.
    -	 */
    -	function convertValueToString($cell)
    -	{
    -		$result = $this->model->getValue($cell);
    -	 	
    - 		return ($result != null) ? $result : "";
    -	}
    -
    -	/**
    -	 * Function: getLabel
    -	 * 
    -	 * Returns a string or DOM node that represents the label for the given
    -	 * cell. This implementation uses <convertValueToString> if <labelsVisible>
    -	 * is true. Otherwise it returns an empty string.
    -	 */
    -	function getLabel($cell)
    -	{
    -		$result = "";
    -		
    -		if ($cell != null)
    -		{
    -			$state = $this->view->getState($cell);
    -			$style = ($state != null) ?
    -				$state->style : $this->getCellStyle($cell);
    -			
    -			if ($this->labelsVisible &&
    -				!mxUtils::getValue($style, mxConstants::$STYLE_NOLABEL, false))
    -			{
    -				$result = $this->convertValueToString($cell);
    -			}
    -		}
    -		
    -		return $result;
    -	}
    -
    -	/**
    -	 * Function: getChildOffsetForCell
    -	 * 
    -	 * Returns the offset to be used for the cells inside the given cell. The
    -	 * root and layer cells may be identified using <mxGraphModel.isRoot> and
    -	 * <mxGraphModel.isLayer>. For all other current roots, the
    -	 * <mxGraphView.currentRoot> field points to the respective cell, so that
    -	 * the following holds: cell == this.view.currentRoot. This implementation
    -	 * returns null.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * cell - <mxCell> whose offset should be returned.
    -	 */
    -	function getChildOffsetForCell($cell)
    -	{
    -		return null;
    -	}
    -
    -	/**
    -	 * Function: isOrthogonal
    -	 * 
    -	 * Returns true if perimeter points should be computed such that the
    -	 * resulting edge has only horizontal or vertical segments.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * edge - <mxCellState> that represents the edge.
    -	 */
    -	function isOrthogonal($edge)
    -	{
    -		if (isset($edge->style[mxConstants::$STYLE_ORTHOGONAL]))
    -		{
    -			return mxUtils::getValue($edge->style, mxConstants::$STYLE_ORTHOGONAL);
    -		}
    -
    -		$edgeStyle = $this->view->getEdgeStyle($edge, null, null, null);
    -
    -		return $edgeStyle === mxEdgeStyle::$ElbowConnector ||
    -			$edgeStyle === mxEdgeStyle::$SideToSide ||
    -			$edgeStyle === mxEdgeStyle::$TopToBottom ||
    -			$edgeStyle === mxEdgeStyle::$EntityRelation;
    -	}
    -	
    -	/**
    -	 * Function: isCellVisible
    -	 *
    -	 * Returns true if the given cell is visible.
    -	 */
    -	function isCellVisible($cell)
    -	{
    -		return $this->model->isVisible($cell);
    -	}
    -	
    -	/**
    -	 * Function: isCellCollapsed
    -	 *
    -	 * Returns true if the given cell is collapsed.
    -	 */
    -	function isCellCollapsed($cell)
    -	{
    -		return $this->model->isCollapsed($cell);
    -	}
    -	
    -	/**
    -	 * Function: isCellCollapsed
    -	 *
    -	 * Returns true if the given cell is connectable.
    -	 */
    -	function isCellConnectable($cell)
    -	{
    -		return $this->model->isConnectable($cell);
    -	}
    -
    -	/**
    -	 * Function: getCellGeometry
    -	 *
    -	 * Returns the <mxGeometry> for the given <mxCell>.
    -	 */
    -	function getCellGeometry($cell)
    -	{
    -		return $this->model->getGeometry($cell);
    -	}
    -	
    -	/**
    -	 * Function: getCellStyle
    -	 */
    -	function getCellStyle($cell)
    -	{
    -		$style = ($this->model->isVertex($cell)) ?
    -			$this->stylesheet->getDefaultVertexStyle() :
    -			$this->stylesheet->getDefaultEdgeStyle();
    -
    -		$name = $this->model->getStyle($cell);
    -		
    -		if ($name != null)
    -		{
    -			$style = $this->postProcessCellStyle($this->stylesheet->getCellStyle($name, $style));
    -		}
    -		
    -		if ($style == null)
    -		{
    -			$style = array();
    -		}
    -		
    -		return $style;
    -	}
    -	
    -	/**
    -	 * Function: postProcessCellStyle
    -	 * 
    -	 * Tries to resolve the value for the image style in the image bundles and
    -	 * turns short data URIs as defined in mxImageBundle to data URIs as
    -	 * defined in RFC 2397 of the IETF.
    -	 */
    -	function postProcessCellStyle($style)
    -	{
    -		if (isset($style) && array_key_exists(mxConstants::$STYLE_IMAGE, $style))
    -		{
    -			$key = $style[mxConstants::$STYLE_IMAGE];
    -			$image = $this->getImageFromBundles($key);
    -
    -			if (isset($image))
    -			{
    -				$style[mxConstants::$STYLE_IMAGE] = $image;
    -			}
    -			else
    -			{
    -				$image = $key;
    -			}
    -			
    -			// Converts short data uris to normal data uris
    -			if (isset($image) && substr($image, 0, 11) == "data:image/")
    -			{
    -				$comma = strpos($image, ",");
    -				
    -				if ($comma !== false)
    -				{
    -					$image = substr($image, 0, $comma).";base64,".
    -						substr($image, $comma + 1);
    -				}
    -				
    -				$style[mxConstants::$STYLE_IMAGE] = $image;
    -			}
    -		}
    -
    -		return $style;
    -	}
    -
    -	/**
    -	 * Function: setCellStyles
    -	 * 
    -	 * Sets the key to value in the styles of the given cells. This will modify
    -	 * the existing cell styles in-place and override any existing assignment
    -	 * for the given key. If no cells are specified, then the selection cells
    -	 * are changed. If no value is specified, then the respective key is
    -	 * removed from the styles.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * key - String representing the key to be assigned.
    -	 * value - String representing the new value for the key.
    -	 * cells - Array of <mxCells> to change the style for.
    -	 */
    -	function setCellStyles($key, $value, $cells)
    -	{
    -		mxUtils::setCellStyles($this->model, $cells, $key, $value);
    -	}
    -	/**
    -	 * Function: addBundle
    -	 * 
    -	 * Adds the specified <mxImageBundle>.
    -	 */
    -	function addImageBundle($bundle)
    -	{
    -		array_push($this->imageBundles, $bundle);
    -	}
    -	
    -	/**
    -	 * Function: removeImageBundle
    -	 * 
    -	 * Removes the specified <mxImageBundle>.
    -	 */
    -	function removeImageBundle($bundle)
    -	{
    -		$tmp = array();
    -		
    -		for ($i = 0; $i < sizeof($this->imageBundles); $i++)
    -		{
    -			if ($this->imageBundles[$i] !== $bundle)
    -			{
    -				array_push($tmp, $this->imageBundles[$i]);
    -			}
    -		}
    -		
    -		$this->imageBundles = $tmp;
    -	}
    -	
    -	/**
    -	 * Function: getImageFromBundles
    -	 * 
    -	 * Searches all <imageBundles> for the specified key and returns the value
    -	 * for the first match or null if the key is not found.
    -	 */
    -	function getImageFromBundles($key)
    -	{
    -		if (isset($key))
    -		{
    -			for ($i = 0; $i < sizeof($this->imageBundles); $i++)
    -			{
    -				$image = $this->imageBundles[$i]->getImage($key);
    -				
    -				if (isset($image))
    -				{
    -					return $image;
    -				}
    -			}
    -		}
    -		
    -		return null;
    -	}
    -		
    -	/**
    -	 * Function: getImageBundles
    -	 * 
    -	 * Returns the <imageBundles>.
    -	 */
    -	function getImageBundles()
    -	{
    -		return $this->imageBundles;
    -	}
    -	
    -	/**
    -	 * Function: setImageBundles
    -	 * 
    -	 * Sets the <imageBundles>.
    -	 */
    -	function setImageBundles($value)
    -	{
    -		$this->imageBundles = $value;
    -	}
    -	
    -	/**
    -	 * Function: insertVertex
    -	 * 
    -	 * Adds a new vertex into the given parent <mxCell> using value as the user
    -	 * object and the given coordinates as the <mxGeometry> of the new vertex.
    -	 * The id and style are used for the respective properties of the new
    -	 * <mxCell>, which is returned.
    -	 *
    -	 * Parameters:
    -	 * 
    -	 * parent - <mxCell> that specifies the parent of the new vertex.
    -	 * id - Optional string that defines the Id of the new vertex.
    -	 * value - Object to be used as the user object.
    -	 * x - Integer that defines the x coordinate of the vertex.
    -	 * y - Integer that defines the y coordinate of the vertex.
    -	 * width - Integer that defines the width of the vertex.
    -	 * height - Integer that defines the height of the vertex.
    -	 * style - Optional string that defines the cell style.
    -	 * relative - Optional boolean that specifies if the geometry is relative.
    -	 * Default is false.
    -	 */
    -	function insertVertex($parent, $id = null, $value = null, $x = 0, $y = 0,
    -		$width = 1, $height = 1, $style = null, $relative = false)
    -	{
    -		if ($parent == null)
    -		{
    -			$parent = $this->getDefaultParent();
    -		}
    -		
    -		$vertex = $this->createVertex($parent, $id, $value, $x, $y, $width, $height, $style, $relative);
    -		$index = $this->model->getChildCount($parent);
    -		
    -		return $this->model->add($parent, $vertex, $index);
    -	}
    -			
    -	/**
    -	 * Function: createVertex
    -	 * 
    -	 * Creates the vertex to be used in insertVertex.
    -	 */
    -	function createVertex($parent, $id = null, $value = null, $x = 0, $y = 0,
    -		$width = 1, $height = 1, $style = null, $relative = false)
    -	{
    -		$geometry = new mxGeometry($x, $y, $width, $height);
    -		$geometry->relative = $relative;
    -		
    -		$vertex = new mxCell($value, $geometry, $style);
    -		$vertex->setId($id);
    -		$vertex->setVertex(true);
    -		
    -		return $vertex;
    -	}
    -
    -	/**
    -	 * Function: insertEdge
    -	 * 
    -	 * Adds a new edge into the given parent <mxCell> using value as the user
    -	 * object and the given source and target as the terminals of the new edge.
    -	 * The id and style are used for the respective properties of the new
    -	 * <mxCell>, which is returned.
    -	 *
    -	 * Parameters:
    -	 * 
    -	 * parent - <mxCell> that specifies the parent of the new edge.
    -	 * id - Optional string that defines the Id of the new edge.
    -	 * value - JavaScript object to be used as the user object.
    -	 * source - <mxCell> that defines the source of the edge.
    -	 * target - <mxCell> that defines the target of the edge.
    -	 * style - Optional string that defines the cell style.
    -	 */
    -	function insertEdge($parent, $id = null, $value = null,
    -		$source = null, $target = null, $style = null)
    -	{
    -		if ($parent == null)
    -		{
    -			$parent = $this->getDefaultParent();
    -		}
    -
    -		$edge = $this->createEdge($parent, $id, $value, $source, $target, $style);
    -		
    -		// Appends the edge to the given parent and sets
    -		// the edge terminals in a single transaction
    -		$index = $this->model->getChildCount($parent);
    -	 	
    -	 	$this->model->beginUpdate();
    -	 	try
    -	 	{
    -		 	$edge = $this->model->add($parent, $edge, $index);
    -		 	
    -			$this->model->setTerminal($edge, $source, true);
    -			$this->model->setTerminal($edge, $target, false);
    -		}
    -		catch (Exception $e)
    -		{
    -			$this->model->endUpdate();
    -			throw($e);
    -		}
    -		$this->model->endUpdate();
    -
    -		return $edge;
    -	}
    -				
    -	/**
    -	 * Function: createEdge
    -	 * 
    -	 * Creates the edge to be used in <insertEdge>. This implementation does
    -	 * not set the source and target of the edge, these are set when the edge
    -	 * is added to the model.
    -	 */
    -	function createEdge($parent, $id = null, $value = null,
    -		$source = null, $target = null, $style = null)
    -	{
    -		$geometry = new mxGeometry();
    -		$edge = new mxCell($value, $geometry, $style);
    -		
    -		$edge->setId($id);
    -		$edge->setEdge(true);
    -		$edge->geometry->relative = true;
    -
    -		return $edge;
    -	}
    -	
    -	/**
    -  	 * Function: getGraphBounds
    -  	 * 
    -  	 * Returns the bounds of the visible graph. Shortcut to
    -  	 * <mxGraphView.getGraphBounds>.
    -  	 */
    -	function getGraphBounds()
    -	{
    -		return $this->getView()->getGraphBounds();
    -	}
    -
    -    /**
    -     * Function: getBoundingBox
    -     * 
    -     * Returns the bounding box of the given cell including all connected edges
    -     * if includeEdge is true.
    -     */
    -    function getBoundingBox($cell, $includeEdges = false, $includeDescendants = false)
    -    {
    -        return $this->getCellBounds($cell, $includeEdges, $includeDescendants, true);
    -    }
    -
    -    /**
    -     * Function: getPaintBounds
    -     * 
    -     * Returns the bounding box of the given cells and their descendants.
    -     */
    -    function getPaintBounds($cells)
    -    {
    -        return $this->getBoundsForCells($cells, false, true, true);
    -    }
    -
    -    /**
    -     * Function: getBoundsForCells
    -     * 
    -     * Returns the bounds for the given cells.
    -     */
    -    function getBoundsForCells($cells, $includeEdges = false, $includeDescendants = false, $boundingBox = false)
    -    {
    -    	$cellCount = sizeof($cells);
    -    	$result = null;
    -    	
    -        if ($cellCount > 0)
    -        {
    -			for ($i = 0; $i < $cellCount; $i++)
    -			{
    -            	$bounds = $this->getCellBounds($cells[$i], $includeEdges,
    -            		$includeDescendants, $boundingBox);
    -            	
    -            	if ($bounds != null)
    -            	{
    -	            	if ($result == null)
    -	            	{
    -	            		$result = new mxRectangle($bounds->x, $bounds->y,
    -	            			$bounds->width, $bounds->height);
    -	            	}
    -					else
    -	                {
    -	                	$result->add($bounds);
    -	                }
    -            	}
    -			}
    -        }
    -
    -        return $result;
    -    }
    -
    -    /**
    -     * Function: getCellBounds
    -     * 
    -     * Returns the bounds of the given cell including all connected edges
    -     * if includeEdge is true.
    -     */
    -    function getCellBounds($cell, $includeEdges = false, $includeDescendants = false, $boundingBox = false)
    -    {
    -		$cells = array($cell);
    -
    -		// Includes the connected edges
    -        if ($includeEdges)
    -        {
    -            $edgeCount = $this->model->getEdgeCount($cell);
    -
    -            for ($i = 0; $i < $edgeCount; $i++)
    -            {
    -            	array_push($cells, $this->model->getEdgeAt($cell, $i));
    -            }
    -        }
    -
    -		$result = $this->view->getBounds($cells, $boundingBox);
    -		
    -		// Recursively includes the bounds of the children
    -		if ($includeDescendants)
    -		{
    -			for ($i = 0; $i < sizeof($cells); $i++)
    -			{
    -				$childCount = $this->model->getChildCount($cells[$i]);
    -				
    -				for ($j = 0; $j < $childCount; $j++)
    -				{
    -					$tmp = $this->getCellBounds($this->model->getChildAt($cells[$i], $j),
    -						$includeEdges, true, $boundingBox);
    -	
    -					if ($result != null)
    -					{
    -						$result->add($tmp);
    -					}
    -					else
    -					{
    -						$result = $tmp;
    -					}
    -				}
    -			}
    -		}
    -		
    -		return $result;
    -    }
    -
    -	/**
    -	 * Function: getConnectionConstraint
    -	 * 
    -	 * Returns an <mxConnectionConstraint> that describes the given connection
    -	 * point. This result can then be passed to <getConnectionPoint>.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * edge - <mxCellState> that represents the edge.
    -	 * terminal - <mxCellState> that represents the terminal.
    -	 * source - Boolean indicating if the terminal is the source or target.
    -	 */
    -   	function getConnectionConstraint($edge, $terminal, $source)
    -	{
    -		$point = null;
    -		$x = mxUtils::getValue($edge->style,
    -			($source) ? mxConstants::$STYLE_EXIT_X :
    -			mxConstants::$STYLE_ENTRY_X);
    -
    -		if (isset($x))
    -		{
    -			$y = mxUtils::getValue($edge->style,
    -				(($source) ? mxConstants::$STYLE_EXIT_Y :
    -				mxConstants::$STYLE_ENTRY_Y));
    -			
    -			if (isset($y))
    -			{
    -				$point = new mxPoint($x, $y);
    -			}
    -		}
    -		
    -		$perimeter = false;
    -		
    -		if (isset($point))
    -		{
    -			$perimeter = mxUtils::getValue($edge->style, ($source) ?
    -				mxConstants::$STYLE_EXIT_PERIMETER :
    -				mxConstants::$STYLE_ENTRY_PERIMETER, true);
    -		}
    -		
    -		return new mxConnectionConstraint($point, $perimeter);
    -	}
    -
    -	/**
    -	 * Function: getConnectionPoint
    -	 *
    -	 * Returns the nearest point in the list of absolute points or the center
    -	 * of the opposite terminal.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * vertex - <mxCellState> that represents the vertex.
    -	 * constraint - <mxConnectionConstraint> that represents the connection point
    -	 * constraint as returned by <getConnectionConstraint>.
    -	 */
    -	function getConnectionPoint($vertex, $constraint)
    -	{
    -		$point = null;
    -		
    -		if (isset($vertex) && isset($constraint->point))
    -		{
    -			$point = new mxPoint($vertex->x + $constraint->point->x * $vertex->width,
    -					$vertex->y + $constraint->point->y * $vertex->height);
    -		}
    -		
    -		if (isset($point) && $constraint->perimeter)
    -		{
    -			$point = $this->view->getPerimeterPoint($vertex, $point, false);
    -		}
    -		
    -		return $point;
    -	}
    -    
    -	/**
    -	 * Function: findTreeRoots
    -	 * 
    -	 * Returns all children in the given parent which do not have incoming
    -	 * edges. If the result is empty then the with the greatest difference
    -	 * between incoming and outgoing edges is returned.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * parent - <mxCell> whose children should be checked.
    -	 * isolate - Optional boolean that specifies if edges should be ignored if
    -	 * the opposite end is not a child of the given parent cell. Default is
    -	 * false.
    -	 * invert - Optional boolean that specifies if outgoing or incoming edges
    -	 * should be counted for a tree root. If false then outgoing edges will be
    -	 * counted. Default is false.
    -	 */
    -	function findTreeRoots($parent, $isolate = false, $invert = false)
    -	{
    -		$roots = array();
    -		
    -		if ($parent != null)
    -		{
    -			$model = $this->getModel();
    -			$childCount = $model->getChildCount($parent);
    -			$maxDiff = 0;
    -			
    -			for ($i=0; $i<$childCount; $i++)
    -			{
    -				$cell = $model->getChildAt($parent, $i);
    -				
    -				if ($this->model->isVertex($cell) &&
    -					$this->isCellVisible($cell))
    -				{
    -					$edgeCount = $model->getEdgeCount($cell);
    -					$fanOut = 0;
    -					$fanIn = 0;
    -					
    -					for ($j = 0; $j < $edgeCount; $j++)
    -					{
    -						$edge = $model->getEdgeAt($cell, $j);
    -						
    -						if ($this->isCellVisible($edge))
    -						{
    -							$source = $this->view->getVisibleTerminal($edge, true);
    -							$target = $this->view->getVisibleTerminal($edge, false);
    -							
    -							if ($source !== $target)
    -							{
    -                                if ($source === $cell && (!$isolate ||
    -                                	$this->model->getParent(target) == $parent))
    -                                {
    -                                    $fanOut++;
    -                                }
    -                                else if (!$isolate ||
    -                                	$this->model->getParent(source) == $parent)
    -                                {
    -                                    $fanIn++;
    -                                }
    -							}
    -						}
    -					}
    -					
    -					if (($invert && $fanOut == 0 && $fanIn > 0) ||
    -						(!$invert && $fanIn == 0 && $fanOut > 0))
    -					{
    -						array_push($roots, $cell);
    -					}
    -					
    -					$diff = ($invert) ? $fanIn - $fanOut : $fanOut - $fanIn;
    -					
    -					if ($diff > $maxDiff)
    -					{
    -						$maxDiff = $diff;
    -						$best = $cell;
    -					}
    -				}
    -			}
    -			
    -			if (sizeof($roots) == 0 && $best != null)
    -			{
    -				array_push($roots, $best);
    -			}
    -		}
    -		
    -		return $roots;
    -	}
    -	
    -	/**
    -	 * Function: createImage
    -	 */
    -	function createImage($clip = null, $background = null)
    -	{
    -		return mxGdCanvas::drawGraph($this, $clip, $background);
    -	}
    -
    -	/**
    -	 * Function: drawGraph
    -	 * 
    -	 * Draws the given cell onto the specified canvas.
    -	 */
    -	function drawGraph($canvas)
    -	{
    -		$this->drawCell($canvas, $this->model->getRoot());
    -	}
    -	
    -	/**
    -	 * Function: paintCell
    -	 * 
    -	 * Draws the given cell onto the specified canvas.
    -	 */
    -	function drawCell($canvas, $cell)
    -	{
    -		$this->drawState($canvas, $this->view->getState($cell),
    -			$this->getLabel($cell));
    -		
    -		// Draws the children on top
    -		$childCount = $cell->getChildCount();
    -		
    -		for ($i = 0; $i < $childCount; $i++)
    -		{
    -			$child = $cell->getChildAt($i);
    -			$this->drawCell($canvas, $child);
    -		}
    -	}
    -	
    -	/**
    -	 * Function: paintState
    -	 * 
    -	 * Draws the given cell and label onto the specified canvas. No
    -	 * children or descendants are painted.
    -	 */
    -	function drawState($canvas, $state, $label)
    -	{
    -		$cell = (isset($state)) ? $state->cell : null;
    -
    -		if ($cell != null && $cell !== $this->model->getRoot() &&
    -			($this->model->isVertex($cell) || $this->model->isEdge($cell)))
    -		{
    -			$canvas->drawCell($state);
    -
    -			if ($label != null && $state->labelBounds != null)
    -			{
    -				$canvas->drawLabel($label, $state, false);
    -			}
    -		}
    -	}
    -	
    -	/**
    -	 * Function: graphModelChanged
    -	 * 
    -	 * Called when the graph model has changed.
    -	 */
    -	function graphModelChanged($event)
    -	{
    -	 	$this->view->revalidate();
    -	}
    -
    -}
    -?>
    diff --git a/php/src/view/mxGraphView.php b/php/src/view/mxGraphView.php
    deleted file mode 100644
    index 039d40f46..000000000
    --- a/php/src/view/mxGraphView.php
    +++ /dev/null
    @@ -1,1422 +0,0 @@
    -<?php
    -/**
    - * Copyright (c) 2006-2013, Gaudenz Alder
    - */
    -class mxGraphView extends mxEventSource
    -{
    -
    -	/**
    -	 * Class: mxGraphView
    -	 *
    -	 * Implements a view for the graph. Fires scale and translate events
    -	 * if one of the values change.
    -	 * 
    -	 * This class fires the following events:
    -	 * 
    -	 * mxEvent.SCALE fires after the scale was changed in setScale. The
    -	 * <code>scale</code> and <code>previousScale</code> arguments contain the
    -	 * new and previous scale.
    -	 * 
    -	 * mxEvent.TRANSLATE fires after the translate was changed in setTranslate. The
    -	 * <code>translate</code> and <code>previousTranslate</code> arguments contain
    -	 * the new and previous value for translate.
    -	 * 
    -	 * Variable: EMPTY_POINT
    -	 * 
    -	 * An empty <mxPoint> instance.
    -	 */
    -	var $EMPTY_POINT;
    -
    -	/**
    -	 * Variable: graph
    -	 * 
    -	 * Holds the <mxGraph>.
    -	 */
    -	var $graph;
    -	
    -	/**
    -	 * Variable: graphBounds
    -	 * 
    -	 * Holds the bounds of the current view.
    -	 */
    -	var $graphBounds;
    -	
    -	/**
    -	 * Variable: scale
    -	 * 
    -	 * Holds the current scale.
    -	 */
    -	var $scale = 1;
    -	
    -	/**
    -	 * Variable: translate
    -	 * 
    -	 * Holds the current translate.
    -	 */
    -	var $translate;
    -	
    -	/**
    -	 * Variable: states
    -	 * 
    -	 * Maps from cells to states.
    -	 */
    -	var $states = array();
    -
    -	/**
    -	 * Constructor: mxGraphView
    -	 * 
    -	 * Constructs a new view for the specified <mxGraph>.
    -	 */
    -	function mxGraphView($graph)
    -	{
    -		$this->EMPTY_POINT = new mxPoint();
    -		$this->graph = $graph;
    -		$this->translate = new mxPoint();
    -		$this->graphBounds = new mxRectangle();
    -	}
    -
    -	/**
    -	 * Function: setScale
    -	 * 
    -	 * Sets the scale, revalidates the view and fires
    -	 * a scale event.
    -	 */
    -	function setScale($scale)
    -	{
    -		$previous = $this->scale;
    -		
    -		if ($this->scale != $scale)
    -		{
    -			$this->scale = $scale;
    -			$this->revalidate();
    -		}
    -			
    -		$this->fireEvent(new mxEventObject(mxEvent::$SCALE, "scale", $scale, "previousScale", $previous));
    -	}
    -
    -	/**
    -	 * Function: setTranslate
    -	 * 
    -	 * Sets the translation, revalidates the view and
    -	 * fires a translate event.
    -	 */
    -	function setTranslate($translate)
    -	{
    -		$previous = $this->translate;
    -		
    -		if ($this->translate->x != $translate->x ||
    -			$this->translate->y != $translate->y)
    -		{
    -			$this->translate = $translate;
    -			$this->revalidate();
    -		}
    -			
    -		$this->fireEvent(new mxEventObject(mxEvent::$TRANSLATE, "translate", $translate, "previousTranslate", $previous));
    -	}
    -
    -	/**
    -	 * Function: getGraphBounds
    -	 * 
    -	 * Returns <graphBounds>.
    -	 */
    -    function getGraphBounds()
    -    {
    -    	return $this->graphBounds;
    -    }
    -
    -	/**
    -	 * Function: setGraphBounds
    -	 * 
    -	 * Sets <graphBounds>.
    -	 */
    -    function setGraphBounds($value)
    -    {
    -    	$this->graphBounds = $value;
    -    }
    -
    -	/**
    -	 * Function: getBounds
    -	 * 
    -	 * Returns the bounding for for an array of cells or null, if no cells are
    -	 * specified.
    -	 */
    -    function getBounds($cells, $boundingBox = false)
    -    {
    -    	$cellCount = sizeof($cells);
    -    	$result = null;
    -    	
    -        if ($cellCount > 0)
    -        {
    -        	$model = $this->graph->getModel();
    -        
    -			for ($i = 0; $i < $cellCount; $i++)
    -			{
    -				if ($model->isVertex($cells[$i]) || $model->isEdge($cells[$i]))
    -				{
    -	            	$state = $this->getState($cells[$i]);
    -	
    -		            if ($state != null)
    -		            {
    -		            	$bounds = ($boundingBox) ? $state->boundingBox : $state;
    -		            	
    -		            	if ($bounds != null)
    -		            	{
    -			            	if ($result == null)
    -			            	{
    -			            		$result = new mxRectangle($bounds->x, $bounds->y,
    -			            			$bounds->width, $bounds->height);
    -			            	}
    -							else
    -			                {
    -			                	$result->add($bounds);
    -			                }
    -		            	}
    -		            }
    -		    	}
    -			}
    -        }
    -
    -        return $result;
    -    }
    -
    -	/**
    -	 * Function: invalidate
    -	 */
    -	function revalidate()
    -	{
    -		$this->invalidate();
    -		$this->validate();
    -	}
    -
    -	/**
    -	 * Function: invalidate
    -	 * 
    -	 * Invalidates the cached cell states.
    -	 */
    -	function invalidate()
    -	{
    -		// LATER: Invalidate cell states recursively
    -		$this->states = array();
    -	}
    -
    -	/**
    -	 * Function: validate
    -	 * 
    -	 * Calls <validateCell> and <validateCellState> and updates the <graphBounds>
    -	 * using <getBoundingBox>. Finally the background is validated using
    -	 * <validateBackground>.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * cell - Optional <mxCell> to be used as the root of the validation.
    -	 * Default is the root of the model.
    -	 */
    -	function validate($cell = null)
    -	{
    -	 	// Checks if cache is invalid
    -	 	if (sizeof($this->states) == 0)
    -	 	{
    -	 		$graphBounds = $this->getBoundingBox($this->validateCellState(
    -	 			$this->validateCell(($cell != null) ? $cell : $this->graph->model->root)));
    -	 		$this->setGraphBounds(isset($graphBounds) ? $graphBounds : new mxRectangle());
    -		}
    -	}
    -	
    -	/**
    -	 * Function: getBoundingBox
    -	 *
    -	 * Returns the bounding box of the shape and the label for the given
    -	 * <mxCellState> and its children if recurse is true.
    -	 *
    -	 * Parameters:
    -	 *
    -	 * state - <mxCellState> whose bounding box should be returned.
    -	 * recurse - Optional boolean indicating if the children should be included.
    -	 * Default is true.
    -	 */
    -	function getBoundingBox($state, $recurse = true)
    -	{
    -		$bbox = null;
    -	
    -		if ($state != null)
    -		{
    -			if ($state->boundingBox != null)
    -			{
    -				$bbox = $state->boundingBox->copy();
    -			}
    -
    -			if ($recurse)
    -			{
    -				$model = $this->graph->getModel();
    -				$childCount = $model->getChildCount($state->cell);
    -					
    -				for ($i = 0; $i < $childCount; $i++)
    -				{
    -					$bounds = $this->getBoundingBox($this->getState($model->getChildAt($state->cell, $i)));
    -	
    -					if ($bounds != null)
    -					{
    -						if ($bbox == null)
    -						{
    -							$bbox = $bounds;
    -						}
    -						else
    -						{
    -							$bbox->add($bounds);
    -						}
    -					}
    -				}
    -			}
    -		}
    -	
    -		return $bbox;
    -	}
    -	
    -	/**
    -	 * Function: validateCell
    -	 *
    -	 * Recursively creates the cell state for the given cell if visible is true and
    -	 * the given cell is visible. If the cell is not visible but the state exists
    -	 * then it is removed using <removeState>.
    -	 *
    -	 * Parameters:
    -	 *
    -	 * cell - <mxCell> whose <mxCellState> should be created.
    -	 * visible - Optional boolean indicating if the cell should be visible. Default
    -	 * is true.
    -	 */
    -	function validateCell($cell, $visible = true)
    -	{
    -		if ($cell != null)
    -		{
    -			$visible = $visible && $this->graph->isCellVisible($cell);
    -			$state = $this->getState($cell, $visible);
    -			
    -			if ($state != null && !$visible)
    -			{
    -				$this->removeState($cell);
    -			}
    -			else
    -			{
    -				$model = $this->graph->getModel();
    -				$childCount = $model->getChildCount($cell);
    -				
    -				for ($i = 0; $i < $childCount; $i++)
    -				{
    -					$this->validateCell($model->getChildAt($cell, $i), $visible &&
    -						!$this->graph->isCellCollapsed($cell));
    -				}
    -			}
    -		}
    -		
    -		return $cell;
    -	}
    -
    -	/**
    -	 * Function: validateCellStates
    -	 *
    -	 * Validates and repaints the <mxCellState> for the given <mxCell>.
    -	 *
    -	 * Parameters:
    -	 *
    -	 * cell - <mxCell> whose <mxCellState> should be validated.
    -	 * recurse - Optional boolean indicating if the children of the cell should be
    -	 * validated. Default is true.
    -	 */
    -	function validateCellState($cell, $recurse = true)
    -	{
    -		$state = null;
    -	
    -		if ($cell != null)
    -		{
    -			$state = $this->getState($cell);
    -	
    -			if ($state != null)
    -			{
    -				$model = $this->graph->getModel();
    -					
    -				if ($state->invalid)
    -				{
    -					$state->invalid = false;
    -	
    -					$this->validateCellState($model->getParent($cell), false);
    -					$source = $this->validateCellState($this->getVisibleTerminal($cell, true), false);
    -					$target = $this->validateCellState($this->getVisibleTerminal($cell, false), false);
    -	
    -					$this->updateCellState($state, $source, $target);
    -					
    -					if ($model->isEdge($cell) || $model->isVertex($cell))
    -					{
    -						$this->updateLabelBounds($state);
    -						$this->updateBoundingBox($state);
    -					}
    -				}
    -	
    -				if ($recurse)
    -				{
    -					$childCount = $model->getChildCount($cell);
    -	
    -					for ($i = 0; $i < $childCount; $i++)
    -					{
    -						$this->validateCellState($model->getChildAt($cell, $i));
    -					}
    -				}
    -			}
    -		}
    -	
    -		return $state;
    -	}
    -
    -	/**
    -	 * Function: updateCellState
    -	 *
    -	 * Updates the given <mxCellState>.
    -	 *
    -	 * Parameters:
    -	 *
    -	 * state - <mxCellState> to be updated.
    -	 * source - <mxCellState> that represents the visible source.
    -	 * target - <mxCellState> that represents the visible target.
    -	 */
    -	function updateCellState($state, $source, $target)
    -	{
    -		$state->absoluteOffset->x = 0;
    -		$state->absoluteOffset->y = 0;
    -		$state->origin->x = 0;
    -		$state->origin->y = 0;
    -		$state->length = 0;
    -	
    -		$model = $this->graph->getModel();
    -		$pState = $this->getState($model->getParent($state->cell));
    -	
    -		if ($pState != null)
    -		{
    -			$state->origin->x += $pState->origin->x;
    -			$state->origin->y += $pState->origin->y;
    -		}
    -	
    -		$offset = $this->graph->getChildOffsetForCell($state->cell);
    -	
    -		if ($offset != null)
    -		{
    -			$state->origin->x += $offset->x;
    -			$state->origin->y += $offset->y;
    -		}
    -	
    -		$geo = $this->graph->getCellGeometry($state->cell);
    -	
    -		if ($geo != null)
    -		{
    -			if (!$model->isEdge($state->cell))
    -			{
    -				$offset = $geo->offset;
    -
    -				if ($offset == null)
    -				{
    -					$offset = $this->EMPTY_POINT;
    -				}
    -	
    -				if ($geo->relative && $pState != null)
    -				{
    -					if ($model->isEdge($pState->cell))
    -					{
    -						$origin = $this->getPoint($pState, $geo);
    -							
    -						if ($origin != null)
    -						{
    -							$state->origin->x += ($origin->x / $this->scale) - $pState->origin->x - $this->translate->x;
    -							$state->origin->y += ($origin->y / $this->scale) - $pState->origin->y - $this->translate->y;
    -						}
    -					}
    -					else
    -					{
    -						$state->origin->x += $geo->x * $pState->width / $this->scale + $offset->x;
    -						$state->origin->y += $geo->y * $pState->height / $this->scale + $offset->y;
    -					}
    -				}
    -				else
    -				{
    -					$state->absoluteOffset->x = $this->scale * $offset->x;
    -					$state->absoluteOffset->y = $this->scale * $offset->y;
    -					$state->origin->x += $geo->x;
    -					$state->origin->y += $geo->y;
    -				}
    -			}
    -	
    -			$state->x = $this->scale * ($this->translate->x + $state->origin->x);
    -			$state->y = $this->scale * ($this->translate->y + $state->origin->y);
    -			$state->width = $this->scale * $geo->width;
    -			$state->height = $this->scale * $geo->height;
    -
    -			if ($model->isVertex($state->cell))
    -			{
    -				$this->updateVertexState($state, $geo);
    -			}
    -	
    -			if ($model->isEdge($state->cell))
    -			{
    -				$this->updateEdgeState($state, $geo, $source, $target);
    -			}
    -		}
    -	}
    -
    -	/**
    -	 * Function: updateVertexState
    -	 *
    -	 * Validates the given cell state.
    -	 */
    -	function updateVertexState($state, $geo)
    -	{
    -		// LATER: Add support for rotation
    -		$this->updateVertexLabelOffset($state);
    -	}
    -	
    -	/**
    -	 * Function: updateEdgeState
    -	 *
    -	 * Validates the given cell state.
    -	 */
    -	function updateEdgeState($state, $geo, $source, $target)
    -	{
    -		// This will remove edges with no terminals and no terminal points
    -		// as such edges are invalid and produce NPEs in the edge styles.
    -		// Also removes connected edges that have no visible terminals.
    -		if (($this->graph->model->getTerminal($state->cell, true) != null && $source == null) ||
    -			($source == null && $geo->getTerminalPoint(true) == null) ||
    -			($this->graph->model->getTerminal($state->cell, false) != null && $target == null) ||
    -			($target == null && $geo->getTerminalPoint(false) == null))
    -		{
    -			$this->removeState($state->cell, true);
    -		}
    -		else
    -		{
    -			$this->updateFixedTerminalPoints($state, $source, $target);
    -			$this->updatePoints($state, $geo->points, $source, $target);
    -			$this->updateFloatingTerminalPoints($state, $source, $target);
    -			
    -			$pts = $state->absolutePoints;
    -			
    -			if ($pts == null || sizeof($pts) < 1 || $pts[0] == null || $pts[sizeof($pts) - 1] == null)
    -			{
    -				// This will remove edges with invalid points from the list of states in the view.
    -				// Happens if the one of the terminals and the corresponding terminal point is null.
    -				$this->removeState($state->cell, true);
    -			}
    -			else
    -			{
    -				$this->updateEdgeBounds($state);
    -				$state->absoluteOffset = $this->getPoint($state, $geo);
    -			}
    -		}
    -	}
    -	
    -	/**
    -	 * Function: updateVertexLabelOffset
    -	 * 
    -	 * Updates the absoluteOffset of the given vertex cell state. This takes
    -	 * into account the label position styles.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * state - <mxCellState> whose absolute offset should be updated.
    -	 */
    -	function updateVertexLabelOffset($state)
    -	{
    -		$horizontal = mxUtils::getValue($state->style,
    -				mxConstants::$STYLE_LABEL_POSITION,
    -				mxConstants::$ALIGN_CENTER);
    -		
    -		if ($horizontal == mxConstants::$ALIGN_LEFT)
    -		{
    -			$state->absoluteOffset->x -= $state->width;
    -		}
    -		else if ($horizontal == mxConstants::$ALIGN_RIGHT)
    -		{
    -			$state->absoluteOffset->x += $state->width;
    -		}
    -		
    -		$vertical = mxUtils::getValue($state->style,
    -				mxConstants::$STYLE_VERTICAL_LABEL_POSITION,
    -				mxConstants::$ALIGN_MIDDLE);
    -		
    -		if ($vertical == mxConstants::$ALIGN_TOP)
    -		{
    -			$state->absoluteOffset->y -= $state->height;
    -		}
    -		else if ($vertical == mxConstants::$ALIGN_BOTTOM)
    -		{
    -			$state->absoluteOffset->y += $state->height;
    -		}
    -	}
    -
    -	/**
    -	 * Function: updateLabelBounds
    -	 * 
    -	 * Updates the label bounds in the given state.
    -	 */
    -    function updateLabelBounds($state)
    -    {
    -        $cell = $state->cell;
    -        $style = $state->style;
    -        
    -        if (mxUtils::getValue($style, mxConstants::$STYLE_OVERFLOW) == "fill")
    -		{
    -			$state->labelBounds = new mxRectangle($state->x, $state->y, $state->width, $state->height);
    -		}
    -		else
    -		{
    -	        $label = $this->graph->getLabel($cell);
    -    	    $vertexBounds = (!$this->graph->model->isEdge($cell)) ? $state : null;
    -        	$state->labelBounds = mxUtils::getLabelPaintBounds($label, $style,
    -        		false, $state->absoluteOffset, $vertexBounds, $this->scale);
    -		}
    -    }
    -
    -	/**
    -	 * Function: updateBoundingBox
    -	 * 
    -	 * Updates the bounding box in the given cell state.
    -	 */
    -	function updateBoundingBox($state)
    -	{
    -        // Gets the cell bounds and adds shadows and markers
    -        $rect = new mxRectangle($state->x, $state->y, $state->width, $state->height);
    -        $style = $state->style;
    -
    -        // Adds extra pixels for the marker and stroke assuming
    -        // that the border stroke is centered around the bounds
    -        // and the first pixel is drawn inside the bounds
    -        $strokeWidth = max(1, mxUtils::getNumber($style,
    -            mxConstants::$STYLE_STROKEWIDTH, 1) * $this->scale);
    -        $strokeWidth -= max(1, $strokeWidth / 2);
    -
    -        if ($this->graph->model->isEdge($state->cell))
    -        {
    -			$ms = 0;
    -
    -            if (isset($style[mxConstants::$STYLE_ENDARROW])
    -                    || isset($style[mxConstants::$STYLE_STARTARROW]))
    -            {
    -                $ms = round(mxConstants::$DEFAULT_MARKERSIZE * $this->scale);
    -            }
    -
    -            // Adds the strokewidth
    -           	$rect->grow($ms + $strokeWidth);
    -
    -            // Adds worst case border for an arrow shape
    -            if (mxUtils::getValue($style, mxConstants::$STYLE_SHAPE) ==
    -                    mxConstants::$SHAPE_ARROW)
    -            {
    -                $rect->grow(mxConstants::$ARROW_WIDTH / 2);
    -            }
    -        }
    -        else
    -        {
    -        	$rect->grow($strokeWidth);
    -        }
    -
    -        // Adds extra pixels for the shadow
    -        if (mxUtils::getValue($style, mxConstants::$STYLE_SHADOW, false) == true)
    -        {
    -            $rect->width += mxConstants::$SHADOW_OFFSETX;
    -            $rect->height += mxConstants::$SHADOW_OFFSETY;
    -        }
    -
    -        // Adds oversize images in labels
    -        if (mxUtils::getValue($style, mxConstants::$STYLE_SHAPE) ==
    -        	mxConstants::$SHAPE_LABEL)
    -        {
    -            if (mxUtils::getValue($style, mxConstants::$STYLE_IMAGE) != null)
    -            {
    -                $w = mxUtils::$getValue($style,
    -                        mxConstants::$STYLE_IMAGE_WIDTH,
    -                        mxConstants::$DEFAULT_IMAGESIZE) * $this->scale;
    -                $h = mxUtils::$getValue($style,
    -                        mxConstants::$STYLE_IMAGE_HEIGHT,
    -                        mxConstants::$DEFAULT_IMAGESIZE) * $this->scale;
    -
    -                $x = $state->x;
    -                $y = 0;
    -
    -                $imgAlign = mxUtils::getValue($style, mxConstants::$STYLE_IMAGE_ALIGN,
    -                                mxConstants::$ALIGN_CENTER);
    -                $imgValign = mxUtils::getValue(style,
    -                        mxConstants::$STYLE_IMAGE_VERTICAL_ALIGN,
    -                        mxConstants::$ALIGN_MIDDLE);
    -
    -                if ($imgAlign == mxConstants::$ALIGN_RIGHT)
    -                {
    -                    $x += $state->width - $w;
    -                }
    -                else if ($imgAlign == mxConstants::$ALIGN_CENTER)
    -                {
    -                    $x += ($state->width - $w) / 2;
    -                }
    -
    -                if ($imgValign == mxConstants::$ALIGN_TOP)
    -                {
    -                    $y = $state->y;
    -                }
    -                else if ($imgValign == mxConstants::$ALIGN_BOTTOM)
    -                {
    -                    $y = $state->y + $state->height - $h;
    -                }
    -                else
    -                {
    -                    $y = $state->y + ($state->height - $h) / 2;
    -                }
    -
    -                $rect->add(new mxRectangle($x, $y, $w, $h));
    -            }
    -        }
    -        
    -        // No need to add rotated rectangle bounds here because
    -        // GD does not support rotation
    -
    -        // Unifies the cell bounds and the label bounds
    -		$rect->add($state->labelBounds);
    -        $state->boundingBox = $rect;
    -
    -        return $rect;
    -    }
    -
    -	/**
    -	 * Function: updateFixedTerminalPoints
    -	 *
    -	 * Sets the initial absolute terminal points in the given state before the edge
    -	 * style is computed.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * edge - <mxCellState> whose initial terminal points should be updated.
    -	 * source - <mxCellState> which represents the source terminal.
    -	 * target - <mxCellState> which represents the target terminal.
    -	 */
    -	function updateFixedTerminalPoints($edge, $source, $target)
    -	{
    -		$this->updateFixedTerminalPoint($edge, $source, true,
    -			$this->graph->getConnectionConstraint($edge, $source, true));
    -		$this->updateFixedTerminalPoint($edge, $target, false,
    -			$this->graph->getConnectionConstraint($edge, $target, false));
    -	}
    -
    -	/**
    -	 * Function: updateFixedTerminalPoint
    -	 *
    -	 * Sets the fixed source or target terminal point on the given edge.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * edge - <mxCellState> whose terminal point should be updated.
    -	 * terminal - <mxCellState> which represents the actual terminal.
    -	 * source - Boolean that specifies if the terminal is the source.
    -	 * constraint - <mxConnectionConstraint> that specifies the connection.
    -	 */
    -	function updateFixedTerminalPoint($edge, $terminal, $source, $constraint)
    -	{
    -		$pt = null;
    -		
    -		if (isset($constraint))
    -		{
    -			$pt = $this->graph->getConnectionPoint($terminal, $constraint);
    -		}
    -		
    -		if (!isset($pt) && !isset($terminal))
    -		{
    -			$s = $this->scale;
    -			$tr = $this->translate;
    -			$orig = $edge->origin;
    -			$geo = $this->graph->getCellGeometry($edge->cell);
    -			$pt = $geo->getTerminalPoint($source);
    -			
    -			if (isset($pt))
    -			{
    -				$pt = new mxPoint($s * ($tr->x + $pt->x + $orig->x),
    -					$s * ($tr->y + $pt->y + $orig->y));
    -			}
    -		}
    -
    -		if (!is_array($edge->absolutePoints))
    -		{
    -			$edge->absolutePoints = array();
    -		}
    -
    -		$n = sizeof($edge->absolutePoints);
    -		
    -		if ($source)
    -		{
    -			if ($n > 0)
    -			{
    -				$state->absolutePoints[0] = $pt;
    -			}
    -			else
    -			{
    -				array_push($edge->absolutePoints, $pt);
    -			}
    -		}
    -		else
    -		{
    -			$n = sizeof($edge->absolutePoints);
    -			
    -			if ($n > 1)
    -			{
    -				$edge->absolutePoints[$n - 1] = $pt;
    -			}
    -			else
    -			{
    -				array_push($edge->absolutePoints, $pt);
    -			}
    -		}
    -	}
    -
    -	/**
    -	 * Function: updatePoints
    -	 *
    -	 * Updates the absolute points in the given state using the specified array
    -	 * of <mxPoints> as the relative points.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * edge - <mxCellState> whose absolute points should be updated.
    -	 * points - Array of <mxPoints> that constitute the relative points.
    -	 * source - <mxCellState> that represents the source terminal.
    -	 * target - <mxCellState> that represents the target terminal.
    -	 */
    -	function updatePoints($edge, $points, $source, $target)
    -	{
    -		if (isset($edge))
    -		{
    -			$pts = array();
    -			array_push($pts, $edge->absolutePoints[0]);
    -			$edgeStyle = $this->getEdgeStyle($edge, $points, $source, $target);
    -
    -			if (isset($edgeStyle))
    -			{
    -				$src = $this->getTerminalPort($edge, $source, true);
    -				$trg = $this->getTerminalPort($edge, $target, false);
    -
    -				$edgeStyle->apply($edge, $src, $trg, $points, $pts);
    -			}
    -			else if (isset($points))
    -			{
    -				for ($i = 0; $i < sizeof($points); $i++)
    -				{
    -					if (isset($points[$i]))
    -					{
    -						$pt = $points[$i]->copy();
    -						array_push($pts, $this->transformControlPoint($edge, $pt));
    -					}
    -				}
    -			}
    -			
    -			$n = sizeof($edge->absolutePoints);
    -			array_push($pts, $edge->absolutePoints[$n-1]);
    -
    -			$edge->absolutePoints = $pts;
    -		}
    -	}
    -	
    -	/**
    -	 * Function: transformControlPoint
    -	 *
    -	 * Transforms the given control point to an absolute point.
    -	 */
    -    function transformControlPoint($state, $pt)
    -    {
    -    	$orig = $state->origin;
    -    
    -        return new mxPoint($this->scale * ($pt->x + $this->translate->x + $orig->x),
    -        	$this->scale * ($pt->y + $this->translate->y + $orig->y));
    -    }
    -    
    -	/**
    -	 * Function: getEdgeStyle
    -	 *
    -	 * Returns the edge style function to be used to render the given edge
    -	 * state.
    -	 */
    -	function getEdgeStyle($edge, $points, $source, $target)
    -	{
    -		$edgeStyle = null;
    -		
    -		if (isset($source) && $source === $target)
    -		{
    -			$edgeStyle = mxUtils::getValue($edge->style, mxConstants::$STYLE_LOOP);
    -			
    -			if (!isset($edgeStyle))
    -			{
    -				$edgeStyle = $this->graph->defaultLoopStyle;
    -			}
    -		}
    -		else if (!mxUtils::getValue($edge->style, mxConstants::$STYLE_NOEDGESTYLE, false))
    -		{
    -			$edgeStyle = mxUtils::getValue($edge->style, mxConstants::$STYLE_EDGE);
    -		}
    -		
    -		// Converts string values to objects
    -		if (is_string($edgeStyle))
    -		{
    -			$tmp = mxStyleRegistry::getValue($edgeStyle);
    -			
    -			if ($tmp == null && strpos($edgeStyle, ".") !== false)
    -			{
    -				$tmp = mxUtils::evaluate($edgeStyle);
    -			}
    -			
    -			$edgeStyle = $tmp;
    -		}
    -		
    -		if ($edgeStyle instanceof mxEdgeStyleFunction)
    -		{
    -			return $edgeStyle;
    -		}
    -		
    -		return null;
    -	}
    -
    -	/**
    -	 * Function: updateFloatingTerminalPoints
    -	 *
    -	 * Updates the terminal points in the given state after the edge style was
    -	 * computed for the edge.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * state - <mxCellState> whose terminal points should be updated.
    -	 * source - <mxCellState> that represents the source terminal.
    -	 * target - <mxCellState> that represents the target terminal.
    -	 */
    -	function updateFloatingTerminalPoints($state, $source, $target)
    -	{
    -		$pts = $state->absolutePoints;
    -		$p0 = $pts[0];
    -		$pe = $pts[sizeof($pts) - 1];
    -		
    -		if (!isset($pe) && isset($target))
    -		{
    -			$this->updateFloatingTerminalPoint($state, $target, $source, false);
    -		}
    -		
    -		if (!isset($p0) && isset($source))
    -		{
    -			$this->updateFloatingTerminalPoint($state, $source, $target, true);
    -		}
    -	}
    -
    -	/**
    -	 * Function: updateFloatingTerminalPoint
    -	 *
    -	 * Updates the absolute terminal point in the given state for the given
    -	 * start and end state, where start is the source if source is true.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * edge - <mxCellState> whose terminal point should be updated.
    -	 * start - <mxCellState> for the terminal on "this" side of the edge.
    -	 * end - <mxCellState> for the terminal on the other side of the edge.
    -	 * source - Boolean indicating if start is the source terminal state.
    -	 */
    -	function updateFloatingTerminalPoint($edge, $start, $end, $source)
    -	{
    -		$start = $this->getTerminalPort($edge, $start, $source);
    -		$next = $this->getNextPoint($edge, $end, $source);
    -		$border = mxUtils::getNumber($edge->style, mxConstants::$STYLE_PERIMETER_SPACING);
    -		$border = mxUtils::getNumber($edge->style, ($source) ?
    -			mxConstants::$STYLE_SOURCE_PERIMETER_SPACING :
    -			mxConstants::$STYLE_TARGET_PERIMETER_SPACING);
    -		$pt = $this->getPerimeterPoint($start, $next, $this->graph->isOrthogonal($edge), $border);
    -	 	$index = ($source) ? 0 : sizeof($edge->absolutePoints) - 1;
    -	 	$edge->absolutePoints[$index] = $pt;
    -	}
    -
    -	/**
    -	 * Function: getTerminalPort
    -	 * 
    -	 * Returns an <mxCellState> that represents the source or target terminal or
    -	 * port for the given edge.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * state - <mxCellState> that represents the state of the edge.
    -	 * terminal - <mxCellState> that represents the terminal.
    -	 * source - Boolean indicating if the given terminal is the source terminal.
    -	 */
    -	function getTerminalPort($state, $terminal, $source)
    -	{
    -		$key = ($source) ? mxConstants::$STYLE_SOURCE_PORT
    -				: mxConstants::$STYLE_TARGET_PORT;
    -		$id = mxUtils::getValue($state->style, $key);
    -
    -		if ($id != null)
    -		{
    -			$tmp = $this->getState($this->graph->model->getCell($id));
    -
    -			// Only uses ports where a cell state exists
    -			if (isset($tmp))
    -			{
    -				$terminal = $tmp;
    -			}
    -		}
    -		
    -		return $terminal;
    -	}
    -	
    -	/**
    -	 * Function: getPerimeterPoint
    -	 *
    -	 * Returns an <mxPoint> that defines the location of the intersection point between
    -	 * the perimeter and the line between the center of the shape and the given point.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * terminal - <mxCellState> for the source or target terminal.
    -	 * next - <mxPoint> that lies outside of the given terminal.
    -	 * orthogonal - Boolean that specifies if the orthogonal projection onto
    -	 * the perimeter should be returned. If this is false then the intersection
    -	 * of the perimeter and the line between the next and the center point is
    -	 * returned.
    -	 * border - Optional border between the perimeter and the shape.
    -	 */
    -	function getPerimeterPoint($terminal, $next, $orthogonal, $border = null)
    -	{
    -		$point = null;
    -		
    -		if ($terminal != null)
    -		{
    -			$perimeter = $this->getPerimeterFunction($terminal);
    -			
    -			if (isset($perimeter) && isset($next))
    -			{
    -				$bounds = $this->getPerimeterBounds($terminal, $border);
    -				
    -				if ($bounds->width > 0 || $bounds->height > 0)
    -				{
    -					$point = $perimeter->apply($bounds,	$terminal, $next, $orthogonal);
    -				}
    -			}
    -			
    -			if (!isset($point))
    -			{
    -				$point = $this->getPoint($terminal);
    -			}
    -		}
    -
    -	 	return $point;
    -	}
    -		
    -	/**
    -	 * Function: getRoutingCenterX
    -	 * 
    -	 * Returns the x-coordinate of the center point for automatic routing.
    -	 */
    -	function getRoutingCenterX($state)
    -	{
    -		$f = ($state->style != null) ? mxUtils::getNumber($state->style,
    -			mxConstants::$STYLE_ROUTING_CENTER_X) : 0;
    -	
    -		return $state->getCenterX() + $f * $state->width;
    -	}
    -	
    -	/**
    -	 * Function: getRoutingCenterY
    -	 * 
    -	 * Returns the y-coordinate of the center point for automatic routing.
    -	 */
    -	function getRoutingCenterY($state)
    -	{
    -		$f = ($state->style != null) ? mxUtils::getNumber($state->style,
    -			mxConstants::$STYLE_ROUTING_CENTER_Y) : 0;
    -	
    -		return $state->getCenterY() + $f * $state->height;
    -	}
    -
    -	/**
    -	 * Function: getPerimeterBounds
    -	 *
    -	 * Returns the perimeter bounds for the given terminal, edge pair as an
    -	 * <mxRectangle>.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * terminal - <mxCellState> that represents the terminal.
    -	 * border - Number that adds a border between the shape and the perimeter.
    -	 */
    -	function getPerimeterBounds($terminal, $border = 0)
    -	{
    -		if ($terminal != null)
    -		{
    -			$border += mxUtils::getNumber($terminal->style, mxConstants::$STYLE_PERIMETER_SPACING);
    -		}
    -
    -		return $terminal->getPerimeterBounds($border * $this->scale);
    -	}
    -
    -	/**
    -	 * Function: getPerimeterFunction
    -	 * 
    -	 * Returns the perimeter function for the given state.
    -	 */
    -	function getPerimeterFunction($state)
    -	{
    -		$perimeter = mxUtils::getValue($state->style, mxConstants::$STYLE_PERIMETER);
    -		
    -		// Converts string values to objects
    -		if (is_string($perimeter))
    -		{
    -			$tmp = mxStyleRegistry::getValue($perimeter);
    -			
    -			if ($tmp == null && strpos($perimeter, ".") !== false)
    -			{
    -				$tmp = mxUtils::evaluate($perimeter);
    -			}
    -			
    -			$perimeter = $tmp;
    -		}
    -		
    -		if ($perimeter instanceof mxPerimeterFunction)
    -		{
    -			return $perimeter;
    -		}
    -		
    -		return null;
    -	}
    -
    -	/**
    -	 * Function: getNextPoint
    -	 *
    -	 * Returns the nearest point in the list of absolute points or the center
    -	 * of the opposite terminal.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * edge - <mxCellState> that represents the edge.
    -	 * opposite - <mxCellState> that represents the opposite terminal.
    -	 * source - Boolean indicating if the next point for the source or target
    -	 * should be returned.
    -	 */
    -	function getNextPoint($edge, $opposite, $source)
    -	{
    -		$pts = $edge->absolutePoints;
    -		$point = null;
    -		
    -		if ($pts != null && sizeof($pts) >= 2)
    -		{
    -			$count = sizeof($pts);
    -			$index = ($source) ? min(1, $count - 1) : max(0, $count - 2);
    -			$point = $pts[$index];
    -		}
    -		
    -		if (!isset($point) && isset($opposite))
    -		{
    -			$point = new mxPoint($opposite->getCenterX(), $opposite->getCenterY());
    -		}
    -
    -	 	return $point;
    -	}
    -
    -	/**
    -	 * Function: getVisibleTerminal
    -	 *
    -	 * Returns the nearest ancestor terminal that is visible. The edge appears
    -	 * to be connected to this terminal on the display.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * edge - <mxCell> whose visible terminal should be returned.
    -	 * source - Boolean that specifies if the source or target terminal
    -	 * should be returned.
    -	 */
    -	function getVisibleTerminal($edge, $source)
    -	{
    -	 	$model = $this->graph->model;
    -	 	$result = $model->getTerminal($edge, $source);
    -	 	$best = $result;
    -	 	
    -	 	while ($result != null)
    -	 	{
    -	 		if (!$this->graph->isCellVisible($best)||
    -	 			$this->graph->isCellCollapsed($result))
    -	 		{
    -	 			$best = $result;
    -	 		}
    -	 		
    -	 		$result = $model->getParent($result);
    -	 	}
    -
    -		// Checks if the result is not a layer
    -		if ($model->getParent($best) === $model->getRoot())
    -		{
    -			$best = null;
    -		}
    -		
    -	 	return $best;
    -	}
    -
    -	/**
    -	 * Function: updateEdgeBounds
    -	 * 
    -	 * Updates the bounds of the specified state based on the
    -	 * absolute points in the state.
    -	 */
    -	function updateEdgeBounds($state)
    -	{
    -	 	$points = $state->absolutePoints;
    - 		$p0 = $points[0];
    - 		$n = sizeof($points);
    - 		$pe = $points[$n-1];
    - 		
    - 		if ($p0->x != $pe->x || $p0->y != $pe->y)
    - 		{
    - 			$dx = $pe->x - $p0->x;
    - 			$dy = $pe->y - $p0->y;
    - 			$state->terminalDistance = sqrt($dx*$dx+$dy*$dy);
    - 		}
    - 		else
    - 		{
    - 			$state->terminalDistance = 0;
    - 		}
    - 		
    - 		$length = 0;
    -		$segments = array();
    - 		$pt = $p0;
    - 		
    - 		if ($pt != null)
    - 		{
    - 			$minX = $pt->x;
    - 			$minY = $pt->y;
    - 			$maxX = $minX;
    - 			$maxY = $minY;
    - 			
    - 			for ($i = 1; $i < $n; $i++)
    - 			{
    - 				$tmp = $points[$i];
    - 				if ($tmp != null)
    - 				{
    - 					$dx = $pt->x - $tmp->x;
    - 					$dy = $pt->y - $tmp->y;
    -
    -					$segment = sqrt($dx*$dx+$dy*$dy);
    -					array_push($segments, $segment);
    - 					$length += $segment;
    - 					$pt = $tmp;
    -
    - 					$minX = min($pt->x, $minX);
    - 					$minY = min($pt->y, $minY);
    - 					$maxX = max($pt->x, $maxX);
    - 					$maxY = max($pt->y, $maxY);
    - 				}
    - 			}
    - 			
    - 			$state->length = $length;
    - 			$state->segments = $segments;
    - 			
    - 			$state->x = $minX;
    - 			$state->y = $minY;
    - 			$state->width = $maxX - $minX;
    - 			$state->height = $maxY - $minY;
    - 		}
    -	}
    -
    -	/**
    -	 * Function: getPoint
    -	 *
    -	 * Returns the absolute point on the edge for the given relative
    -	 * <mxGeometry> as an <mxPoint>. The edge is represented by the given
    -	 * <mxCellState>.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * state - <mxCellState> that represents the state of the parent edge.
    -	 * geometry - <mxGeometry> that represents the relative location.
    -	 */
    -	function getPoint($state, $geometry = null)
    -	{
    -        $x = $state->getCenterX();
    -        $y = $state->getCenterY();
    -
    -        if (isset($state->segments) && (!isset($geometry) || $geometry->relative))
    -        {
    -            $gx = (isset($geometry)) ? $geometry->x / 2 : 0;
    -            $pointCount = sizeof($state->absolutePoints);
    -            $dist = ($gx + 0.5) * $state->length;
    -            $segments = $state->segments;
    -            $segment = $segments[0];
    -            $length = 0;
    -            $index = 1;
    -
    -            while ($dist > $length + $segment && $index < $pointCount - 1)
    -            {
    -                $length += $segment;
    -                $segment = $segments[$index++];
    -            }
    -
    -			$factor = ($segment == 0) ? 0 : ($dist - $length) / $segment;
    -			$p0 = $state->absolutePoints[$index - 1];
    -			$pe = $state->absolutePoints[$index];
    -
    -			if ($p0 != null && $pe != null)
    -			{
    -				$gy = 0;
    -				$offsetX = 0;
    -				$offsetY = 0;
    -
    -				if (isset($geometry))
    -				{
    -					$gy = $geometry->y;
    -					$offset = $geometry->offset;
    -
    -					if (isset($offset))
    -					{
    -						$offsetX = $offset->x;
    -						$offsetY = $offset->y;
    -					}
    -				}
    -
    -				$dx = $pe->x - $p0->x;
    -				$dy = $pe->y - $p0->y;
    -				$nx = ($segment == 0) ? 0 : $dy / $segment;
    -				$ny = ($segment == 0) ? 0 : $dx / $segment;
    -
    -				$x = $p0->x + $dx * $factor + ($nx * $gy + $offsetX) * $this->scale;
    -				$y = $p0->y + $dy * $factor - ($ny * $gy - $offsetY) * $this->scale;
    -            }
    -        }
    -        else if (isset($geometry))
    -        {
    -            $offset = $geometry->offset;
    -
    -            if (isset($offset))
    -            {
    -                $x += $offset->x;
    -                $y += $offset->y;
    -            }
    -        }
    -
    -        return new mxPoint($x, $y);
    -	}
    -
    -	/**
    -	 * Function: getState
    -	 * 
    -	 * Returns the cell state for the specified cell. If
    -	 * create is true then the state is created and added
    -	 * to the cache if it does not yet exist.
    -	 */
    -	function getState($cell, $create = false)
    -	{
    -	 	$state = null;
    -	 	
    -	 	if ($cell != null)
    -	 	{
    -	 		$id = $this->getHashCode($cell);
    -		 	$state = (isset($this->states[$id])) ? $this->states[$id] : null;
    -		 	
    -		 	if ($state == null && $create && $this->graph->isCellVisible($cell))
    -		 	{
    -				$state = $this->createState($cell);
    -				$this->states[$id] = $state;
    -		 	}
    -		}
    -
    -	 	return $state;
    -	}
    -	
    -	/**
    -	 * Function: getHashCode
    -	 *
    -	 * Returns a unique string that represents the given instance.
    -	 */
    -	function getHashCode($cell)
    -	{
    -	 	// PHP >= 5.2
    -		if (function_exists("spl_object_hash"))
    -		{
    -			return spl_object_hash($cell);
    -		}
    -		else
    -		{
    -			return (string) $cell;
    -		}
    -	}
    -				
    -	/**
    -	 * Function: getStates
    -	 *
    -	 * Returns the <mxCellStates> for the given array of <mxCells>. The array
    -	 * contains all states that are not null, that is, the returned array may
    -	 * have less elements than the given array.
    -	 */
    -	function getStates()
    -	{
    -		return $this->states;
    -	}
    -
    -	/**
    -	 * Function: getStates
    -	 *
    -	 * Returns the <mxCellStates> for the given array of <mxCells>. The array
    -	 * contains all states that are not null, that is, the returned array may
    -	 * have less elements than the given array.
    -	 */
    -	function getCellStates($cells)
    -	{
    -		$result = array();
    -		$count = sizeof($cells);
    -		
    -		for ($i = 0; $i < $count; $i++)
    -		{
    -			$state = $this->getState($cells[$i]);
    -			
    -			if ($state != null)
    -			{
    -				array_push($result, $state);
    -			}
    -		}
    -		
    -		return $result;
    -	}
    -
    -	/**
    -	 * Function: removeState
    -	 * 
    -	 * Removes and returns the mxCellState for the given cell.
    -	 */
    -	function removeState($cell, $recurse = false)
    -	{
    -		if ($recurse)
    -		{
    -			$model = $this->graph->getModel();
    -			$childCount = $model->getChildCount($cell);
    -			
    -			for ($i = 0; $i < $childCount; $i++)
    -			{
    -				$this->removeState($model->getChildAt($cell, $i), true);
    -			}
    -		}
    -		
    -	 	$state = null;
    -	 	
    -	 	if ($cell != null)
    -	 	{
    -	 		$id = $this->getHashCode($cell);
    -		 	$state = $this->states[$id];
    -		 	unset($this->states[$id]);
    -		}
    -
    -	 	return $state;
    -	}
    -
    -	/**
    -	 * Function: createState
    -	 * 
    -	 * Creates the state for the specified cell.
    -	 */
    -	function createState($cell)
    -	{
    -	 	$style = $this->graph->getCellStyle($cell);
    -	 	
    -	 	return new mxCellState($this, $cell, $style);
    -	}
    -
    -}
    -?>
    diff --git a/php/src/view/mxPerimeter.php b/php/src/view/mxPerimeter.php
    deleted file mode 100644
    index 7d2b0e2a9..000000000
    --- a/php/src/view/mxPerimeter.php
    +++ /dev/null
    @@ -1,534 +0,0 @@
    -<?php
    -/**
    - * Copyright (c) 2006-2013, Gaudenz Alder
    - */
    -interface mxPerimeterFunction
    -{
    -
    -	/**
    -	 * Interface: mxPerimeterFunction
    -	 * 
    -	 * Defines the requirements for a perimeter function.
    -	 * 
    -	 * Function: apply
    -	 * 
    -	 * Implements a perimeter function.
    -	 *
    -	 * Parameters:
    -	 *
    -	 * bounds - <mxRectangle> that represents the absolute bounds of the
    -	 * vertex.
    -	 * vertex - <mxCellState> that represents the vertex.
    -	 * next - <mxPoint> that represents the nearest neighbour point on the
    -	 * given edge.
    -	 * orthogonal - Boolean that specifies if the orthogonal projection onto
    -	 * the perimeter should be returned. If this is false then the intersection
    -	 * of the perimeter and the line between the next and the center point is
    -	 * returned.
    -	 */
    -	public function apply($bounds, $vertex, $next, $orthogonal);
    -
    -}
    -
    -/**
    - * Class: mxRectanglePerimeter
    - *
    - * Implements a rectangular perimeter for the given bounds.
    - */
    -class mxRectanglePerimeter implements mxPerimeterFunction
    -{
    -
    -	/**
    -	 *
    -	 */
    -	public function apply($bounds, $vertex, $next, $orthogonal)
    -	{
    -		$cx = $bounds->x + $bounds->width / 2;
    -		$cy = $bounds->y + $bounds->height / 2;
    -		$dx = $next->x - $cx;
    -		$dy = $next->y - $cy;
    -		$alpha = atan2($dy, $dx);
    -		$p = new mxPoint(0, 0);
    -		$pi = pi();
    -		$pi2 = $pi / 2;
    -		$beta = $pi2 - $alpha;
    -		$t = atan2($bounds->height, $bounds->width);
    -		
    -		if ($alpha < - $pi + $t || $alpha > $pi - $t)
    -		{
    -			// Left side
    -			$p->x = $bounds->x;
    -			$p->y = $cy - $bounds->width * tan($alpha) / 2;
    -		}
    -		else if ($alpha < -$t)
    -		{
    -			// Top side
    -			$p->y = $bounds->y;
    -			$p->x = $cx - $bounds->height * tan($beta) / 2;
    -		}
    -		else if ($alpha < $t)
    -		{
    -			// Right side
    -			$p->x = $bounds->x + $bounds->width;
    -			$p->y = $cy + $bounds->width * tan($alpha) / 2;
    -		}
    -		else
    -		{
    -			// Bottom side
    -			$p->y = $bounds->y + $bounds->height;
    -			$p->x = $cx + $bounds->height * tan($beta) / 2;			
    -		}
    -
    -		if ($orthogonal)
    -		{
    -			if ($next->x >= $bounds->x &&
    -				$next->x <= $bounds->x + $bounds->width)
    -			{
    -				$p->x = $next->x;
    -			}
    -			else if ($next->y >= $bounds->y &&
    -			  	$next->y <= $bounds->y + $bounds->height)
    -			{
    -				$p->y = $next->y;
    -			}
    -			
    -			if ($next->x < $bounds->x)
    -			{
    -				$p->x = $bounds->x;
    -			}
    -			else if ($next->x > $bounds->x + $bounds->width)
    -			{
    -				$p->x = $bounds->x + $bounds->width + 1;
    -			}
    -			
    -			if ($next->y < $bounds->y)
    -			{
    -				$p->y = $bounds->y;
    -			}
    -			else if ($next->y > $bounds->y + $bounds->height)
    -			{
    -				$p->y = $bounds->y + $bounds->height + 1;
    -			}
    -		}
    -		
    -		return $p;
    -	}
    -
    -}
    -
    -/**
    - * Class: mxEllipsePerimeter
    - * 
    - * Implements an elliptic perimeter. See <RectanglePerimeter>
    - * for a description of the parameters.
    - */
    -class mxEllipsePerimeter implements mxPerimeterFunction
    -{
    -
    -	/**
    -	 *
    -	 */
    -	public function apply($bounds, $vertex, $next, $orthogonal)
    -	{
    -		$x = $bounds->x;
    -		$y = $bounds->y;
    -		$a = $bounds->width / 2;
    -		$b = $bounds->height / 2;
    -		$cx = $x + $a;
    -		$cy = $y + $b;
    -		$px = $next->x;
    -		$py = $next->y;
    -		
    -		// Calculates straight line equation through
    -		// point and ellipse center y = d * x + h
    -		$dx = (int) ($px - $cx);
    -		$dy = (int) ($py - $cy);
    -		
    -		if ($dx == 0 && $dy != 0)
    -		{
    -			return new mxPoint($cx, $cy + $b * $dy / abs($dy));
    -		}
    -		else if ($dx == 0 && $dy == 0)
    -		{
    -			return new mxPoint($px, $py);
    -		}
    -
    -		if ($orthogonal)
    -		{
    -			if ($py >= $y && $py <= $y + $bounds->height)
    -			{
    -				$ty = $py - $cy;
    -				$tx = sqrt($a*$a*(1-($ty*$ty)/($b*$b)));
    -				
    -				if (is_nan($tx))
    -				{
    -					$tx = 0;
    -				}
    -				
    -				if ($px <= $x)
    -				{
    -					$tx = -$tx;
    -				}
    -				
    -				return new mxPoint($cx+$tx, $py);
    -			}
    -			
    -			if ($px >= $x && $px <= $x + $bounds->width)
    -			{
    -				$tx = $px - $cx;
    -				$ty = sqrt($b*$b*(1-($tx*$tx)/($a*$a)));
    -				
    -				if (is_nan($ty))
    -				{
    -					$ty = 0;
    -				}
    -				
    -				if ($py <= $y)
    -				{
    -					$ty = -$ty;	
    -				}
    -				
    -				return new mxPoint($px, $cy + $ty);
    -			}
    -		}
    -		
    -		// Calculates intersection
    -		$d = $dy / $dx;
    -		$h = $cy - $d * $cx;
    -		$e = $a * $a * $d * $d + $b * $b;
    -		$f = -2 * $cx * $e;
    -		$g = $a * $a * $d * $d * $cx * $cx +
    -				$b * $b * $cx * $cx -
    -				$a * $a * $b * $b;
    -		$det = sqrt($f * $f - 4 * $e * $g);
    -		
    -		// Two solutions (perimeter points)
    -		$xout1 = (-$f + $det) / (2 * $e);
    -		$xout2 = (-$f - $det) / (2 * $e);
    -		$yout1 = $d * $xout1 + $h;
    -		$yout2 = $d * $xout2 + $h;
    -		$dist1 = sqrt(pow($xout1 - $px, 2)
    -					+ pow($yout1 - $py, 2));
    -		$dist2 = sqrt(pow($xout2 - $px, 2)
    -					+ pow($yout2 - $py, 2));
    -
    -		// Correct solution
    -		$xout = 0;
    -		$yout = 0;
    -		if ($dist1 < $dist2)
    -		{
    -			$xout = $xout1;
    -			$yout = $yout1;
    -		}
    -		else
    -		{
    -			$xout = $xout2;
    -			$yout = $yout2;
    -		}
    -		
    -		return new mxPoint($xout, $yout);
    -	}
    -
    -}
    -
    -/**
    - * Class: mxRhombusPerimeter
    - * 
    - * Implements a rhombus (aka diamond) perimeter. See <RectanglePerimeter>
    - * for a description of the parameters.
    - */
    -class mxRhombusPerimeter implements mxPerimeterFunction
    -{
    -
    -	/**
    -	 *
    -	 */
    -	public function apply($bounds, $vertex, $next, $orthogonal)
    -	{
    -		$x = $bounds->x;
    -		$y = $bounds->y;
    -		$w = $bounds->width;
    -		$h = $bounds->height;
    -		
    -		$cx = $x + $w / 2;
    -		$cy = $y + $h / 2;
    -		
    -		$px = $next->x;
    -		$py = $next->y;
    -		
    -		// Special case for intersecting the diamond's corners
    -		if ($cx == $px)
    -		{
    -			if ($cy > $py)
    -			{
    -				return new mxPoint($cx, $y); // top
    -			}
    -			else
    -			{
    -				return new mxPoint($cx, $y + $h); // bottom
    -			}
    -		}
    -		else if ($cy == $py)
    -		{
    -			if ($cx > $px)
    -			{
    -				return new mxPoint($x, $cy); // left
    -			}
    -			else
    -			{
    -				return new mxPoint($x + $w, $cy); // right
    -			}
    -		}
    -		
    -		$tx = $cx;
    -		$ty = $cy;
    -		
    -		if ($orthogonal)
    -		{
    -			if ($px >= $x && $px <= $x + $w)
    -			{
    -				$tx = $px;
    -			}
    -			else if ($py >= $y && $py <= $y + $h)
    -			{
    -				$ty = $py;
    -			}
    -		}
    -		
    -		// In which quadrant will the intersection be?
    -		// set the slope and offset of the border line accordingly
    -		if ($px < $cx)
    -		{
    -			if ($py < $cy)
    -			{
    -				return mxUtils::intersection($px, $py,
    -					$tx, $ty, $cx, $y, $x, $cy);
    -			}
    -			else
    -			{
    -				return mxUtils::intersection($px, $py,
    -					$tx, $ty, $cx, $y + $h, $x, $cy);
    -			}
    -		}
    -		else if ($py < $cy)
    -		{
    -			return mxUtils::intersection($px, $py,
    -				$tx, $ty, $cx, $y, $x + $w, $cy);
    -		}
    -		else
    -		{
    -			return mxUtils::intersection($px, $py,
    -				$tx, $ty, $cx, $y + $h, $x + $w, $cy);
    -		}
    -	}
    -
    -}
    -
    -/**
    - * Class: mxTrianglePerimeter
    - * 
    - * Implements a triangle perimeter. See <RectanglePerimeter> for a
    - * description of the parameters.
    - */
    -class mxTrianglePerimeter implements mxPerimeterFunction
    -{
    -
    -	/**
    -	 *
    -	 */
    -	public function apply($bounds, $vertex, $next, $orthogonal)
    -	{
    -		$direction = ($vertex != null) ?
    -			mxUtils::getValue($vertex->style, mxConstants::$STYLE_DIRECTION) : null;
    -		$vertical = $direction == mxConstants::$DIRECTION_NORTH ||
    -			$direction == mxConstants::$DIRECTION_SOUTH;
    -
    -		$x = $bounds->x;
    -		$y = $bounds->y;
    -		$w = $bounds->width;
    -		$h = $bounds->height;
    -		
    -		$cx = $x + $w / 2;
    -		$cy = $y + $h / 2;
    -		
    -		$start = new mxPoint($x, $y);
    -		$corner = new mxPoint($x + $w, $cy);
    -		$end = new mxPoint($x, $y + $h);
    -		
    -		if ($direction == mxConstants::$DIRECTION_NORTH)
    -		{
    -			$start = end;
    -			$corner = new mxPoint($cx, $y);
    -			$end = new mxPoint($x + $w, $y + $h);
    -		}
    -		else if ($direction == mxConstants::$DIRECTION_SOUTH)
    -		{
    -			$corner = new mxPoint($cx, $y + $h);
    -			$end = new mxPoint($x + $w, $y);
    -		}
    -		else if ($direction == mxConstants::$DIRECTION_WEST)
    -		{
    -			$start = new mxPoint($x + $w, $y);
    -			$corner = new mxPoint($x, $cy);
    -			$end = new mxPoint($x + $w, $y + $h);
    -		}
    -
    -		$dx = $next->x - $cx;
    -		$dy = $next->y - $cy;
    -
    -		$alpha = ($vertical) ? atan2($dx, $dy) : atan2($dy, $dx);
    -		$t = ($vertical) ? Matan2($w, $h) : atan2($h, $w);
    -		
    -		$base = false;
    -		
    -		if ($direction == mxConstants::$DIRECTION_NORTH ||
    -			$direction == mxConstants::$DIRECTION_WEST)
    -		{
    -			$base = $alpha > -$t && $alpha < $t;
    -		}
    -		else
    -		{
    -			$base = $alpha < -pi() + $t || $alpha > pi() - $t;	
    -		}
    -
    -		$result = null;			
    -
    -		if ($base)
    -		{
    -			if ($orthogonal && (($vertical && $next->x >= $start->x &&
    -				$next->x <= $end->x) || (!$vertical && $next->y >= $start->y &&
    -				$next->y <= $end->y)))
    -			{
    -				if ($vertical)
    -				{
    -					$result = new mxPoint($next->x, $start->y);
    -				}
    -				else
    -				{
    -					$result = new mxPoint($start->x, $next->y);
    -				}
    -			}
    -			else
    -			{
    -				if ($direction == mxConstants::$DIRECTION_NORTH)
    -				{
    -					$result = new mxPoint($x + $w / 2 + $h * tan($alpha) / 2,
    -						$y + $h);
    -				}
    -				else if ($direction == mxConstants::$DIRECTION_SOUTH)
    -				{
    -					$result = new mxPoint($x + $w / 2 - $h * tan($alpha) / 2,
    -						$y);
    -				}
    -				else if ($direction == mxConstants::$DIRECTION_WEST)
    -				{
    -					$result = new mxPoint($x + $w, $y + $h / 2 +
    -						$w * tan($alpha) / 2);
    -				}
    -				else
    -				{
    -					$result = new mxPoint($x, $y + $h / 2 -
    -						$w * tan($alpha) / 2);
    -				}
    -			}
    -		}
    -		else
    -		{
    -			if ($orthogonal)
    -			{
    -				$pt = new mxPoint($cx, $cy);
    -		
    -				if ($next->y >= $y && $next->y <= $y + $h)
    -				{
    -					$pt->x = ($vertical) ? $cx : (
    -						($direction == mxConstants::$DIRECTION_WEST) ?
    -							$x + $w : $x);
    -					$pt->y = $next->y;
    -				}
    -				else if ($next->x >= $x && $next->x <= $x + $w)
    -				{
    -					$pt->x = $next->x;
    -					$pt->y = (!$vertical) ? $cy : (
    -						($direction == mxConstants::$DIRECTION_NORTH) ?
    -							$y + $h : $y);
    -				}
    -				
    -				// Compute angle
    -				$dx = $next->x - $pt->x;
    -				$dy = $next->y - $pt->y;
    -				
    -				$cx = $pt->x;
    -				$cy = $pt->y;
    -			}
    -
    -			if (($vertical && $next->x <= $x + $w / 2) ||
    -				(!$vertical && $next->y <= $y + $h / 2))
    -			{
    -				$result = mxUtils::intersection($next->x, $next->y, $cx, $cy,
    -					$start->x, $start->y, $corner->x, $corner->y);
    -			}
    -			else
    -			{
    -				$result = mxUtils::intersection($next->x, $next->y, $cx, $cy,
    -					$corner->x, $corner->y, $end->x, $end->y);
    -			}
    -		}
    -		
    -		if ($result == null)
    -		{
    -			$result = new mxPoint($cx, $cy);
    -		}
    -		
    -		return $result;
    -	}
    -
    -}
    -
    -/**
    - * Class: mxPerimeter
    - * 
    - * Provides various perimeter functions to be used in a style
    - * as the value of <mxConstants.STYLE_PERIMETER>.
    - * 
    - * The parameters are explained in <RectanglePerimeter>.
    - */
    -class mxPerimeter
    -{
    -
    -	/**
    -	 * Variable: RectanglePerimeter
    -	 *
    -	 * Provides a rectangular perimeter.
    -	 */
    -	public static $RectanglePerimeter;
    -
    -	/**
    -	 * Variable: EllipsePerimeter
    -	 *
    -	 * Provides an elliptic perimeter.
    -	 */
    -	public static $EllipsePerimeter;
    -
    -	/**
    -	 * Variable: RhombusPerimeter
    -	 *
    -	 * Provides a rhombus (aka diamond) perimeter.
    -	 */
    -	public static $RhombusPerimeter;
    -
    -	/**
    -	 * Variable: TrianglePerimeter
    -	 *
    -	 * Provides a triangle perimeter. See <RectanglePerimeter> for a
    -	 * description of the parameters.
    -	 */
    -	public static $TrianglePerimeter;
    -
    -}
    -
    -// Instanciates the declared static members of the above class
    -mxPerimeter::$RectanglePerimeter = new mxRectanglePerimeter();
    -mxPerimeter::$EllipsePerimeter = new mxEllipsePerimeter();
    -mxPerimeter::$RhombusPerimeter = new mxRhombusPerimeter();
    -mxPerimeter::$TrianglePerimeter = new mxTrianglePerimeter();
    -?>
    diff --git a/php/src/view/mxStyleRegistry.php b/php/src/view/mxStyleRegistry.php
    deleted file mode 100644
    index 955922a75..000000000
    --- a/php/src/view/mxStyleRegistry.php
    +++ /dev/null
    @@ -1,70 +0,0 @@
    -<?php
    -/**
    - * Copyright (c) 2006-2013, Gaudenz Alder
    - */
    -class mxStyleRegistry
    -{
    -
    -	/**
    -	 * Class: mxStyleRegistry
    -	 *
    -	 * Singleton class that acts as a global converter from string to object values
    -	 * in a style. This is currently only used to perimeters and edge styles.
    -	 * 
    -	 * Variable: values
    -	 *
    -	 * Maps from strings to objects.
    -	 */
    -	public static $values = array();
    -
    -	/**
    -	 * Function: putValue
    -	 *
    -	 * Puts the given object into the registry under the given name.
    -	 */
    -	static function putValue($name, $value)
    -	{
    -		mxStyleRegistry::$values[$name] = $value;
    -	}
    -
    -	/**
    -	 * Function: getValue
    -	 *
    -	 * Returns the value associated with the given name.
    -	 */
    -	static function getValue($name)
    -	{
    -		return (isset(mxStyleRegistry::$values[$name])) ? mxStyleRegistry::$values[$name] : null;
    -	}
    -
    -	/**
    -	 * Function: getName
    -	 * 
    -	 * Returns the name for the given value.
    -	 */
    -	static function getName($value)
    -	{
    -		foreach (mxStyleRegistry::$values as $key => $val)
    -		{
    -			if ($value === $val)
    -			{
    -				return $key;
    -			}
    -		}
    -		
    -		return null;
    -	}
    -
    -}
    -
    -mxStyleRegistry::putValue(mxConstants::$EDGESTYLE_ELBOW, mxEdgeStyle::$ElbowConnector);
    -mxStyleRegistry::putValue(mxConstants::$EDGESTYLE_ENTITY_RELATION, mxEdgeStyle::$EntityRelation);
    -mxStyleRegistry::putValue(mxConstants::$EDGESTYLE_LOOP, mxEdgeStyle::$Loop);
    -mxStyleRegistry::putValue(mxConstants::$EDGESTYLE_SIDETOSIDE, mxEdgeStyle::$SideToSide);
    -mxStyleRegistry::putValue(mxConstants::$EDGESTYLE_TOPTOBOTTOM, mxEdgeStyle::$TopToBottom);
    -
    -mxStyleRegistry::putValue(mxConstants::$PERIMETER_ELLIPSE, mxPerimeter::$EllipsePerimeter);
    -mxStyleRegistry::putValue(mxConstants::$PERIMETER_RECTANGLE, mxPerimeter::$RectanglePerimeter);
    -mxStyleRegistry::putValue(mxConstants::$PERIMETER_RHOMBUS, mxPerimeter::$RhombusPerimeter);
    -mxStyleRegistry::putValue(mxConstants::$PERIMETER_TRIANGLE, mxPerimeter::$TrianglePerimeter);
    -?>
    diff --git a/php/src/view/mxStylesheet.php b/php/src/view/mxStylesheet.php
    deleted file mode 100644
    index f0c86824c..000000000
    --- a/php/src/view/mxStylesheet.php
    +++ /dev/null
    @@ -1,226 +0,0 @@
    -<?php
    -/**
    - * Copyright (c) 2006-2013, Gaudenz Alder
    - */
    -class mxStylesheet
    -{
    -	
    -	/**
    -	 * Class: mxStylesheet
    -	 * 
    -	 * Defines the appearance of the cells in a graph. See
    -	 * <putCellStyle> for an example of creating a style.
    -	 *
    -	 * Default Styles:
    -	 * 
    -	 * The stylesheet contains two built-om styles, which are
    -	 * used if no style is defined for a cell:
    -	 *
    -	 *   defaultVertex - Default style for vertices
    -	 *   defaultEdge - Default style for edges
    -	 *   
    -	 * Function: styles
    -	 * 
    -	 * Maps from names to styles.
    -	 */
    -	var $styles = array();
    -
    -	/**
    -	 * Constructor: mxStylesheet
    -	 * 
    -	 * Constructs a new stylesheet and assigns default styles.
    -	 */
    -	function mxStylesheet()
    -	{
    -	 	$this->putDefaultVertexStyle($this->createDefaultVertexStyle());
    -	 	$this->putDefaultEdgeStyle($this->createDefaultEdgeStyle());
    -	}
    -
    -	/**
    -	 * Function: createDefaultVertexStyle
    -	 * 
    -	 * Creates and returns the default vertex style.
    -	 */
    -	function createDefaultVertexStyle()
    -	{
    -	 	$style = array();
    -	 	
    -	 	$style[mxConstants::$STYLE_SHAPE] = mxConstants::$SHAPE_RECTANGLE;
    -	 	$style[mxConstants::$STYLE_PERIMETER] = mxPerimeter::$RectanglePerimeter;
    -	 	$style[mxConstants::$STYLE_VERTICAL_ALIGN] = mxConstants::$ALIGN_MIDDLE;
    -	 	$style[mxConstants::$STYLE_ALIGN] = mxConstants::$ALIGN_CENTER;
    -	 	$style[mxConstants::$STYLE_FILLCOLOR] = "#C3D9FF";
    -	 	$style[mxConstants::$STYLE_STROKECOLOR] = "#6482B9";
    -	 	$style[mxConstants::$STYLE_FONTCOLOR] = "#774400";
    -	 	
    -	 	return $style;
    -	}
    -
    -	/**
    -	 * Function: createDefaultEdgeStyle
    -	 * 
    -	 * Creates and returns the default edge style.
    -	 */
    -	function createDefaultEdgeStyle()
    -	{
    -	 	$style = array();
    -	 	
    -		$style[mxConstants::$STYLE_SHAPE] = mxConstants::$SHAPE_CONNECTOR;
    -		$style[mxConstants::$STYLE_ENDARROW] = mxConstants::$ARROW_CLASSIC;
    -		$style[mxConstants::$STYLE_VERTICAL_ALIGN] = mxConstants::$ALIGN_MIDDLE;
    -		$style[mxConstants::$STYLE_ALIGN] = mxConstants::$ALIGN_CENTER;
    -		$style[mxConstants::$STYLE_STROKECOLOR] = "#6482B9";
    -		$style[mxConstants::$STYLE_FONTCOLOR] = "#446299";
    -	 	
    -	 	return $style;
    -	}
    -	
    -	/**
    -	 * Function: putDefaultVertexStyle
    -	 * 
    -	 * Sets the default style for vertices.
    -	 */
    -	function putDefaultVertexStyle($style)
    -	{
    -		$this->putCellStyle("defaultVertex", $style);
    -	}
    -
    -	/**
    -	 * Function: putDefaultEdgeStyle
    -	 * 
    -	 * Sets the default style for edges.
    -	 */
    -	function putDefaultEdgeStyle($style)
    -	{
    -		$this->putCellStyle("defaultEdge", $style);
    -	}
    -
    -	/**
    -	 * Function: getDefaultVertexStyle
    -	 * 
    -	 * Returns the default style for vertices.
    -	 */
    -	function getDefaultVertexStyle()
    -	{
    -		return $this->styles["defaultVertex"];
    -	}
    -
    -	/**
    -	 * Function: getDefaultEdgeStyle
    -	 * 
    -	 * Sets the default style for edges.
    -	 */
    -	function getDefaultEdgeStyle()
    -	{
    -		return $this->styles["defaultEdge"];
    -	}
    -	
    -	/**
    -	 * Function: putCellStyle
    -	 * 
    -	 * Stores the specified style under the given name.
    -	 *
    -	 * Example:
    -	 * 
    -	 * The following example adds a new style (called 'rounded') into an
    -	 * existing stylesheet:
    -	 * 
    -	 * (code)
    -	 * var style = new Array();
    -	 * style[mxConstants.STYLE_SHAPE] = mxConstants.SHAPE_RECTANGLE;
    -	 * style[mxConstants.STYLE_PERIMETER] = mxPerimeter.RightAngleRectanglePerimeter;
    -	 * style[mxConstants.STYLE_ROUNDED] = 'true';
    -	 * graph.stylesheet.putCellStyle('rounded', style);
    -	 * (end)
    -	 * 
    -	 * In the above example, the new style is an array. The possible  keys of
    -	 * the array are all the constants in <mxConstants> that start with STYLE
    -	 * and the values are either JavaScript objects, such as
    -	 * <mxPerimeter.RightAngleRectanglePerimeter> (which is in fact a function)
    -	 * or expressions, such as 'true'. Note that not all keys will be
    -	 * interpreted by all shapes (eg. the line shape ignores the fill color).
    -	 * The final call to this method associates the style with a name in the
    -	 * stylesheet. The style is used in a cell with the following code:
    -	 * 
    -	 * (code)
    -	 * model.setStyle(cell, 'rounded');
    -	 * (end)
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * name - Name for the style to be stored.
    -	 * style - Key, value pairs that define the style.
    -	 */
    -	function putCellStyle($name, $style)
    -	{
    -		$this->styles[$name] = $style;
    -	}
    -	
    -	/**
    -	 * Function: getCellStyle
    -	 * 
    -	 * Returns the cell style for the specified cell or the given defaultStyle
    -	 * if no style can be found for the given stylename.
    -	 * 
    -	 * Parameters:
    -	 * 
    -	 * name - String of the form [(stylename|key=value);] that represents the
    -	 * style.
    -	 * defaultStyle - Default style to be returned if no style can be found.
    -	 */
    -	function getCellStyle($name, $defaultStyle = null)
    -	{
    -		$style = $defaultStyle;
    -		
    -		if ($name != null && strlen($name) > 0)
    -		{
    -			$pairs = explode(";", $name);
    -
    -			if (isset($pairs))
    -			{
    -				if (isset($style) && $name{0} != ';')
    -				{
    -					$style = array_slice($style, 0);
    -				}
    -				else
    -				{
    -					$style = array();
    -				}
    -				
    -				for ($i = 0; $i < sizeof($pairs); $i++)
    -				{
    -					$tmp = $pairs[$i];
    -					$pos = strpos($pairs[$i], "=");
    -					
    -					if ($pos !== false)
    -					{
    -						$key = substr($tmp, 0, $pos);
    -						$value = substr($tmp, $pos+1);
    -						
    -						if ($value == mxConstants::$NONE)
    -						{
    -							unset($style[$key]);
    -						}
    -						else
    -						{
    -							$style[$key] = $value;
    -						}
    -					}
    -					else if (isset($this->styles[$tmp]))
    -					{
    -						$tmpStyle = $this->styles[$tmp];
    -
    -						foreach ($tmpStyle as $key => $value)
    -						{
    -							$style[$key] = $value;
    -						}
    -					}
    -				}
    -			}
    -		}
    -
    -		return $style;
    -	}
    -
    -}
    -?>
    diff --git a/php/test/mxCodecTest.php b/php/test/mxCodecTest.php
    deleted file mode 100644
    index 1275a98f0..000000000
    --- a/php/test/mxCodecTest.php
    +++ /dev/null
    @@ -1,75 +0,0 @@
    -<?php
    -/**
    - * Copyright (c) 2006, Gaudenz Alder
    - */
    -include_once("../src/mxServer.php");
    -
    -/**
    - * Function: main
    - * 
    - * Creates a graph using the API and converts it into a PNG image.
    - */
    -function main()
    -{
    -	// Creates graph with model
    -	$model = new mxGraphModel();
    -	$graph = new mxGraph($model);
    -	$parent = $graph->getDefaultParent();
    -
    -	// Adds cells into the model
    -	$model->beginUpdate();
    -	try
    -	{
    -		$v1 = $graph->insertVertex($parent, null, "Hello", 20, 20, 80, 30);
    -		$v2 = $graph->insertVertex($parent, null, "World!", 200, 150, 80, 30);
    -		$e1 = $graph->insertEdge($parent, null, "e1", $v1, $v2);
    -		$e1->getGeometry()->points = array(new mxPoint(10, 10));
    -
    -		$v3 = $graph->insertVertex($e1, null, "v3", 0, 0, 40, 40, "shape=ellipse");
    -		$v3->getGeometry()->relative = true;
    -		$v3->getGeometry()->offset = new mxPoint(-20, -20);
    -		
    -		$model->add($parent, $e1, 0);
    -	}
    -	catch (Exception $e)
    -	{
    -		$model->endUpdate();
    -		throw($e);
    -	}
    -	$model->endUpdate();
    -
    -	$doc = mxUtils::createXmlDocument();
    -	$enc = new mxCodec($doc);
    -	$node = $enc->encode($model);
    -	$xml1 = $doc->saveXML($node);
    -
    -	$doc = mxUtils::parseXml($xml1);
    -	$dec = new mxCodec($doc);
    -	$dec->decode($doc->documentElement, $model);
    -
    -	$doc = mxUtils::createXmlDocument();
    -	$enc = new mxCodec($doc);
    -	$node = $enc->encode($model);
    -	$xml2 = $doc->saveXML($node);
    -
    -	if ($xml1 == $xml2)
    -	{
    -		echo "Test Passed: ".htmlentities($xml1);
    -	}
    -	else
    -	{
    -		echo "Test Failed: <br>xml1=".htmlentities($xml1)."<br>xml2=".htmlentities($xml2);
    -	}
    -}
    -
    -// Uses a local font so that all examples work on all platforms. This can be
    -// changed to vera on Mac or arial on Windows systems.
    -mxConstants::$DEFAULT_FONTFAMILY = "verah";
    -putenv("GDFONTPATH=".realpath("../examples/ttf"));
    -
    -// If you can't get the fonts to render try using one of the following:
    -//mxConstants::$DEFAULT_FONTFAMILY = "C:\WINDOWS\Fonts\arial.ttf";
    -//mxConstants::$TTF_ENABLED = false;
    -
    -main();
    -?>