@datagrok-libraries/bio 5.8.0 → 5.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.ts CHANGED
@@ -13,10 +13,11 @@ import { getMonomerLib } from './src/utils/monomer-lib';
13
13
  import { INewickHelper } from './src/utils/newick-helper';
14
14
  import { NotationConverter } from './src/utils/notation-converter';
15
15
  import { splitAlignedSequences } from './src/utils/splitter';
16
+ import { getTreeHelper, ITreeHelper } from './src/utils/tree-helper';
16
17
  import { UnitsHandler } from './src/utils/units-handler';
17
18
  import { VdRegion, VdRegionType } from './src/vd-regions';
18
19
  import { CanvasCallback, getPhylocanvasGlService, IPhylocanvasGlViewer, NodeStyleType, PhylocanvasGlServiceBase, PhylocanvasGlTask, StylesType, TreeTypesNames } from './src/viewers/phylocanvas-gl-viewer';
19
20
  import { IVdRegionsViewer } from './src/viewers/vd-regions-viewer';
20
21
  import { PositionHeight, PositionInfo, PositionMonomerInfo, WebLogoViewer } from './src/viewers/web-logo-viewer';
21
- export { ALIGNMENT, ALPHABET, NOTATION, TAGS, NotationConverter, SplitterFunc, getStats, getAlphabetSimilarity, getSplitter, splitterAsFasta, splitterAsHelm, getSplitterForColumn, monomerToShort, splitAlignedSequences, SeqPalette, SeqPaletteBase, Aminoacids, AminoacidsPalettes, Nucleotides, NucleotidesPalettes, UnknownSeqPalettes, UnknownSeqPalette, pickUpPalette, getPaletteByType, PositionHeight, PositionInfo, PositionMonomerInfo, WebLogoViewer, UnitsHandler, DrawStyle, printLeftOrCentered, FastaFileHandler, VdRegionType, VdRegion, IVdRegionsViewer, NodeType, isLeaf, NodeCuttedType, PhylocanvasTreeNode, NodeStyleType, StylesType, IPhylocanvasGlViewer, TreeTypesNames, PhylocanvasGlServiceBase, CanvasCallback, PhylocanvasGlTask, getPhylocanvasGlService, PhylocanvasGL, Shapes, TreeTypes, Utils, Newick, INewickHelper, Monomer, IMonomerLib, getMonomerLib, MonomerWorks, };
22
+ export { ALIGNMENT, ALPHABET, NOTATION, TAGS, NotationConverter, SplitterFunc, getStats, getAlphabetSimilarity, getSplitter, splitterAsFasta, splitterAsHelm, getSplitterForColumn, monomerToShort, splitAlignedSequences, SeqPalette, SeqPaletteBase, Aminoacids, AminoacidsPalettes, Nucleotides, NucleotidesPalettes, UnknownSeqPalettes, UnknownSeqPalette, pickUpPalette, getPaletteByType, PositionHeight, PositionInfo, PositionMonomerInfo, WebLogoViewer, UnitsHandler, DrawStyle, printLeftOrCentered, FastaFileHandler, VdRegionType, VdRegion, IVdRegionsViewer, NodeType, isLeaf, NodeCuttedType, PhylocanvasTreeNode, NodeStyleType, StylesType, IPhylocanvasGlViewer, TreeTypesNames, PhylocanvasGlServiceBase, CanvasCallback, PhylocanvasGlTask, getPhylocanvasGlService, PhylocanvasGL, Shapes, TreeTypes, Utils, Newick, INewickHelper, ITreeHelper, getTreeHelper, Monomer, IMonomerLib, getMonomerLib, MonomerWorks, };
22
23
  //# sourceMappingURL=index.d.ts.map
package/index.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,mBAAmB,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAC,MAAM,6BAA6B,CAAC;AAElG,OAAO,EAAC,aAAa,EAAC,MAAM,6BAA6B,CAAC;AAE1D,OAAO,EAAC,UAAU,EAAE,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAC,YAAY,EAAC,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAC,WAAW,EAAE,mBAAmB,EAAC,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAC,UAAU,EAAE,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAC,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAC,MAAM,aAAa,CAAC;AACnF,OAAO,EAAC,iBAAiB,EAAE,kBAAkB,EAAC,MAAM,eAAe,CAAC;AACpE,OAAO,EAAC,SAAS,EAAE,mBAAmB,EAAC,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAC,gBAAgB,EAAC,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EACL,WAAW,EACX,eAAe,EACf,oBAAoB,EACpB,YAAY,EACZ,cAAc,EACd,cAAc,EACd,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,qBAAqB,EACrB,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,SAAS,EACV,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAC,aAAa,EAAC,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAC,aAAa,EAAC,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAC,iBAAiB,EAAC,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAC,qBAAqB,EAAC,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAC,YAAY,EAAC,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAC,QAAQ,EAAE,YAAY,EAAC,MAAM,kBAAkB,CAAC;AACxD,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,oBAAoB,EACpB,aAAa,EACb,wBAAwB,EACxB,iBAAiB,EACjB,UAAU,EACV,cAAc,EACf,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAC,gBAAgB,EAAC,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAC,cAAc,EAAE,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAC,MAAM,+BAA+B,CAAC;AAG/G,OAAO,EACL,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,iBAAiB,EACjB,YAAY,EACZ,QAAQ,EACR,qBAAqB,EACrB,WAAW,EACX,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,qBAAqB,EACrB,UAAU,EACV,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,SAAS,EACT,mBAAmB,EACnB,gBAAgB,EAChB,YAAY,EACZ,QAAQ,EACR,gBAAgB,EAEhB,QAAQ,EAAE,MAAM,EAAE,cAAc,EAChC,mBAAmB,EACnB,aAAa,EAAE,UAAU,EAEzB,oBAAoB,EACpB,cAAc,EACd,wBAAwB,EACxB,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EAEvB,aAAa,EACb,MAAM,EAAE,SAAS,EACjB,KAAK,EACL,MAAM,EACN,aAAa,EAEb,OAAO,EACP,WAAW,EACX,aAAa,EACb,YAAY,GACb,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,mBAAmB,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAC,MAAM,6BAA6B,CAAC;AAElG,OAAO,EAAC,aAAa,EAAC,MAAM,6BAA6B,CAAC;AAE1D,OAAO,EAAC,UAAU,EAAE,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAC,YAAY,EAAC,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAC,WAAW,EAAE,mBAAmB,EAAC,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAC,UAAU,EAAE,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAC,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAC,MAAM,aAAa,CAAC;AACnF,OAAO,EAAC,iBAAiB,EAAE,kBAAkB,EAAC,MAAM,eAAe,CAAC;AACpE,OAAO,EAAC,SAAS,EAAE,mBAAmB,EAAC,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAC,gBAAgB,EAAC,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EACL,WAAW,EACX,eAAe,EACf,oBAAoB,EACpB,YAAY,EACZ,cAAc,EACd,cAAc,EACd,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,qBAAqB,EACrB,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,SAAS,EACV,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAC,aAAa,EAAC,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAC,aAAa,EAAC,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAC,iBAAiB,EAAC,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAC,qBAAqB,EAAC,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAC,aAAa,EAAE,WAAW,EAAC,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAC,YAAY,EAAC,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAC,QAAQ,EAAE,YAAY,EAAC,MAAM,kBAAkB,CAAC;AACxD,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,oBAAoB,EACpB,aAAa,EACb,wBAAwB,EACxB,iBAAiB,EACjB,UAAU,EACV,cAAc,EACf,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAC,gBAAgB,EAAC,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAC,cAAc,EAAE,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAC,MAAM,+BAA+B,CAAC;AAG/G,OAAO,EACL,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,iBAAiB,EACjB,YAAY,EACZ,QAAQ,EACR,qBAAqB,EACrB,WAAW,EACX,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,qBAAqB,EACrB,UAAU,EACV,cAAc,EACd,UAAU,EACV,kBAAkB,EAClB,WAAW,EACX,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,SAAS,EACT,mBAAmB,EACnB,gBAAgB,EAChB,YAAY,EACZ,QAAQ,EACR,gBAAgB,EAEhB,QAAQ,EAAE,MAAM,EAAE,cAAc,EAChC,mBAAmB,EACnB,aAAa,EAAE,UAAU,EAEzB,oBAAoB,EACpB,cAAc,EACd,wBAAwB,EACxB,cAAc,EACd,iBAAiB,EACjB,uBAAuB,EAEvB,aAAa,EACb,MAAM,EAAE,SAAS,EACjB,KAAK,EACL,MAAM,EACN,aAAa,EACb,WAAW,EACX,aAAa,EAEb,OAAO,EACP,WAAW,EACX,aAAa,EACb,YAAY,GACb,CAAC"}
package/index.js CHANGED
@@ -14,9 +14,10 @@ import { getSplitter, splitterAsFasta, getSplitterForColumn, monomerToShort, spl
14
14
  import { getMonomerLib } from './src/utils/monomer-lib';
15
15
  import { NotationConverter } from './src/utils/notation-converter';
16
16
  import { splitAlignedSequences } from './src/utils/splitter';
17
+ import { getTreeHelper } from './src/utils/tree-helper';
17
18
  import { UnitsHandler } from './src/utils/units-handler';
18
19
  import { VdRegion, VdRegionType } from './src/vd-regions';
19
20
  import { getPhylocanvasGlService, PhylocanvasGlServiceBase, TreeTypesNames } from './src/viewers/phylocanvas-gl-viewer';
20
21
  import { PositionHeight, PositionInfo, PositionMonomerInfo, WebLogoViewer } from './src/viewers/web-logo-viewer';
21
- export { NotationConverter, getStats, getAlphabetSimilarity, getSplitter, splitterAsFasta, splitterAsHelm, getSplitterForColumn, monomerToShort, splitAlignedSequences, SeqPaletteBase, Aminoacids, AminoacidsPalettes, Nucleotides, NucleotidesPalettes, UnknownSeqPalettes, UnknownSeqPalette, pickUpPalette, getPaletteByType, PositionHeight, PositionInfo, PositionMonomerInfo, WebLogoViewer, UnitsHandler, DrawStyle, printLeftOrCentered, FastaFileHandler, VdRegionType, VdRegion, isLeaf, TreeTypesNames, PhylocanvasGlServiceBase, getPhylocanvasGlService, PhylocanvasGL, Shapes, TreeTypes, Utils, Newick, getMonomerLib, MonomerWorks, };
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBQ1osT0FBTyxFQUFzQixNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUNsRyxZQUFZO0FBQ1osT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBRTFELE9BQU8sRUFBQyxVQUFVLEVBQUUsa0JBQWtCLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUFDLFdBQVcsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ25FLE9BQU8sRUFBYSxjQUFjLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUM5RCxPQUFPLEVBQWlDLE1BQU0sRUFBaUIsTUFBTSxhQUFhLENBQUM7QUFDbkYsT0FBTyxFQUFDLGlCQUFpQixFQUFFLGtCQUFrQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxTQUFTLEVBQUUsbUJBQW1CLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQ0wsV0FBVyxFQUNYLGVBQWUsRUFDZixvQkFBb0IsRUFFcEIsY0FBYyxFQUNkLGNBQWMsRUFDZCxRQUFRLEVBQ1IsYUFBYSxFQUNiLGdCQUFnQixFQUNoQixxQkFBcUIsRUFLdEIsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFdEQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDM0QsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxRQUFRLEVBQUUsWUFBWSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDeEQsT0FBTyxFQUVMLHVCQUF1QixFQUd2Qix3QkFBd0IsRUFHeEIsY0FBYyxFQUNmLE1BQU0scUNBQXFDLENBQUM7QUFFN0MsT0FBTyxFQUFDLGNBQWMsRUFBRSxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFHL0csT0FBTyxFQUtMLGlCQUFpQixFQUVqQixRQUFRLEVBQ1IscUJBQXFCLEVBQ3JCLFdBQVcsRUFDWCxlQUFlLEVBQ2YsY0FBYyxFQUNkLG9CQUFvQixFQUNwQixjQUFjLEVBQ2QscUJBQXFCLEVBRXJCLGNBQWMsRUFDZCxVQUFVLEVBQ1Ysa0JBQWtCLEVBQ2xCLFdBQVcsRUFDWCxtQkFBbUIsRUFDbkIsa0JBQWtCLEVBQ2xCLGlCQUFpQixFQUNqQixhQUFhLEVBQ2IsZ0JBQWdCLEVBQ2hCLGNBQWMsRUFDZCxZQUFZLEVBQ1osbUJBQW1CLEVBQ25CLGFBQWEsRUFDYixZQUFZLEVBQ1osU0FBUyxFQUNULG1CQUFtQixFQUNuQixnQkFBZ0IsRUFDaEIsWUFBWSxFQUNaLFFBQVEsRUFHRSxNQUFNLEVBS2hCLGNBQWMsRUFDZCx3QkFBd0IsRUFHeEIsdUJBQXVCLEVBRXZCLGFBQWEsRUFDYixNQUFNLEVBQUUsU0FBUyxFQUNqQixLQUFLLEVBQ0wsTUFBTSxFQUtOLGFBQWEsRUFDYixZQUFZLEdBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vQHRzLWlnbm9yZVxuaW1wb3J0IHtQaHlsb2NhbnZhc1RyZWVOb2RlLCBOZXdpY2ssIFV0aWxzLCBTaGFwZXMsIFRyZWVUeXBlc30gZnJvbSAnQHBoeWxvY2FudmFzL3BoeWxvY2FudmFzLmdsJztcbi8vQHRzLWlnbm9yZVxuaW1wb3J0IHtQaHlsb2NhbnZhc0dMfSBmcm9tICdAcGh5bG9jYW52YXMvcGh5bG9jYW52YXMuZ2wnO1xuXG5pbXBvcnQge0FtaW5vYWNpZHMsIEFtaW5vYWNpZHNQYWxldHRlc30gZnJvbSAnLi9zcmMvYW1pbm9hY2lkcyc7XG5pbXBvcnQge01vbm9tZXJXb3Jrc30gZnJvbSAnLi9zcmMvbW9ub21lci13b3Jrcyc7XG5pbXBvcnQge051Y2xlb3RpZGVzLCBOdWNsZW90aWRlc1BhbGV0dGVzfSBmcm9tICcuL3NyYy9udWNsZW90aWRlcyc7XG5pbXBvcnQge1NlcVBhbGV0dGUsIFNlcVBhbGV0dGVCYXNlfSBmcm9tICcuL3NyYy9zZXEtcGFsZXR0ZXMnO1xuaW1wb3J0IHtJTW9ub21lckxpYiwgTW9ub21lciwgTm9kZVR5cGUsIGlzTGVhZiwgTm9kZUN1dHRlZFR5cGV9IGZyb20gJy4vc3JjL3R5cGVzJztcbmltcG9ydCB7VW5rbm93blNlcVBhbGV0dGUsIFVua25vd25TZXFQYWxldHRlc30gZnJvbSAnLi9zcmMvdW5rbm93bic7XG5pbXBvcnQge0RyYXdTdHlsZSwgcHJpbnRMZWZ0T3JDZW50ZXJlZH0gZnJvbSAnLi9zcmMvdXRpbHMvY2VsbC1yZW5kZXJlcic7XG5pbXBvcnQge0Zhc3RhRmlsZUhhbmRsZXJ9IGZyb20gJy4vc3JjL3V0aWxzL2Zhc3RhLWhhbmRsZXInO1xuaW1wb3J0IHtcbiAgZ2V0U3BsaXR0ZXIsXG4gIHNwbGl0dGVyQXNGYXN0YSxcbiAgZ2V0U3BsaXR0ZXJGb3JDb2x1bW4sXG4gIFNwbGl0dGVyRnVuYyxcbiAgbW9ub21lclRvU2hvcnQsXG4gIHNwbGl0dGVyQXNIZWxtLFxuICBnZXRTdGF0cyxcbiAgcGlja1VwUGFsZXR0ZSxcbiAgZ2V0UGFsZXR0ZUJ5VHlwZSxcbiAgZ2V0QWxwaGFiZXRTaW1pbGFyaXR5LFxuICBBTFBIQUJFVCxcbiAgTk9UQVRJT04sXG4gIFRBR1MsXG4gIEFMSUdOTUVOVFxufSBmcm9tICcuL3NyYy91dGlscy9tYWNyb21vbGVjdWxlJztcbmltcG9ydCB7Z2V0TW9ub21lckxpYn0gZnJvbSAnLi9zcmMvdXRpbHMvbW9ub21lci1saWInO1xuaW1wb3J0IHtJTmV3aWNrSGVscGVyfSBmcm9tICcuL3NyYy91dGlscy9uZXdpY2staGVscGVyJztcbmltcG9ydCB7Tm90YXRpb25Db252ZXJ0ZXJ9IGZyb20gJy4vc3JjL3V0aWxzL25vdGF0aW9uLWNvbnZlcnRlcic7XG5pbXBvcnQge3NwbGl0QWxpZ25lZFNlcXVlbmNlc30gZnJvbSAnLi9zcmMvdXRpbHMvc3BsaXR0ZXInO1xuaW1wb3J0IHtVbml0c0hhbmRsZXJ9IGZyb20gJy4vc3JjL3V0aWxzL3VuaXRzLWhhbmRsZXInO1xuaW1wb3J0IHtWZFJlZ2lvbiwgVmRSZWdpb25UeXBlfSBmcm9tICcuL3NyYy92ZC1yZWdpb25zJztcbmltcG9ydCB7XG4gIENhbnZhc0NhbGxiYWNrLFxuICBnZXRQaHlsb2NhbnZhc0dsU2VydmljZSxcbiAgSVBoeWxvY2FudmFzR2xWaWV3ZXIsXG4gIE5vZGVTdHlsZVR5cGUsXG4gIFBoeWxvY2FudmFzR2xTZXJ2aWNlQmFzZSxcbiAgUGh5bG9jYW52YXNHbFRhc2ssXG4gIFN0eWxlc1R5cGUsXG4gIFRyZWVUeXBlc05hbWVzXG59IGZyb20gJy4vc3JjL3ZpZXdlcnMvcGh5bG9jYW52YXMtZ2wtdmlld2VyJztcbmltcG9ydCB7SVZkUmVnaW9uc1ZpZXdlcn0gZnJvbSAnLi9zcmMvdmlld2Vycy92ZC1yZWdpb25zLXZpZXdlcic7XG5pbXBvcnQge1Bvc2l0aW9uSGVpZ2h0LCBQb3NpdGlvbkluZm8sIFBvc2l0aW9uTW9ub21lckluZm8sIFdlYkxvZ29WaWV3ZXJ9IGZyb20gJy4vc3JjL3ZpZXdlcnMvd2ViLWxvZ28tdmlld2VyJztcblxuXG5leHBvcnQge1xuICBBTElHTk1FTlQsXG4gIEFMUEhBQkVULFxuICBOT1RBVElPTixcbiAgVEFHUyxcbiAgTm90YXRpb25Db252ZXJ0ZXIsXG4gIFNwbGl0dGVyRnVuYyxcbiAgZ2V0U3RhdHMsXG4gIGdldEFscGhhYmV0U2ltaWxhcml0eSxcbiAgZ2V0U3BsaXR0ZXIsXG4gIHNwbGl0dGVyQXNGYXN0YSxcbiAgc3BsaXR0ZXJBc0hlbG0sXG4gIGdldFNwbGl0dGVyRm9yQ29sdW1uLFxuICBtb25vbWVyVG9TaG9ydCxcbiAgc3BsaXRBbGlnbmVkU2VxdWVuY2VzLFxuICBTZXFQYWxldHRlLFxuICBTZXFQYWxldHRlQmFzZSxcbiAgQW1pbm9hY2lkcyxcbiAgQW1pbm9hY2lkc1BhbGV0dGVzLFxuICBOdWNsZW90aWRlcyxcbiAgTnVjbGVvdGlkZXNQYWxldHRlcyxcbiAgVW5rbm93blNlcVBhbGV0dGVzLFxuICBVbmtub3duU2VxUGFsZXR0ZSxcbiAgcGlja1VwUGFsZXR0ZSxcbiAgZ2V0UGFsZXR0ZUJ5VHlwZSxcbiAgUG9zaXRpb25IZWlnaHQsXG4gIFBvc2l0aW9uSW5mbyxcbiAgUG9zaXRpb25Nb25vbWVySW5mbyxcbiAgV2ViTG9nb1ZpZXdlcixcbiAgVW5pdHNIYW5kbGVyLFxuICBEcmF3U3R5bGUsXG4gIHByaW50TGVmdE9yQ2VudGVyZWQsXG4gIEZhc3RhRmlsZUhhbmRsZXIsXG4gIFZkUmVnaW9uVHlwZSxcbiAgVmRSZWdpb24sXG4gIElWZFJlZ2lvbnNWaWV3ZXIsXG5cbiAgTm9kZVR5cGUsIGlzTGVhZiwgTm9kZUN1dHRlZFR5cGUsXG4gIFBoeWxvY2FudmFzVHJlZU5vZGUsXG4gIE5vZGVTdHlsZVR5cGUsIFN0eWxlc1R5cGUsXG5cbiAgSVBoeWxvY2FudmFzR2xWaWV3ZXIsXG4gIFRyZWVUeXBlc05hbWVzLFxuICBQaHlsb2NhbnZhc0dsU2VydmljZUJhc2UsXG4gIENhbnZhc0NhbGxiYWNrLFxuICBQaHlsb2NhbnZhc0dsVGFzayxcbiAgZ2V0UGh5bG9jYW52YXNHbFNlcnZpY2UsXG5cbiAgUGh5bG9jYW52YXNHTCxcbiAgU2hhcGVzLCBUcmVlVHlwZXMsXG4gIFV0aWxzLFxuICBOZXdpY2ssXG4gIElOZXdpY2tIZWxwZXIsXG5cbiAgTW9ub21lcixcbiAgSU1vbm9tZXJMaWIsXG4gIGdldE1vbm9tZXJMaWIsXG4gIE1vbm9tZXJXb3Jrcyxcbn07XG4iXX0=
22
+ export { NotationConverter, getStats, getAlphabetSimilarity, getSplitter, splitterAsFasta, splitterAsHelm, getSplitterForColumn, monomerToShort, splitAlignedSequences, SeqPaletteBase, Aminoacids, AminoacidsPalettes, Nucleotides, NucleotidesPalettes, UnknownSeqPalettes, UnknownSeqPalette, pickUpPalette, getPaletteByType, PositionHeight, PositionInfo, PositionMonomerInfo, WebLogoViewer, UnitsHandler, DrawStyle, printLeftOrCentered, FastaFileHandler, VdRegionType, VdRegion, isLeaf, TreeTypesNames, PhylocanvasGlServiceBase, getPhylocanvasGlService, PhylocanvasGL, Shapes, TreeTypes, Utils, Newick, getTreeHelper, getMonomerLib, MonomerWorks, };
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBQ1osT0FBTyxFQUFzQixNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUNsRyxZQUFZO0FBQ1osT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBRTFELE9BQU8sRUFBQyxVQUFVLEVBQUUsa0JBQWtCLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUFDLFdBQVcsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ25FLE9BQU8sRUFBYSxjQUFjLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUM5RCxPQUFPLEVBQWlDLE1BQU0sRUFBaUIsTUFBTSxhQUFhLENBQUM7QUFDbkYsT0FBTyxFQUFDLGlCQUFpQixFQUFFLGtCQUFrQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBQyxTQUFTLEVBQUUsbUJBQW1CLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQ0wsV0FBVyxFQUNYLGVBQWUsRUFDZixvQkFBb0IsRUFFcEIsY0FBYyxFQUNkLGNBQWMsRUFDZCxRQUFRLEVBQ1IsYUFBYSxFQUNiLGdCQUFnQixFQUNoQixxQkFBcUIsRUFLdEIsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFFdEQsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDM0QsT0FBTyxFQUFDLGFBQWEsRUFBYyxNQUFNLHlCQUF5QixDQUFDO0FBQ25FLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsUUFBUSxFQUFFLFlBQVksRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3hELE9BQU8sRUFFTCx1QkFBdUIsRUFHdkIsd0JBQXdCLEVBR3hCLGNBQWMsRUFDZixNQUFNLHFDQUFxQyxDQUFDO0FBRTdDLE9BQU8sRUFBQyxjQUFjLEVBQUUsWUFBWSxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBRy9HLE9BQU8sRUFLTCxpQkFBaUIsRUFFakIsUUFBUSxFQUNSLHFCQUFxQixFQUNyQixXQUFXLEVBQ1gsZUFBZSxFQUNmLGNBQWMsRUFDZCxvQkFBb0IsRUFDcEIsY0FBYyxFQUNkLHFCQUFxQixFQUVyQixjQUFjLEVBQ2QsVUFBVSxFQUNWLGtCQUFrQixFQUNsQixXQUFXLEVBQ1gsbUJBQW1CLEVBQ25CLGtCQUFrQixFQUNsQixpQkFBaUIsRUFDakIsYUFBYSxFQUNiLGdCQUFnQixFQUNoQixjQUFjLEVBQ2QsWUFBWSxFQUNaLG1CQUFtQixFQUNuQixhQUFhLEVBQ2IsWUFBWSxFQUNaLFNBQVMsRUFDVCxtQkFBbUIsRUFDbkIsZ0JBQWdCLEVBQ2hCLFlBQVksRUFDWixRQUFRLEVBR0UsTUFBTSxFQUtoQixjQUFjLEVBQ2Qsd0JBQXdCLEVBR3hCLHVCQUF1QixFQUV2QixhQUFhLEVBQ2IsTUFBTSxFQUFFLFNBQVMsRUFDakIsS0FBSyxFQUNMLE1BQU0sRUFHTixhQUFhLEVBSWIsYUFBYSxFQUNiLFlBQVksR0FDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy9AdHMtaWdub3JlXG5pbXBvcnQge1BoeWxvY2FudmFzVHJlZU5vZGUsIE5ld2ljaywgVXRpbHMsIFNoYXBlcywgVHJlZVR5cGVzfSBmcm9tICdAcGh5bG9jYW52YXMvcGh5bG9jYW52YXMuZ2wnO1xuLy9AdHMtaWdub3JlXG5pbXBvcnQge1BoeWxvY2FudmFzR0x9IGZyb20gJ0BwaHlsb2NhbnZhcy9waHlsb2NhbnZhcy5nbCc7XG5cbmltcG9ydCB7QW1pbm9hY2lkcywgQW1pbm9hY2lkc1BhbGV0dGVzfSBmcm9tICcuL3NyYy9hbWlub2FjaWRzJztcbmltcG9ydCB7TW9ub21lcldvcmtzfSBmcm9tICcuL3NyYy9tb25vbWVyLXdvcmtzJztcbmltcG9ydCB7TnVjbGVvdGlkZXMsIE51Y2xlb3RpZGVzUGFsZXR0ZXN9IGZyb20gJy4vc3JjL251Y2xlb3RpZGVzJztcbmltcG9ydCB7U2VxUGFsZXR0ZSwgU2VxUGFsZXR0ZUJhc2V9IGZyb20gJy4vc3JjL3NlcS1wYWxldHRlcyc7XG5pbXBvcnQge0lNb25vbWVyTGliLCBNb25vbWVyLCBOb2RlVHlwZSwgaXNMZWFmLCBOb2RlQ3V0dGVkVHlwZX0gZnJvbSAnLi9zcmMvdHlwZXMnO1xuaW1wb3J0IHtVbmtub3duU2VxUGFsZXR0ZSwgVW5rbm93blNlcVBhbGV0dGVzfSBmcm9tICcuL3NyYy91bmtub3duJztcbmltcG9ydCB7RHJhd1N0eWxlLCBwcmludExlZnRPckNlbnRlcmVkfSBmcm9tICcuL3NyYy91dGlscy9jZWxsLXJlbmRlcmVyJztcbmltcG9ydCB7RmFzdGFGaWxlSGFuZGxlcn0gZnJvbSAnLi9zcmMvdXRpbHMvZmFzdGEtaGFuZGxlcic7XG5pbXBvcnQge1xuICBnZXRTcGxpdHRlcixcbiAgc3BsaXR0ZXJBc0Zhc3RhLFxuICBnZXRTcGxpdHRlckZvckNvbHVtbixcbiAgU3BsaXR0ZXJGdW5jLFxuICBtb25vbWVyVG9TaG9ydCxcbiAgc3BsaXR0ZXJBc0hlbG0sXG4gIGdldFN0YXRzLFxuICBwaWNrVXBQYWxldHRlLFxuICBnZXRQYWxldHRlQnlUeXBlLFxuICBnZXRBbHBoYWJldFNpbWlsYXJpdHksXG4gIEFMUEhBQkVULFxuICBOT1RBVElPTixcbiAgVEFHUyxcbiAgQUxJR05NRU5UXG59IGZyb20gJy4vc3JjL3V0aWxzL21hY3JvbW9sZWN1bGUnO1xuaW1wb3J0IHtnZXRNb25vbWVyTGlifSBmcm9tICcuL3NyYy91dGlscy9tb25vbWVyLWxpYic7XG5pbXBvcnQge0lOZXdpY2tIZWxwZXJ9IGZyb20gJy4vc3JjL3V0aWxzL25ld2ljay1oZWxwZXInO1xuaW1wb3J0IHtOb3RhdGlvbkNvbnZlcnRlcn0gZnJvbSAnLi9zcmMvdXRpbHMvbm90YXRpb24tY29udmVydGVyJztcbmltcG9ydCB7c3BsaXRBbGlnbmVkU2VxdWVuY2VzfSBmcm9tICcuL3NyYy91dGlscy9zcGxpdHRlcic7XG5pbXBvcnQge2dldFRyZWVIZWxwZXIsIElUcmVlSGVscGVyfSBmcm9tICcuL3NyYy91dGlscy90cmVlLWhlbHBlcic7XG5pbXBvcnQge1VuaXRzSGFuZGxlcn0gZnJvbSAnLi9zcmMvdXRpbHMvdW5pdHMtaGFuZGxlcic7XG5pbXBvcnQge1ZkUmVnaW9uLCBWZFJlZ2lvblR5cGV9IGZyb20gJy4vc3JjL3ZkLXJlZ2lvbnMnO1xuaW1wb3J0IHtcbiAgQ2FudmFzQ2FsbGJhY2ssXG4gIGdldFBoeWxvY2FudmFzR2xTZXJ2aWNlLFxuICBJUGh5bG9jYW52YXNHbFZpZXdlcixcbiAgTm9kZVN0eWxlVHlwZSxcbiAgUGh5bG9jYW52YXNHbFNlcnZpY2VCYXNlLFxuICBQaHlsb2NhbnZhc0dsVGFzayxcbiAgU3R5bGVzVHlwZSxcbiAgVHJlZVR5cGVzTmFtZXNcbn0gZnJvbSAnLi9zcmMvdmlld2Vycy9waHlsb2NhbnZhcy1nbC12aWV3ZXInO1xuaW1wb3J0IHtJVmRSZWdpb25zVmlld2VyfSBmcm9tICcuL3NyYy92aWV3ZXJzL3ZkLXJlZ2lvbnMtdmlld2VyJztcbmltcG9ydCB7UG9zaXRpb25IZWlnaHQsIFBvc2l0aW9uSW5mbywgUG9zaXRpb25Nb25vbWVySW5mbywgV2ViTG9nb1ZpZXdlcn0gZnJvbSAnLi9zcmMvdmlld2Vycy93ZWItbG9nby12aWV3ZXInO1xuXG5cbmV4cG9ydCB7XG4gIEFMSUdOTUVOVCxcbiAgQUxQSEFCRVQsXG4gIE5PVEFUSU9OLFxuICBUQUdTLFxuICBOb3RhdGlvbkNvbnZlcnRlcixcbiAgU3BsaXR0ZXJGdW5jLFxuICBnZXRTdGF0cyxcbiAgZ2V0QWxwaGFiZXRTaW1pbGFyaXR5LFxuICBnZXRTcGxpdHRlcixcbiAgc3BsaXR0ZXJBc0Zhc3RhLFxuICBzcGxpdHRlckFzSGVsbSxcbiAgZ2V0U3BsaXR0ZXJGb3JDb2x1bW4sXG4gIG1vbm9tZXJUb1Nob3J0LFxuICBzcGxpdEFsaWduZWRTZXF1ZW5jZXMsXG4gIFNlcVBhbGV0dGUsXG4gIFNlcVBhbGV0dGVCYXNlLFxuICBBbWlub2FjaWRzLFxuICBBbWlub2FjaWRzUGFsZXR0ZXMsXG4gIE51Y2xlb3RpZGVzLFxuICBOdWNsZW90aWRlc1BhbGV0dGVzLFxuICBVbmtub3duU2VxUGFsZXR0ZXMsXG4gIFVua25vd25TZXFQYWxldHRlLFxuICBwaWNrVXBQYWxldHRlLFxuICBnZXRQYWxldHRlQnlUeXBlLFxuICBQb3NpdGlvbkhlaWdodCxcbiAgUG9zaXRpb25JbmZvLFxuICBQb3NpdGlvbk1vbm9tZXJJbmZvLFxuICBXZWJMb2dvVmlld2VyLFxuICBVbml0c0hhbmRsZXIsXG4gIERyYXdTdHlsZSxcbiAgcHJpbnRMZWZ0T3JDZW50ZXJlZCxcbiAgRmFzdGFGaWxlSGFuZGxlcixcbiAgVmRSZWdpb25UeXBlLFxuICBWZFJlZ2lvbixcbiAgSVZkUmVnaW9uc1ZpZXdlcixcblxuICBOb2RlVHlwZSwgaXNMZWFmLCBOb2RlQ3V0dGVkVHlwZSxcbiAgUGh5bG9jYW52YXNUcmVlTm9kZSxcbiAgTm9kZVN0eWxlVHlwZSwgU3R5bGVzVHlwZSxcblxuICBJUGh5bG9jYW52YXNHbFZpZXdlcixcbiAgVHJlZVR5cGVzTmFtZXMsXG4gIFBoeWxvY2FudmFzR2xTZXJ2aWNlQmFzZSxcbiAgQ2FudmFzQ2FsbGJhY2ssXG4gIFBoeWxvY2FudmFzR2xUYXNrLFxuICBnZXRQaHlsb2NhbnZhc0dsU2VydmljZSxcblxuICBQaHlsb2NhbnZhc0dMLFxuICBTaGFwZXMsIFRyZWVUeXBlcyxcbiAgVXRpbHMsXG4gIE5ld2ljayxcbiAgSU5ld2lja0hlbHBlcixcbiAgSVRyZWVIZWxwZXIsXG4gIGdldFRyZWVIZWxwZXIsXG5cbiAgTW9ub21lcixcbiAgSU1vbm9tZXJMaWIsXG4gIGdldE1vbm9tZXJMaWIsXG4gIE1vbm9tZXJXb3Jrcyxcbn07XG4iXX0=
package/index.ts CHANGED
@@ -31,6 +31,7 @@ import {getMonomerLib} from './src/utils/monomer-lib';
31
31
  import {INewickHelper} from './src/utils/newick-helper';
32
32
  import {NotationConverter} from './src/utils/notation-converter';
33
33
  import {splitAlignedSequences} from './src/utils/splitter';
34
+ import {getTreeHelper, ITreeHelper} from './src/utils/tree-helper';
34
35
  import {UnitsHandler} from './src/utils/units-handler';
35
36
  import {VdRegion, VdRegionType} from './src/vd-regions';
36
37
  import {
@@ -100,6 +101,8 @@ export {
100
101
  Utils,
101
102
  Newick,
102
103
  INewickHelper,
104
+ ITreeHelper,
105
+ getTreeHelper,
103
106
 
104
107
  Monomer,
105
108
  IMonomerLib,
package/package.json CHANGED
@@ -4,15 +4,16 @@
4
4
  "access": "public"
5
5
  },
6
6
  "friendlyName": "Datagrok bio library",
7
- "version": "5.8.0",
7
+ "version": "5.9.0",
8
8
  "description": "",
9
9
  "dependencies": {
10
10
  "@datagrok-libraries/utils": "^1.10.1",
11
11
  "@phylocanvas/phylocanvas.gl": "1.44.0",
12
12
  "cash-dom": "latest",
13
- "datagrok-api": "^1.7.0",
13
+ "datagrok-api": "^1.8.2",
14
14
  "dayjs": "latest",
15
15
  "deck.gl": "8.8.12",
16
+ "mjolnir.js": "^2.7.0",
16
17
  "rxjs": "^6.5.5",
17
18
  "wu": "latest"
18
19
  },
@@ -26,7 +26,7 @@ export declare enum DrawStyle {
26
26
  * @param maxLengthOfMonomer Is max length of monomer.
27
27
  * @return {number} x coordinate to start printing at.
28
28
  */
29
- export declare function printLeftOrCentered(x: number, y: number, w: number, h: number, g: CanvasRenderingContext2D, s: string, color?: string, pivot?: number, left?: boolean, transparencyRate?: number, separator?: string, last?: boolean, drawStyle?: DrawStyle, maxWord?: {
29
+ export declare const printLeftOrCentered: (x: number, y: number, w: number, h: number, g: CanvasRenderingContext2D, s: string, color?: string, pivot?: number, left?: boolean, transparencyRate?: number, separator?: string, last?: boolean, drawStyle?: DrawStyle, maxWord?: {
30
30
  [index: string]: number;
31
- }, wordIdx?: number, gridCell?: DG.GridCell | null, referenceSequence?: string[], maxLengthOfMonomer?: number | null): number;
31
+ }, wordIdx?: number, gridCell?: DG.GridCell | null, referenceSequence?: string[], maxLengthOfMonomer?: number | null) => number;
32
32
  //# sourceMappingURL=cell-renderer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cell-renderer.d.ts","sourceRoot":"","sources":["cell-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAStC,oBAAY,SAAS;IACnB,GAAG,QAAQ;IACX,OAAO,YAAY;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,mBAAmB,CACjC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAC1C,CAAC,EAAE,wBAAwB,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,GAAE,MAAuB,EACtE,KAAK,GAAE,MAAU,EAAE,IAAI,UAAQ,EAAE,gBAAgB,GAAE,MAAY,EAC/D,SAAS,GAAE,MAAW,EAAE,IAAI,GAAE,OAAe,EAAE,SAAS,GAAE,SAA6B,EAAE,OAAO,GAAE;IAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;CAAO,EAAE,OAAO,GAAE,MAAU,EAAE,QAAQ,GAAE,EAAE,CAAC,QAAQ,GAAG,IAAW,EAAE,iBAAiB,GAAE,MAAM,EAAO,EAAE,kBAAkB,GAAE,MAAM,GAAG,IAAW,GAAG,MAAM,CAgElR"}
1
+ {"version":3,"file":"cell-renderer.d.ts","sourceRoot":"","sources":["cell-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAStC,oBAAY,SAAS;IACnB,GAAG,QAAQ;IACX,OAAO,YAAY;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,mBAAmB,MAC3B,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,KACvC,wBAAwB,KAAK,MAAM,UAAS,MAAM,UAC9C,MAAM,qCAAsC,MAAM,cAC9C,MAAM,SAAa,OAAO,cAAqB,SAAS;;aAA0E,MAAM,aAAgB,GAAG,QAAQ,GAAG,IAAI,sBAA4B,MAAM,EAAE,uBAA2B,MAAM,GAAG,IAAI,KAAU,MAgE5Q,CAAC"}
@@ -31,7 +31,7 @@ export var DrawStyle;
31
31
  * @param maxLengthOfMonomer Is max length of monomer.
32
32
  * @return {number} x coordinate to start printing at.
33
33
  */
34
- export function printLeftOrCentered(x, y, w, h, g, s, color = undefinedColor, pivot = 0, left = false, transparencyRate = 1.0, separator = '', last = false, drawStyle = DrawStyle.classic, maxWord = {}, wordIdx = 0, gridCell = null, referenceSequence = [], maxLengthOfMonomer = null) {
34
+ export const printLeftOrCentered = (x, y, w, h, g, s, color = undefinedColor, pivot = 0, left = false, transparencyRate = 1.0, separator = '', last = false, drawStyle = DrawStyle.classic, maxWord = {}, wordIdx = 0, gridCell = null, referenceSequence = [], maxLengthOfMonomer = null) => {
35
35
  var _a, _b, _c;
36
36
  g.textAlign = 'start';
37
37
  let colorPart = s.substring(0);
@@ -61,7 +61,7 @@ export function printLeftOrCentered(x, y, w, h, g, s, color = undefinedColor, pi
61
61
  const indent = 5;
62
62
  let maxColorTextSize = g.measureText(colorPart).width;
63
63
  let colorTextSize = g.measureText(colorPart).width;
64
- const dy = (textSize.fontBoundingBoxAscent + textSize.fontBoundingBoxDescent) / 2;
64
+ const dy = h / 2 - (textSize.fontBoundingBoxAscent + textSize.fontBoundingBoxDescent) / 2 + 1;
65
65
  textSize = textSize.width;
66
66
  if (drawStyle === DrawStyle.MSA) {
67
67
  maxColorTextSize = maxWord[wordIdx];
@@ -90,5 +90,5 @@ export function printLeftOrCentered(x, y, w, h, g, s, color = undefinedColor, pi
90
90
  draw(dx, dx + maxColorTextSize);
91
91
  return x + dx + maxColorTextSize;
92
92
  }
93
- }
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC1yZW5kZXJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNlbGwtcmVuZGVyZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE1BQU0sY0FBYyxHQUFHLGtCQUFrQixDQUFDO0FBQzFDLE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQztBQUM1QixNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUM7QUFDaEMsTUFBTSxzQkFBc0IsR0FBMEQsY0FBYyxDQUFDO0FBRXJHLE1BQU0sQ0FBTixJQUFZLFNBR1g7QUFIRCxXQUFZLFNBQVM7SUFDbkIsd0JBQVcsQ0FBQTtJQUNYLGdDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFIVyxTQUFTLEtBQVQsU0FBUyxRQUdwQjtBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBQ0gsTUFBTSxVQUFVLG1CQUFtQixDQUNqQyxDQUFTLEVBQUUsQ0FBUyxFQUFFLENBQVMsRUFBRSxDQUFTLEVBQzFDLENBQTJCLEVBQUUsQ0FBUyxFQUFFLFFBQWdCLGNBQWMsRUFDdEUsUUFBZ0IsQ0FBQyxFQUFFLElBQUksR0FBRyxLQUFLLEVBQUUsbUJBQTJCLEdBQUcsRUFDL0QsWUFBb0IsRUFBRSxFQUFFLE9BQWdCLEtBQUssRUFBRSxZQUF1QixTQUFTLENBQUMsT0FBTyxFQUFFLFVBQXVDLEVBQUUsRUFBRSxVQUFrQixDQUFDLEVBQUUsV0FBK0IsSUFBSSxFQUFFLG9CQUE4QixFQUFFLEVBQUUscUJBQW9DLElBQUk7O0lBQ3hRLENBQUMsQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDO0lBQ3RCLElBQUksU0FBUyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0IsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNyQyxJQUFJLFNBQVMs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RSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDdkMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7WUFDeEIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7U0FDdkM7UUFDRCxJQUFJLFNBQVMsS0FBSyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQy9CLENBQUMsQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1lBQ3hCLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7U0FDbkY7SUFDSCxDQUFDO0lBRUQsSUFBSSxJQUFJLElBQUksUUFBUSxHQUFHLENBQUMsRUFBRTtRQUN4QixJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sQ0FBQyxHQUFHLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDO0tBRTdEO1NBQU07UUFDTCxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQztRQUNoQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsZ0JBQWdCLENBQUM7S0FDbEM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgREcgZnJvbSAnZGF0YWdyb2stYXBpL2RnJztcblxuaW1wb3J0IHttb25vbWVyVG9TaG9ydH0gZnJvbSAnLi9tYWNyb21vbGVjdWxlJztcblxuY29uc3QgdW5kZWZpbmVkQ29sb3IgPSAncmdiKDEwMCwxMDAsMTAwKSc7XG5jb25zdCBncmF5Q29sb3IgPSAnIzgwODA4MCc7XG5jb25zdCBibGFja0NvbG9yID0gJ3JnYigwLDAsMCknO1xuY29uc3QgbW9ub21lclRvU2hvcnRGdW5jdGlvbjogKGFtaW5vOiBzdHJpbmcsIG1heExlbmd0aE9mTW9ub21lcjogbnVtYmVyKSA9PiBzdHJpbmcgPSBtb25vbWVyVG9TaG9ydDtcblxuZXhwb3J0IGVudW0gRHJhd1N0eWxlIHtcbiAgTVNBID0gJ01TQScsXG4gIGNsYXNzaWMgPSAnY2xhc3NpYycsXG59XG5cbi8qKlxuICogQSBmdW5jdGlvbiB0aGF0IHByaW50cyBhIHN0cmluZyBhbGlnbmVkIHRvIGxlZnQgb3IgY2VudGVyZWQuXG4gKlxuICogQHBhcmFtIHtudW1iZXJ9IHggeCBjb29yZGluYXRlLlxuICogQHBhcmFtIHtudW1iZXJ9IHkgeSBjb29yZGluYXRlLlxuICogQHBhcmFtIHtudW1iZXJ9IHcgV2lkdGguXG4gKiBAcGFyYW0ge251bWJlcn0gaCBIZWlnaHQuXG4gKiBAcGFyYW0ge0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRH0gZyBDYW52YXMgcmVuZGVyaW5nIGNvbnRleHQuXG4gKiBAcGFyYW0ge3N0cmluZ30gcyBTdHJpbmcgdG8gcHJpbnQuXG4gKiBAcGFyYW0ge3N0cmluZ30gW2NvbG9yPXVuZGVmaW5lZENvbG9yXSBTdHJpbmcgY29sb3IuXG4gKiBAcGFyYW0ge251bWJlcn0gW3Bpdm90PTBdIFBpcnZvdC5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW2xlZnQ9ZmFsc2VdIElzIGxlZnQgYWxpZ25lZC5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbdHJhbnNwYXJlbmN5UmF0ZT0wLjBdIFRyYW5zcGFyZW5jeSByYXRlIHdoZXJlIDEuMCBpcyBmdWxseSB0cmFuc3BhcmVudFxuICogQHBhcmFtIHtzdHJpbmd9IFtzZXBhcmF0b3I9JyddIElzIHNlcGFyYXRvciBmb3Igc2VxdWVuY2UuXG4gKiBAcGFyYW0ge2Jvb2xlYW59IFtsYXN0PWZhbHNlXSBJcyBjaGVja2VyIGlmIGVsZW1lbnQgbGFzdCBvciBub3QuXG4gKiBAcGFyYW0gZHJhd1N0eWxlIElzIGRyYXcgc3R5bGUuIE1TQSAtIGZvciBtdWx0aWNoYXJTZXEsIGNsYXNzaWMgLSBmb3Igb3RoZXIgc2VxLlxuICogQHBhcmFtIG1heFdvcmQgSXMgYXJyYXkgb2YgbWF4IHdvcmRzIGZvciBlYWNoIGxpbmUuXG4gKiBAcGFyYW0gd29yZElkeCBJcyBpbmRleCBvZiB3b3JkIHdlIGN1cnJlbnRseSBkcmF3LlxuICogQHBhcmFtIGdyaWRDZWxsIElzIGdyaWQgY2VsbC5cbiAqIEBwYXJhbSByZWZlcmVuY2VTZXF1ZW5jZSBJcyByZWZlcmVuY2Ugc2VxdWVuY2UgZm9yIGRpZmYgbW9kZS5cbiAqIEBwYXJhbSBtYXhMZW5ndGhPZk1vbm9tZXIgSXMgbWF4IGxlbmd0aCBvZiBtb25vbWVyLlxuICogQHJldHVybiB7bnVtYmVyfSB4IGNvb3JkaW5hdGUgdG8gc3RhcnQgcHJpbnRpbmcgYXQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcmludExlZnRPckNlbnRlcmVkKFxuICB4OiBudW1iZXIsIHk6IG51bWJlciwgdzogbnVtYmVyLCBoOiBudW1iZXIsXG4gIGc6IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCwgczogc3RyaW5nLCBjb2xvcjogc3RyaW5nID0gdW5kZWZpbmVkQ29sb3IsXG4gIHBpdm90OiBudW1iZXIgPSAwLCBsZWZ0ID0gZmFsc2UsIHRyYW5zcGFyZW5jeVJhdGU6IG51bWJlciA9IDEuMCxcbiAgc2VwYXJhdG9yOiBzdHJpbmcgPSAnJywgbGFzdDogYm9vbGVhbiA9IGZhbHNlLCBkcmF3U3R5bGU6IERyYXdTdHlsZSA9IERyYXdTdHlsZS5jbGFzc2ljLCBtYXhXb3JkOiB7IFtpbmRleDogc3RyaW5nXTogbnVtYmVyIH0gPSB7fSwgd29yZElkeDogbnVtYmVyID0gMCwgZ3JpZENlbGw6IERHLkdyaWRDZWxsIHwgbnVsbCA9IG51bGwsIHJlZmVyZW5jZVNlcXVlbmNlOiBzdHJpbmdbXSA9IFtdLCBtYXhMZW5ndGhPZk1vbm9tZXI6IG51bWJlciB8IG51bGwgPSBudWxsKTogbnVtYmVyIHtcbiAgZy50ZXh0QWxpZ24gPSAnc3RhcnQnO1xuICBsZXQgY29sb3JQYXJ0ID0gcy5zdWJzdHJpbmcoMCk7XG4gIGxldCBncmF5UGFydCA9IGxhc3QgPyAnJyA6IHNlcGFyYXRvcjtcbiAgaWYgKGRyYXdTdHlsZSA9PT0gRHJhd1N0eWxlLk1TQSkge1xuICAgIGdyYXlQYXJ0ID0gJyc7XG4gIH1cbiAgbGV0IGNvbG9yQ29kZSA9IHRydWU7XG4gIGxldCBjb21wYXJlV2l0aEN1cnJlbnQgPSB0cnVlO1xuICBsZXQgaGlnaGxpZ2h0RGlmZmVyZW5jZSA9ICdkaWZmZXJlbmNlJztcbiAgaWYgKChncmlkQ2VsbCAhPSBudWxsKSAmJiAoZ3JpZENlbGwuY2VsbC5jb2x1bW4gIT0gbnVsbCkpIHtcbiAgICBjb2xvckNvZGUgPSBncmlkQ2VsbC5jZWxsLmNvbHVtbi50ZW1wWydjb2xvci1jb2RlJ10gPz8gdHJ1ZTtcbiAgICBjb21wYXJlV2l0aEN1cnJlbnQgPSBncmlkQ2VsbC5jZWxsLmNvbHVtbi50ZW1wWydjb21wYXJlLXdpdGgtY3VycmVudCddID8/IHRydWU7XG4gICAgaGlnaGxpZ2h0RGlmZmVyZW5jZSA9IGdyaWRDZWxsLmNlbGwuY29sdW1uLnRlbXBbJ2hpZ2hsaWdodC1kaWZmZXJlbmNlJ10gPz8gJ2RpZmZlcmVuY2UnO1xuXG4gIH1cbiAgY29uc3QgY3VycmVudE1vbm9tZXI6IHN0cmluZyA9IHJlZmVyZW5jZVNlcXVlbmNlW3dvcmRJZHhdO1xuICBpZiAoY29tcGFyZVdpdGhDdXJyZW50ICYmIChyZWZlcmVuY2VTZXF1ZW5jZS5sZW5ndGggPiAwKSAmJiAoaGlnaGxpZ2h0RGlmZmVyZW5jZSA9PT0gJ2RpZmZlcmVuY2UnKSkge1xuICAgIHRyYW5zcGFyZW5jeVJhdGUgPSAoY29sb3JQYXJ0ID09IGN1cnJlbnRNb25vbWVyKSA/IDAuMyA6IHRyYW5zcGFyZW5jeVJhdGU7XG4gIH1cbiAgaWYgKGNvbXBhcmVXaXRoQ3VycmVudCAmJiAocmVmZXJlbmNlU2VxdWVuY2UubGVuZ3RoID4gMCkgJiYgKGhpZ2hsaWdodERpZmZlcmVuY2UgPT09ICdlcXVhbCcpKSB7XG4gICAgdHJhbnNwYXJlbmN5UmF0ZSA9IChjb2xvclBhcnQgIT0gY3VycmVudE1vbm9tZXIpID8gMC4zIDogdHJhbnNwYXJlbmN5UmF0ZTtcbiAgfVxuICBpZiAobWF4TGVuZ3RoT2ZNb25vbWVyICE9IG51bGwpIHtcbiAgICBjb2xvclBhcnQgPSBtb25vbWVyVG9TaG9ydEZ1bmN0aW9uKGNvbG9yUGFydCwgbWF4TGVuZ3RoT2ZNb25vbWVyKTtcbiAgfVxuXG5cbiAgbGV0IHRleHRTaXplOiBhbnkgPSBnLm1lYXN1cmVUZXh0KGNvbG9yUGFydCArIGdyYXlQYXJ0KTtcbiAgY29uc3QgaW5kZW50ID0gNTtcblxuICBsZXQgbWF4Q29sb3JUZXh0U2l6ZSA9IGcubWVhc3VyZVRleHQoY29sb3JQYXJ0KS53aWR0aDtcbiAgbGV0IGNvbG9yVGV4dFNpemUgPSBnLm1lYXN1cmVUZXh0KGNvbG9yUGFydCkud2lkdGg7XG4gIGNvbnN0IGR5ID0gKHRleHRTaXplLmZvbnRCb3VuZGluZ0JveEFzY2VudCArIHRleHRTaXplLmZvbnRCb3VuZGluZ0JveERlc2NlbnQpIC8gMjtcbiAgdGV4dFNpemUgPSB0ZXh0U2l6ZS53aWR0aDtcbiAgaWYgKGRyYXdTdHlsZSA9PT0gRHJhd1N0eWxlLk1TQSkge1xuICAgIG1heENvbG9yVGV4dFNpemUgPSBtYXhXb3JkW3dvcmRJZHhdO1xuICAgIHRleHRTaXplID0gbWF4V29yZFt3b3JkSWR4XTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGRyYXcoZHgxOiBudW1iZXIsIGR4MjogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3QgZHJhd0NvbG9yID0gY29sb3JDb2RlID8gY29sb3IgOiBibGFja0NvbG9yO1xuICAgIGcuZmlsbFN0eWxlID0gZHJhd0NvbG9yO1xuICAgIGcuZ2xvYmFsQWxwaGEgPSB0cmFuc3BhcmVuY3lSYXRlO1xuICAgIGlmIChkcmF3U3R5bGUgPT09IERyYXdTdHlsZS5jbGFzc2ljKSB7XG4gICAgICBnLmZpbGxUZXh0KGNvbG9yUGFydCwgeCArIGR4MSwgeSArIGR5KTtcbiAgICAgIGcuZmlsbFN0eWxlID0gZ3JheUNvbG9yO1xuICAgICAgZy5maWxsVGV4dChncmF5UGFydCwgeCArIGR4MiwgeSArIGR5KTtcbiAgICB9XG4gICAgaWYgKGRyYXdTdHlsZSA9PT0gRHJhd1N0eWxlLk1TQSkge1xuICAgICAgZy5maWxsU3R5bGUgPSBkcmF3Q29sb3I7XG4gICAgICBnLmZpbGxUZXh0KGNvbG9yUGFydCwgeCArIGR4MSArICgobWF4V29yZFt3b3JkSWR4XSAtIGNvbG9yVGV4dFNpemUpIC8gMiksIHkgKyBkeSk7XG4gICAgfVxuICB9XG5cbiAgaWYgKGxlZnQgfHwgdGV4dFNpemUgPiB3KSB7XG4gICAgZHJhdyhpbmRlbnQsIGluZGVudCArIG1heENvbG9yVGV4dFNpemUpO1xuICAgIHJldHVybiB4ICsgbWF4Q29sb3JUZXh0U2l6ZSArIGcubWVhc3VyZVRleHQoZ3JheVBhcnQpLndpZHRoO1xuXG4gIH0gZWxzZSB7XG4gICAgY29uc3QgZHggPSAodyAtIHRleHRTaXplKSAvIDI7XG4gICAgZHJhdyhkeCwgZHggKyBtYXhDb2xvclRleHRTaXplKTtcbiAgICByZXR1cm4geCArIGR4ICsgbWF4Q29sb3JUZXh0U2l6ZTtcbiAgfVxufVxuXG4iXX0=
93
+ };
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VsbC1yZW5kZXJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNlbGwtcmVuZGVyZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE1BQU0sY0FBYyxHQUFHLGtCQUFrQixDQUFDO0FBQzFDLE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQztBQUM1QixNQUFNLFVBQVUsR0FBRyxZQUFZLENBQUM7QUFDaEMsTUFBTSxzQkFBc0IsR0FBMEQsY0FBYyxDQUFDO0FBRXJHLE1BQU0sQ0FBTixJQUFZLFNBR1g7QUFIRCxXQUFZLFNBQVM7SUFDbkIsd0JBQVcsQ0FBQTtJQUNYLGdDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFIVyxTQUFTLEtBQVQsU0FBUyxRQUdwQjtBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FDakMsQ0FBUyxFQUFFLENBQVMsRUFBRSxDQUFTLEVBQUUsQ0FBUyxFQUMxQyxDQUEyQixFQUFFLENBQVMsRUFBRSxRQUFnQixjQUFjLEVBQ3RFLFFBQWdCLENBQUMsRUFBRSxJQUFJLEdBQUcsS0FBSyxFQUFFLG1CQUEyQixHQUFHLEVBQy9ELFlBQW9CLEVBQUUsRUFBRSxPQUFnQixLQUFLLEVBQUUsWUFBdUIsU0FBUyxDQUFDLE9BQU8sRUFBRSxVQUF1QyxFQUFFLEVBQUUsVUFBa0IsQ0FBQyxFQUFFLFdBQStCLElBQUksRUFBRSxvQkFBOEIsRUFBRSxFQUFFLHFCQUFvQyxJQUFJLEVBQVUsRUFBRTs7SUFDcFIsQ0FBQyxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUM7SUFDdEIsSUFBSSxTQUFTLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvQixJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxD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QyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUN2QyxDQUFDLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztZQUN4QixDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztTQUN2QztRQUNELElBQUksU0FBUyxLQUFLLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDL0IsQ0FBQyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7WUFDeEIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztTQUNuRjtJQUNILENBQUM7SUFFRCxJQUFJLElBQUksSUFBSSxRQUFRLEdBQUcsQ0FBQyxFQUFFO1FBQ3hCLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLGdCQUFnQixDQUFDLENBQUM7UUFDeEMsT0FBTyxDQUFDLEdBQUcsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxLQUFLLENBQUM7S0FFN0Q7U0FBTTtRQUNMLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxnQkFBZ0IsQ0FBQztLQUNsQztBQUNILENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIERHIGZyb20gJ2RhdGFncm9rLWFwaS9kZyc7XG5cbmltcG9ydCB7bW9ub21lclRvU2hvcnR9IGZyb20gJy4vbWFjcm9tb2xlY3VsZSc7XG5cbmNvbnN0IHVuZGVmaW5lZENvbG9yID0gJ3JnYigxMDAsMTAwLDEwMCknO1xuY29uc3QgZ3JheUNvbG9yID0gJyM4MDgwODAnO1xuY29uc3QgYmxhY2tDb2xvciA9ICdyZ2IoMCwwLDApJztcbmNvbnN0IG1vbm9tZXJUb1Nob3J0RnVuY3Rpb246IChhbWlubzogc3RyaW5nLCBtYXhMZW5ndGhPZk1vbm9tZXI6IG51bWJlcikgPT4gc3RyaW5nID0gbW9ub21lclRvU2hvcnQ7XG5cbmV4cG9ydCBlbnVtIERyYXdTdHlsZSB7XG4gIE1TQSA9ICdNU0EnLFxuICBjbGFzc2ljID0gJ2NsYXNzaWMnLFxufVxuXG4vKipcbiAqIEEgZnVuY3Rpb24gdGhhdCBwcmludHMgYSBzdHJpbmcgYWxpZ25lZCB0byBsZWZ0IG9yIGNlbnRlcmVkLlxuICpcbiAqIEBwYXJhbSB7bnVtYmVyfSB4IHggY29vcmRpbmF0ZS5cbiAqIEBwYXJhbSB7bnVtYmVyfSB5IHkgY29vcmRpbmF0ZS5cbiAqIEBwYXJhbSB7bnVtYmVyfSB3IFdpZHRoLlxuICogQHBhcmFtIHtudW1iZXJ9IGggSGVpZ2h0LlxuICogQHBhcmFtIHtDYW52YXNSZW5kZXJpbmdDb250ZXh0MkR9IGcgQ2FudmFzIHJlbmRlcmluZyBjb250ZXh0LlxuICogQHBhcmFtIHtzdHJpbmd9IHMgU3RyaW5nIHRvIHByaW50LlxuICogQHBhcmFtIHtzdHJpbmd9IFtjb2xvcj11bmRlZmluZWRDb2xvcl0gU3RyaW5nIGNvbG9yLlxuICogQHBhcmFtIHtudW1iZXJ9IFtwaXZvdD0wXSBQaXJ2b3QuXG4gKiBAcGFyYW0ge2Jvb2xlYW59IFtsZWZ0PWZhbHNlXSBJcyBsZWZ0IGFsaWduZWQuXG4gKiBAcGFyYW0ge251bWJlcn0gW3RyYW5zcGFyZW5jeVJhdGU9MC4wXSBUcmFuc3BhcmVuY3kgcmF0ZSB3aGVyZSAxLjAgaXMgZnVsbHkgdHJhbnNwYXJlbnRcbiAqIEBwYXJhbSB7c3RyaW5nfSBbc2VwYXJhdG9yPScnXSBJcyBzZXBhcmF0b3IgZm9yIHNlcXVlbmNlLlxuICogQHBhcmFtIHtib29sZWFufSBbbGFzdD1mYWxzZV0gSXMgY2hlY2tlciBpZiBlbGVtZW50IGxhc3Qgb3Igbm90LlxuICogQHBhcmFtIGRyYXdTdHlsZSBJcyBkcmF3IHN0eWxlLiBNU0EgLSBmb3IgbXVsdGljaGFyU2VxLCBjbGFzc2ljIC0gZm9yIG90aGVyIHNlcS5cbiAqIEBwYXJhbSBtYXhXb3JkIElzIGFycmF5IG9mIG1heCB3b3JkcyBmb3IgZWFjaCBsaW5lLlxuICogQHBhcmFtIHdvcmRJZHggSXMgaW5kZXggb2Ygd29yZCB3ZSBjdXJyZW50bHkgZHJhdy5cbiAqIEBwYXJhbSBncmlkQ2VsbCBJcyBncmlkIGNlbGwuXG4gKiBAcGFyYW0gcmVmZXJlbmNlU2VxdWVuY2UgSXMgcmVmZXJlbmNlIHNlcXVlbmNlIGZvciBkaWZmIG1vZGUuXG4gKiBAcGFyYW0gbWF4TGVuZ3RoT2ZNb25vbWVyIElzIG1heCBsZW5ndGggb2YgbW9ub21lci5cbiAqIEByZXR1cm4ge251bWJlcn0geCBjb29yZGluYXRlIHRvIHN0YXJ0IHByaW50aW5nIGF0LlxuICovXG5leHBvcnQgY29uc3QgcHJpbnRMZWZ0T3JDZW50ZXJlZCA9IChcbiAgeDogbnVtYmVyLCB5OiBudW1iZXIsIHc6IG51bWJlciwgaDogbnVtYmVyLFxuICBnOiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQsIHM6IHN0cmluZywgY29sb3I6IHN0cmluZyA9IHVuZGVmaW5lZENvbG9yLFxuICBwaXZvdDogbnVtYmVyID0gMCwgbGVmdCA9IGZhbHNlLCB0cmFuc3BhcmVuY3lSYXRlOiBudW1iZXIgPSAxLjAsXG4gIHNlcGFyYXRvcjogc3RyaW5nID0gJycsIGxhc3Q6IGJvb2xlYW4gPSBmYWxzZSwgZHJhd1N0eWxlOiBEcmF3U3R5bGUgPSBEcmF3U3R5bGUuY2xhc3NpYywgbWF4V29yZDogeyBbaW5kZXg6IHN0cmluZ106IG51bWJlciB9ID0ge30sIHdvcmRJZHg6IG51bWJlciA9IDAsIGdyaWRDZWxsOiBERy5HcmlkQ2VsbCB8IG51bGwgPSBudWxsLCByZWZlcmVuY2VTZXF1ZW5jZTogc3RyaW5nW10gPSBbXSwgbWF4TGVuZ3RoT2ZNb25vbWVyOiBudW1iZXIgfCBudWxsID0gbnVsbCk6IG51bWJlciA9PiB7XG4gIGcudGV4dEFsaWduID0gJ3N0YXJ0JztcbiAgbGV0IGNvbG9yUGFydCA9IHMuc3Vic3RyaW5nKDApO1xuICBsZXQgZ3JheVBhcnQgPSBsYXN0ID8gJycgOiBzZXBhcmF0b3I7XG4gIGlmIChkcmF3U3R5bGUgPT09IERyYXdTdHlsZS5NU0EpIHtcbiAgICBncmF5UGFydCA9ICcnO1xuICB9XG4gIGxldCBjb2xvckNvZGUgPSB0cnVlO1xuICBsZXQgY29tcGFyZVdpdGhDdXJyZW50ID0gdHJ1ZTtcbiAgbGV0IGhpZ2hsaWdodERpZmZlcmVuY2UgPSAnZGlmZmVyZW5jZSc7XG4gIGlmICgoZ3JpZENlbGwgIT0gbnVsbCkgJiYgKGdyaWRDZWxsLmNlbGwuY29sdW1uICE9IG51bGwpKSB7XG4gICAgY29sb3JDb2RlID0gZ3JpZENlbGwuY2VsbC5jb2x1bW4udGVtcFsnY29sb3ItY29kZSddID8/IHRydWU7XG4gICAgY29tcGFyZVdpdGhDdXJyZW50ID0gZ3JpZENlbGwuY2VsbC5jb2x1bW4udGVtcFsnY29tcGFyZS13aXRoLWN1cnJlbnQnXSA/PyB0cnVlO1xuICAgIGhpZ2hsaWdodERpZmZlcmVuY2UgPSBncmlkQ2VsbC5jZWxsLmNvbHVtbi50ZW1wWydoaWdobGlnaHQtZGlmZmVyZW5jZSddID8/ICdkaWZmZXJlbmNlJztcblxuICB9XG4gIGNvbnN0IGN1cnJlbnRNb25vbWVyOiBzdHJpbmcgPSByZWZlcmVuY2VTZXF1ZW5jZVt3b3JkSWR4XTtcbiAgaWYgKGNvbXBhcmVXaXRoQ3VycmVudCAmJiAocmVmZXJlbmNlU2VxdWVuY2UubGVuZ3RoID4gMCkgJiYgKGhpZ2hsaWdodERpZmZlcmVuY2UgPT09ICdkaWZmZXJlbmNlJykpIHtcbiAgICB0cmFuc3BhcmVuY3lSYXRlID0gKGNvbG9yUGFydCA9PSBjdXJyZW50TW9ub21lcikgPyAwLjMgOiB0cmFuc3BhcmVuY3lSYXRlO1xuICB9XG4gIGlmIChjb21wYXJlV2l0aEN1cnJlbnQgJiYgKHJlZmVyZW5jZVNlcXVlbmNlLmxlbmd0aCA+IDApICYmIChoaWdobGlnaHREaWZmZXJlbmNlID09PSAnZXF1YWwnKSkge1xuICAgIHRyYW5zcGFyZW5jeVJhdGUgPSAoY29sb3JQYXJ0ICE9IGN1cnJlbnRNb25vbWVyKSA/IDAuMyA6IHRyYW5zcGFyZW5jeVJhdGU7XG4gIH1cbiAgaWYgKG1heExlbmd0aE9mTW9ub21lciAhPSBudWxsKSB7XG4gICAgY29sb3JQYXJ0ID0gbW9ub21lclRvU2hvcnRGdW5jdGlvbihjb2xvclBhcnQsIG1heExlbmd0aE9mTW9ub21lcik7XG4gIH1cblxuXG4gIGxldCB0ZXh0U2l6ZTogYW55ID0gZy5tZWFzdXJlVGV4dChjb2xvclBhcnQgKyBncmF5UGFydCk7XG4gIGNvbnN0IGluZGVudCA9IDU7XG5cbiAgbGV0IG1heENvbG9yVGV4dFNpemUgPSBnLm1lYXN1cmVUZXh0KGNvbG9yUGFydCkud2lkdGg7XG4gIGxldCBjb2xvclRleHRTaXplID0gZy5tZWFzdXJlVGV4dChjb2xvclBhcnQpLndpZHRoO1xuICBjb25zdCBkeSA9IGggLyAyIC0gKHRleHRTaXplLmZvbnRCb3VuZGluZ0JveEFzY2VudCArIHRleHRTaXplLmZvbnRCb3VuZGluZ0JveERlc2NlbnQpIC8gMiArIDE7XG4gIHRleHRTaXplID0gdGV4dFNpemUud2lkdGg7XG4gIGlmIChkcmF3U3R5bGUgPT09IERyYXdTdHlsZS5NU0EpIHtcbiAgICBtYXhDb2xvclRleHRTaXplID0gbWF4V29yZFt3b3JkSWR4XTtcbiAgICB0ZXh0U2l6ZSA9IG1heFdvcmRbd29yZElkeF07XG4gIH1cblxuICBmdW5jdGlvbiBkcmF3KGR4MTogbnVtYmVyLCBkeDI6IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IGRyYXdDb2xvciA9IGNvbG9yQ29kZSA/IGNvbG9yIDogYmxhY2tDb2xvcjtcbiAgICBnLmZpbGxTdHlsZSA9IGRyYXdDb2xvcjtcbiAgICBnLmdsb2JhbEFscGhhID0gdHJhbnNwYXJlbmN5UmF0ZTtcbiAgICBpZiAoZHJhd1N0eWxlID09PSBEcmF3U3R5bGUuY2xhc3NpYykge1xuICAgICAgZy5maWxsVGV4dChjb2xvclBhcnQsIHggKyBkeDEsIHkgKyBkeSk7XG4gICAgICBnLmZpbGxTdHlsZSA9IGdyYXlDb2xvcjtcbiAgICAgIGcuZmlsbFRleHQoZ3JheVBhcnQsIHggKyBkeDIsIHkgKyBkeSk7XG4gICAgfVxuICAgIGlmIChkcmF3U3R5bGUgPT09IERyYXdTdHlsZS5NU0EpIHtcbiAgICAgIGcuZmlsbFN0eWxlID0gZHJhd0NvbG9yO1xuICAgICAgZy5maWxsVGV4dChjb2xvclBhcnQsIHggKyBkeDEgKyAoKG1heFdvcmRbd29yZElkeF0gLSBjb2xvclRleHRTaXplKSAvIDIpLCB5ICsgZHkpO1xuICAgIH1cbiAgfVxuXG4gIGlmIChsZWZ0IHx8IHRleHRTaXplID4gdykge1xuICAgIGRyYXcoaW5kZW50LCBpbmRlbnQgKyBtYXhDb2xvclRleHRTaXplKTtcbiAgICByZXR1cm4geCArIG1heENvbG9yVGV4dFNpemUgKyBnLm1lYXN1cmVUZXh0KGdyYXlQYXJ0KS53aWR0aDtcblxuICB9IGVsc2Uge1xuICAgIGNvbnN0IGR4ID0gKHcgLSB0ZXh0U2l6ZSkgLyAyO1xuICAgIGRyYXcoZHgsIGR4ICsgbWF4Q29sb3JUZXh0U2l6ZSk7XG4gICAgcmV0dXJuIHggKyBkeCArIG1heENvbG9yVGV4dFNpemU7XG4gIH1cbn07XG5cbiJdfQ==
@@ -0,0 +1,16 @@
1
+ import * as DG from 'datagrok-api/dg';
2
+ import { NodeType } from '../types';
3
+ export interface ITreeHelper {
4
+ toNewick(node: NodeType | null): string;
5
+ getLeafList(node: NodeType): NodeType[];
6
+ getNodeList(node: NodeType): NodeType[];
7
+ treeFilterByLeaves(node: NodeType, leaves: {
8
+ [name: string]: any;
9
+ }): NodeType | null;
10
+ treeCutAsLeaves(node: NodeType, cutHeight: number, currentHeight?: number): NodeType[];
11
+ treeCutAsTree(node: NodeType, cutHeight: number, currentHeight?: number): NodeType | null;
12
+ setGridOrder(node: NodeType, grid: DG.Grid, leafColName: string): [NodeType, string[]];
13
+ cutTreeToGrid(node: NodeType, cutHeight: number, dataDf: DG.DataFrame, leafColName: string, clusterColName: string): void;
14
+ }
15
+ export declare function getTreeHelper(): Promise<ITreeHelper>;
16
+ //# sourceMappingURL=tree-helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree-helper.d.ts","sourceRoot":"","sources":["tree-helper.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAC,QAAQ,EAAC,MAAM,UAAU,CAAC;AAGlC,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,MAAM,CAAC;IAExC,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAAC;IAExC,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAAC;IAExC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,QAAQ,GAAG,IAAI,CAAC;IAErF,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,EAAE,CAAC;IAEvF,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAC;IAE1F,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAEvF,aAAa,CAAC,IAAI,EAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1H;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,WAAW,CAAC,CAO1D"}
@@ -0,0 +1,20 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import * as DG from 'datagrok-api/dg';
11
+ export function getTreeHelper() {
12
+ return __awaiter(this, void 0, void 0, function* () {
13
+ const funcList = DG.Func.find({ package: 'PhyloTreeViewer', name: 'getTreeHelper' });
14
+ if (funcList.length === 0)
15
+ throw new Error('Package "PhyloTreeViewer"" must be installed for TreeHelper.');
16
+ const res = (yield funcList[0].prepare().call()).getOutputParamValue();
17
+ return res;
18
+ });
19
+ }
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0cmVlLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFFQSxPQUFPLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBdUJ0QyxNQUFNLFVBQWdCLGFBQWE7O1FBQ2pDLE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxlQUFlLEVBQUMsQ0FBQyxDQUFDO1FBQ25GLElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQ3ZCLE1BQU0sSUFBSSxLQUFLLENBQUMsOERBQThELENBQUMsQ0FBQztRQUVsRixNQUFNLEdBQUcsR0FBZ0IsQ0FBQyxNQUFNLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLG1CQUFtQixFQUFpQixDQUFDO1FBQ25HLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZ3JvayBmcm9tICdkYXRhZ3Jvay1hcGkvZ3Jvayc7XG5pbXBvcnQgKiBhcyB1aSBmcm9tICdkYXRhZ3Jvay1hcGkvdWknO1xuaW1wb3J0ICogYXMgREcgZnJvbSAnZGF0YWdyb2stYXBpL2RnJztcblxuaW1wb3J0IHtOb2RlVHlwZX0gZnJvbSAnLi4vdHlwZXMnO1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRyZWVIZWxwZXIge1xuICB0b05ld2ljayhub2RlOiBOb2RlVHlwZSB8IG51bGwpOiBzdHJpbmc7XG5cbiAgZ2V0TGVhZkxpc3Qobm9kZTogTm9kZVR5cGUpOiBOb2RlVHlwZVtdO1xuXG4gIGdldE5vZGVMaXN0KG5vZGU6IE5vZGVUeXBlKTogTm9kZVR5cGVbXTtcblxuICB0cmVlRmlsdGVyQnlMZWF2ZXMobm9kZTogTm9kZVR5cGUsIGxlYXZlczogeyBbbmFtZTogc3RyaW5nXTogYW55IH0pOiBOb2RlVHlwZSB8IG51bGw7XG5cbiAgdHJlZUN1dEFzTGVhdmVzKG5vZGU6IE5vZGVUeXBlLCBjdXRIZWlnaHQ6IG51bWJlciwgY3VycmVudEhlaWdodD86IG51bWJlcik6IE5vZGVUeXBlW107XG5cbiAgdHJlZUN1dEFzVHJlZShub2RlOiBOb2RlVHlwZSwgY3V0SGVpZ2h0OiBudW1iZXIsIGN1cnJlbnRIZWlnaHQ/OiBudW1iZXIpOiBOb2RlVHlwZSB8IG51bGw7XG5cbiAgc2V0R3JpZE9yZGVyKG5vZGU6IE5vZGVUeXBlLCBncmlkOiBERy5HcmlkLCBsZWFmQ29sTmFtZTogc3RyaW5nKTogW05vZGVUeXBlLCBzdHJpbmdbXV07XG5cbiAgY3V0VHJlZVRvR3JpZChub2RlOk5vZGVUeXBlLCBjdXRIZWlnaHQ6IG51bWJlciwgZGF0YURmOiBERy5EYXRhRnJhbWUsIGxlYWZDb2xOYW1lOiBzdHJpbmcsIGNsdXN0ZXJDb2xOYW1lOiBzdHJpbmcpOiB2b2lkO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0VHJlZUhlbHBlcigpOiBQcm9taXNlPElUcmVlSGVscGVyPiB7XG4gIGNvbnN0IGZ1bmNMaXN0ID0gREcuRnVuYy5maW5kKHtwYWNrYWdlOiAnUGh5bG9UcmVlVmlld2VyJywgbmFtZTogJ2dldFRyZWVIZWxwZXInfSk7XG4gIGlmIChmdW5jTGlzdC5sZW5ndGggPT09IDApXG4gICAgdGhyb3cgbmV3IEVycm9yKCdQYWNrYWdlIFwiUGh5bG9UcmVlVmlld2VyXCJcIiBtdXN0IGJlIGluc3RhbGxlZCBmb3IgVHJlZUhlbHBlci4nKTtcblxuICBjb25zdCByZXM6IElUcmVlSGVscGVyID0gKGF3YWl0IGZ1bmNMaXN0WzBdLnByZXBhcmUoKS5jYWxsKCkpLmdldE91dHB1dFBhcmFtVmFsdWUoKSBhcyBJVHJlZUhlbHBlcjtcbiAgcmV0dXJuIHJlcztcbn0iXX0=
@@ -1,5 +1,8 @@
1
1
  import * as DG from 'datagrok-api/dg';
2
2
  import { IViewer } from './viewer';
3
+ import { Observable } from 'rxjs';
4
+ import { MjolnirPointerEvent } from 'mjolnir.js';
5
+ import { PickingInfo } from '@deck.gl/core/typed';
3
6
  export declare type NodeStyleType = {
4
7
  [propName: string]: any;
5
8
  };
@@ -21,6 +24,13 @@ export interface IPhylocanvasGlViewer extends IViewer {
21
24
  setProps(updater: {
22
25
  [propName: string]: any;
23
26
  }): void;
27
+ get onAfterRender(): Observable<{
28
+ gl: WebGLRenderingContext;
29
+ }>;
30
+ get onHover(): Observable<{
31
+ info: PickingInfo;
32
+ event: MjolnirPointerEvent;
33
+ }>;
24
34
  }
25
35
  export declare type PhylocanvasGlTask = {
26
36
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"phylocanvas-gl-viewer.d.ts","sourceRoot":"","sources":["phylocanvas-gl-viewer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAC,OAAO,EAAC,MAAM,UAAU,CAAC;AAGjC,oBAAY,aAAa,GAAG;IAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAAC;AACxD,oBAAY,UAAU,GAAG;IAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAAA;CAAE,CAAC;AAE/D,oBAAY,cAAc;IACxB,MAAM,WAAW;IACjB,sDAAsD;IACtD,WAAW,gBAAgB;IAC3B,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,wDAAwD;IACxD,UAAU,eAAe;CAC1B;AAED,MAAM,WAAW,oBAAqB,SAAQ,OAAO;IACnD,IAAI,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC;IAE1B,IAAI,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,EAAE;IAE/B,QAAQ,CAAC,OAAO,EAAE;QAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,IAAI,CAAC;CACtD;AAMD,oBAAY,iBAAiB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE;QAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IAAC,aAAa,EAAE,cAAc,CAAA;CAAE,CAAC;AAEvI,oBAAY,cAAc,GAAG,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;AAEjE,8BAAsB,wBAAwB;IAC5C,OAAc,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,CAAA;KAAE,CAGnD;IAEF;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,GAAG,IAAI;IAE/D;;;;;OAKG;IACH,QAAQ,CAAC,gBAAgB,CACvB,IAAI,EAAE,wBAAwB,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,iBAAiB,GAAG,IAAI;CACpG;AAGD,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,wBAAwB,CAAC,CAOjF"}
1
+ {"version":3,"file":"phylocanvas-gl-viewer.d.ts","sourceRoot":"","sources":["phylocanvas-gl-viewer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAC,OAAO,EAAC,MAAM,UAAU,CAAC;AACjC,OAAO,EAAC,UAAU,EAAC,MAAM,MAAM,CAAC;AAChC,OAAO,EAAC,mBAAmB,EAAC,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAC,WAAW,EAAC,MAAM,qBAAqB,CAAC;AAGhD,oBAAY,aAAa,GAAG;IAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAAC;AACxD,oBAAY,UAAU,GAAG;IAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAAA;CAAE,CAAC;AAE/D,oBAAY,cAAc;IACxB,MAAM,WAAW;IACjB,sDAAsD;IACtD,WAAW,gBAAgB;IAC3B,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,wDAAwD;IACxD,UAAU,eAAe;CAC1B;AAED,MAAM,WAAW,oBAAqB,SAAQ,OAAO;IACnD,IAAI,KAAK,IAAI,EAAE,CAAC,SAAS,CAAC;IAE1B,IAAI,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,EAAE;IAE/B,QAAQ,CAAC,OAAO,EAAE;QAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,IAAI,CAAC;IAErD,IAAI,aAAa,IAAI,UAAU,CAAC;QAAE,EAAE,EAAE,qBAAqB,CAAA;KAAE,CAAC,CAAC;IAE/D,IAAI,OAAO,IAAI,UAAU,CAAC;QAAE,IAAI,EAAE,WAAW,CAAC;QAAC,KAAK,EAAE,mBAAmB,CAAA;KAAE,CAAC,CAAC;CAC9E;AAMD,oBAAY,iBAAiB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE;QAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;IAAC,aAAa,EAAE,cAAc,CAAA;CAAE,CAAC;AAEvI,oBAAY,cAAc,GAAG,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;AAEjE,8BAAsB,wBAAwB;IAC5C,OAAc,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,CAAA;KAAE,CAGnD;IAEF;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,GAAG,IAAI;IAE/D;;;;;OAKG;IACH,QAAQ,CAAC,gBAAgB,CACvB,IAAI,EAAE,wBAAwB,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,iBAAiB,GAAG,IAAI;CACpG;AAGD,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,wBAAwB,CAAC,CAOjF"}
@@ -33,4 +33,4 @@ export function getPhylocanvasGlService() {
33
33
  return svc;
34
34
  });
35
35
  }
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGh5bG9jYW52YXMtZ2wtdmlld2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicGh5bG9jYW52YXMtZ2wtdmlld2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUVBLE9BQU8sS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFRdEMsTUFBTSxDQUFOLElBQVksY0FRWDtBQVJELFdBQVksY0FBYztJQUN4QixtQ0FBaUIsQ0FBQTtJQUNqQixzREFBc0Q7SUFDdEQsNkNBQTJCLENBQUE7SUFDM0IsaUNBQWUsQ0FBQTtJQUNmLHVDQUFxQixDQUFBO0lBQ3JCLHdEQUF3RDtJQUN4RCwyQ0FBeUIsQ0FBQTtBQUMzQixDQUFDLEVBUlcsY0FBYyxLQUFkLGNBQWMsUUFRekI7QUFrQkQsTUFBTSxPQUFnQix3QkFBd0I7O0FBQzlCLG1DQUFVLEdBQWdDO0lBQ3RELElBQUksRUFBRSxPQUFPO0lBQ2IsSUFBSSxFQUFFLEVBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUM7Q0FDckQsQ0FBQztBQWtCSixNQUFNLFVBQWdCLHVCQUF1Qjs7UUFDM0MsTUFBTSxRQUFRLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLHlCQUF5QixFQUFDLENBQUMsQ0FBQztRQUM3RixJQUFJLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUN2QixNQUFNLElBQUksS0FBSyxDQUFDLDBFQUEwRSxDQUFDLENBQUM7UUFFOUYsTUFBTSxHQUFHLEdBQTZCLENBQUMsTUFBTSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxtQkFBbUIsRUFBOEIsQ0FBQztRQUM3SCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGdyb2sgZnJvbSAnZGF0YWdyb2stYXBpL2dyb2snO1xuaW1wb3J0ICogYXMgdWkgZnJvbSAnZGF0YWdyb2stYXBpL3VpJztcbmltcG9ydCAqIGFzIERHIGZyb20gJ2RhdGFncm9rLWFwaS9kZyc7XG5cbmltcG9ydCB7SVZpZXdlcn0gZnJvbSAnLi92aWV3ZXInO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IHR5cGUgTm9kZVN0eWxlVHlwZSA9IHsgW3Byb3BOYW1lOiBzdHJpbmddOiBhbnkgfTtcbmV4cG9ydCB0eXBlIFN0eWxlc1R5cGUgPSB7IFtub2RlTmFtZTogc3RyaW5nXTogTm9kZVN0eWxlVHlwZSB9O1xuXG5leHBvcnQgZW51bSBUcmVlVHlwZXNOYW1lcyB7XG4gIFJhZGlhbCA9ICdSYWRpYWwnLFxuICAvKiogUmVjdGFuZ3VsYXIgZWRnZXMsIGxlYXZlcyBsaXN0ZWQgX192ZXJ0aWNhbGx5X18gKi9cbiAgUmVjdGFuZ3VsYXIgPSAnUmVjdGFuZ3VsYXInLFxuICBQb2xhciA9ICdQb2xhcicsXG4gIERpYWdvbmFsID0gJ0RpYWdvbmFsJyxcbiAgLyoqIFJlY3Rhbmd1bGFyIGVkZ2VzLCBsZWF2ZXMgbGlzdGVkIF9faG9yaXpvbnRhbGx5X18gKi9cbiAgT3J0aG9nb25hbCA9ICdPcnRob2dvbmFsJyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUGh5bG9jYW52YXNHbFZpZXdlciBleHRlbmRzIElWaWV3ZXIge1xuICBnZXQgbndrRGYoKTogREcuRGF0YUZyYW1lO1xuXG4gIHNldCBud2tEZih2YWx1ZTogREcuRGF0YUZyYW1lKTtcblxuICBzZXRQcm9wcyh1cGRhdGVyOiB7IFtwcm9wTmFtZTogc3RyaW5nXTogYW55IH0pOiB2b2lkO1xufVxuXG4vLyBleHBvcnQgaW50ZXJmYWNlIElQaHlsb2NhbnZhc0dsUmVuZGVyZXIge1xuLy8gICBnZXQgb25BZnRlclJlbmRlcigpOiBPYnNlcnZhYmxlPEhUTUxDYW52YXNFbGVtZW50Pjtcbi8vIH1cblxuZXhwb3J0IHR5cGUgUGh5bG9jYW52YXNHbFRhc2sgPSB7IG5hbWU6IHN0cmluZywgYmFja0NvbG9yOiBudW1iZXIsIHByb3BzOiB7IFtwcm9wTmFtZTogc3RyaW5nXTogYW55IH0sIG9uQWZ0ZXJSZW5kZXI6IENhbnZhc0NhbGxiYWNrIH07XG5cbmV4cG9ydCB0eXBlIENhbnZhc0NhbGxiYWNrID0gKGNhbnZhczogSFRNTENhbnZhc0VsZW1lbnQpID0+IHZvaWQ7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBQaHlsb2NhbnZhc0dsU2VydmljZUJhc2Uge1xuICBwdWJsaWMgc3RhdGljIG5vbmVTb3VyY2U6IHsgdHlwZTogc3RyaW5nLCBkYXRhOiBhbnkgfSA9IHtcbiAgICB0eXBlOiAnYmlvanMnLFxuICAgIGRhdGE6IHtuYW1lOiAnbm9uZScsIGJyYW5jaF9sZW5ndGg6IDEsIGNoaWxkcmVuOiBbXX1cbiAgfTtcblxuICAvKiogUXVldWVzIFBoeWxvY2FudmFzR0wgcmVuZGVyIHRhc2tcbiAgICogQHBhcmFtIGtleSAgU3BlY2lmeSB0byBza2lwIHByZXZpb3VzbHkgcXVldWVkIHRhc2tzIHdpdGggdGhlIHNhbWUga2V5XG4gICAqL1xuICBhYnN0cmFjdCByZW5kZXIoYXJnczogUGh5bG9jYW52YXNHbFRhc2ssIGtleT86IGtleW9mIGFueSk6IHZvaWQ7XG5cbiAgLyoqIERlZmF1bHQgaW1wbGVtZW50YXRpb24gb2YgcmVuZGVyaW5nIHRyZWUgb24gZ3JpZCBjZWxsXG4gICAqIEBwYXJhbSBnQ3R4ICAgIENvbnRleHQgdG8gZHJhdyBvbiBncmlkXG4gICAqIEBwYXJhbSBiZCAgICAgIEJvdW5kIHJlY3QgdG8gY2xpcCBkcmF3aW5nIG9uIHRhc2sgbW9tZW50XG4gICAqIEBwYXJhbSBnQ2VsbCAgIEdyaWQgY2VsbCB0byBkcmF3XG4gICAqIEBwYXJhbSBjYW52YXMgIEltYWdlIG9mIHRoZSB0cmVlIHJlbmRlcmVkXG4gICAqL1xuICBhYnN0cmFjdCByZW5kZXJPbkdyaWRDZWxsKFxuICAgIGdDdHg6IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCwgYmQ6IERHLlJlY3QsIGdDZWxsOiBERy5HcmlkQ2VsbCwgY2FudmFzOiBDYW52YXNJbWFnZVNvdXJjZSk6IHZvaWQ7XG59XG5cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFBoeWxvY2FudmFzR2xTZXJ2aWNlKCk6IFByb21pc2U8UGh5bG9jYW52YXNHbFNlcnZpY2VCYXNlPiB7XG4gIGNvbnN0IGZ1bmNMaXN0ID0gREcuRnVuYy5maW5kKHtwYWNrYWdlOiAnUGh5bG9UcmVlVmlld2VyJywgbmFtZTogJ2dldFBoeWxvY2FudmFzR2xTZXJ2aWNlJ30pO1xuICBpZiAoZnVuY0xpc3QubGVuZ3RoID09PSAwKVxuICAgIHRocm93IG5ldyBFcnJvcignUGFja2FnZSBcIlBoeWxvVHJlZVZpZXdlclwiXCIgbXVzdCBiZSBpbnN0YWxsZWQgZm9yIFBoeWxvY2FudmFzR0wgc2VydmljZXMuJyk7XG5cbiAgY29uc3Qgc3ZjOiBQaHlsb2NhbnZhc0dsU2VydmljZUJhc2UgPSAoYXdhaXQgZnVuY0xpc3RbMF0ucHJlcGFyZSgpLmNhbGwoKSkuZ2V0T3V0cHV0UGFyYW1WYWx1ZSgpIGFzIFBoeWxvY2FudmFzR2xTZXJ2aWNlQmFzZTtcbiAgcmV0dXJuIHN2Yztcbn0iXX0=
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGh5bG9jYW52YXMtZ2wtdmlld2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicGh5bG9jYW52YXMtZ2wtdmlld2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUVBLE9BQU8sS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFXdEMsTUFBTSxDQUFOLElBQVksY0FRWDtBQVJELFdBQVksY0FBYztJQUN4QixtQ0FBaUIsQ0FBQTtJQUNqQixzREFBc0Q7SUFDdEQsNkNBQTJCLENBQUE7SUFDM0IsaUNBQWUsQ0FBQTtJQUNmLHVDQUFxQixDQUFBO0lBQ3JCLHdEQUF3RDtJQUN4RCwyQ0FBeUIsQ0FBQTtBQUMzQixDQUFDLEVBUlcsY0FBYyxLQUFkLGNBQWMsUUFRekI7QUFzQkQsTUFBTSxPQUFnQix3QkFBd0I7O0FBQzlCLG1DQUFVLEdBQWdDO0lBQ3RELElBQUksRUFBRSxPQUFPO0lBQ2IsSUFBSSxFQUFFLEVBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUM7Q0FDckQsQ0FBQztBQWtCSixNQUFNLFVBQWdCLHVCQUF1Qjs7UUFDM0MsTUFBTSxRQUFRLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLHlCQUF5QixFQUFDLENBQUMsQ0FBQztRQUM3RixJQUFJLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUN2QixNQUFNLElBQUksS0FBSyxDQUFDLDBFQUEwRSxDQUFDLENBQUM7UUFFOUYsTUFBTSxHQUFHLEdBQTZCLENBQUMsTUFBTSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxtQkFBbUIsRUFBOEIsQ0FBQztRQUM3SCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGdyb2sgZnJvbSAnZGF0YWdyb2stYXBpL2dyb2snO1xuaW1wb3J0ICogYXMgdWkgZnJvbSAnZGF0YWdyb2stYXBpL3VpJztcbmltcG9ydCAqIGFzIERHIGZyb20gJ2RhdGFncm9rLWFwaS9kZyc7XG5cbmltcG9ydCB7SVZpZXdlcn0gZnJvbSAnLi92aWV3ZXInO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7TWpvbG5pclBvaW50ZXJFdmVudH0gZnJvbSAnbWpvbG5pci5qcyc7XG5pbXBvcnQge1BpY2tpbmdJbmZvfSBmcm9tICdAZGVjay5nbC9jb3JlL3R5cGVkJztcblxuXG5leHBvcnQgdHlwZSBOb2RlU3R5bGVUeXBlID0geyBbcHJvcE5hbWU6IHN0cmluZ106IGFueSB9O1xuZXhwb3J0IHR5cGUgU3R5bGVzVHlwZSA9IHsgW25vZGVOYW1lOiBzdHJpbmddOiBOb2RlU3R5bGVUeXBlIH07XG5cbmV4cG9ydCBlbnVtIFRyZWVUeXBlc05hbWVzIHtcbiAgUmFkaWFsID0gJ1JhZGlhbCcsXG4gIC8qKiBSZWN0YW5ndWxhciBlZGdlcywgbGVhdmVzIGxpc3RlZCBfX3ZlcnRpY2FsbHlfXyAqL1xuICBSZWN0YW5ndWxhciA9ICdSZWN0YW5ndWxhcicsXG4gIFBvbGFyID0gJ1BvbGFyJyxcbiAgRGlhZ29uYWwgPSAnRGlhZ29uYWwnLFxuICAvKiogUmVjdGFuZ3VsYXIgZWRnZXMsIGxlYXZlcyBsaXN0ZWQgX19ob3Jpem9udGFsbHlfXyAqL1xuICBPcnRob2dvbmFsID0gJ09ydGhvZ29uYWwnLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElQaHlsb2NhbnZhc0dsVmlld2VyIGV4dGVuZHMgSVZpZXdlciB7XG4gIGdldCBud2tEZigpOiBERy5EYXRhRnJhbWU7XG5cbiAgc2V0IG53a0RmKHZhbHVlOiBERy5EYXRhRnJhbWUpO1xuXG4gIHNldFByb3BzKHVwZGF0ZXI6IHsgW3Byb3BOYW1lOiBzdHJpbmddOiBhbnkgfSk6IHZvaWQ7XG5cbiAgZ2V0IG9uQWZ0ZXJSZW5kZXIoKTogT2JzZXJ2YWJsZTx7IGdsOiBXZWJHTFJlbmRlcmluZ0NvbnRleHQgfT47XG5cbiAgZ2V0IG9uSG92ZXIoKTogT2JzZXJ2YWJsZTx7IGluZm86IFBpY2tpbmdJbmZvLCBldmVudDogTWpvbG5pclBvaW50ZXJFdmVudCB9Pjtcbn1cblxuLy8gZXhwb3J0IGludGVyZmFjZSBJUGh5bG9jYW52YXNHbFJlbmRlcmVyIHtcbi8vICAgZ2V0IG9uQWZ0ZXJSZW5kZXIoKTogT2JzZXJ2YWJsZTxIVE1MQ2FudmFzRWxlbWVudD47XG4vLyB9XG5cbmV4cG9ydCB0eXBlIFBoeWxvY2FudmFzR2xUYXNrID0geyBuYW1lOiBzdHJpbmcsIGJhY2tDb2xvcjogbnVtYmVyLCBwcm9wczogeyBbcHJvcE5hbWU6IHN0cmluZ106IGFueSB9LCBvbkFmdGVyUmVuZGVyOiBDYW52YXNDYWxsYmFjayB9O1xuXG5leHBvcnQgdHlwZSBDYW52YXNDYWxsYmFjayA9IChjYW52YXM6IEhUTUxDYW52YXNFbGVtZW50KSA9PiB2b2lkO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUGh5bG9jYW52YXNHbFNlcnZpY2VCYXNlIHtcbiAgcHVibGljIHN0YXRpYyBub25lU291cmNlOiB7IHR5cGU6IHN0cmluZywgZGF0YTogYW55IH0gPSB7XG4gICAgdHlwZTogJ2Jpb2pzJyxcbiAgICBkYXRhOiB7bmFtZTogJ25vbmUnLCBicmFuY2hfbGVuZ3RoOiAxLCBjaGlsZHJlbjogW119XG4gIH07XG5cbiAgLyoqIFF1ZXVlcyBQaHlsb2NhbnZhc0dMIHJlbmRlciB0YXNrXG4gICAqIEBwYXJhbSBrZXkgIFNwZWNpZnkgdG8gc2tpcCBwcmV2aW91c2x5IHF1ZXVlZCB0YXNrcyB3aXRoIHRoZSBzYW1lIGtleVxuICAgKi9cbiAgYWJzdHJhY3QgcmVuZGVyKGFyZ3M6IFBoeWxvY2FudmFzR2xUYXNrLCBrZXk/OiBrZXlvZiBhbnkpOiB2b2lkO1xuXG4gIC8qKiBEZWZhdWx0IGltcGxlbWVudGF0aW9uIG9mIHJlbmRlcmluZyB0cmVlIG9uIGdyaWQgY2VsbFxuICAgKiBAcGFyYW0gZ0N0eCAgICBDb250ZXh0IHRvIGRyYXcgb24gZ3JpZFxuICAgKiBAcGFyYW0gYmQgICAgICBCb3VuZCByZWN0IHRvIGNsaXAgZHJhd2luZyBvbiB0YXNrIG1vbWVudFxuICAgKiBAcGFyYW0gZ0NlbGwgICBHcmlkIGNlbGwgdG8gZHJhd1xuICAgKiBAcGFyYW0gY2FudmFzICBJbWFnZSBvZiB0aGUgdHJlZSByZW5kZXJlZFxuICAgKi9cbiAgYWJzdHJhY3QgcmVuZGVyT25HcmlkQ2VsbChcbiAgICBnQ3R4OiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQsIGJkOiBERy5SZWN0LCBnQ2VsbDogREcuR3JpZENlbGwsIGNhbnZhczogQ2FudmFzSW1hZ2VTb3VyY2UpOiB2b2lkO1xufVxuXG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRQaHlsb2NhbnZhc0dsU2VydmljZSgpOiBQcm9taXNlPFBoeWxvY2FudmFzR2xTZXJ2aWNlQmFzZT4ge1xuICBjb25zdCBmdW5jTGlzdCA9IERHLkZ1bmMuZmluZCh7cGFja2FnZTogJ1BoeWxvVHJlZVZpZXdlcicsIG5hbWU6ICdnZXRQaHlsb2NhbnZhc0dsU2VydmljZSd9KTtcbiAgaWYgKGZ1bmNMaXN0Lmxlbmd0aCA9PT0gMClcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1BhY2thZ2UgXCJQaHlsb1RyZWVWaWV3ZXJcIlwiIG11c3QgYmUgaW5zdGFsbGVkIGZvciBQaHlsb2NhbnZhc0dMIHNlcnZpY2VzLicpO1xuXG4gIGNvbnN0IHN2YzogUGh5bG9jYW52YXNHbFNlcnZpY2VCYXNlID0gKGF3YWl0IGZ1bmNMaXN0WzBdLnByZXBhcmUoKS5jYWxsKCkpLmdldE91dHB1dFBhcmFtVmFsdWUoKSBhcyBQaHlsb2NhbnZhc0dsU2VydmljZUJhc2U7XG4gIHJldHVybiBzdmM7XG59Il19