@datagrok-libraries/bio 5.6.0 → 5.8.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
@@ -1,9 +1,10 @@
1
- import { PhylocanvasTreeNode, Newick, Utils, PhylocanvasGL } from '@phylocanvas/phylocanvas.gl';
1
+ import { PhylocanvasTreeNode, Newick, Utils, Shapes, TreeTypes } from '@phylocanvas/phylocanvas.gl';
2
+ import { PhylocanvasGL } from '@phylocanvas/phylocanvas.gl';
2
3
  import { Aminoacids, AminoacidsPalettes } from './src/aminoacids';
3
4
  import { MonomerWorks } from './src/monomer-works';
4
5
  import { Nucleotides, NucleotidesPalettes } from './src/nucleotides';
5
6
  import { SeqPalette, SeqPaletteBase } from './src/seq-palettes';
6
- import { IMonomerLib, Monomer } from './src/types';
7
+ import { IMonomerLib, Monomer, NodeType, isLeaf, NodeCuttedType } from './src/types';
7
8
  import { UnknownSeqPalette, UnknownSeqPalettes } from './src/unknown';
8
9
  import { DrawStyle, printLeftOrCentered } from './src/utils/cell-renderer';
9
10
  import { FastaFileHandler } from './src/utils/fasta-handler';
@@ -14,8 +15,8 @@ import { NotationConverter } from './src/utils/notation-converter';
14
15
  import { splitAlignedSequences } from './src/utils/splitter';
15
16
  import { UnitsHandler } from './src/utils/units-handler';
16
17
  import { VdRegion, VdRegionType } from './src/vd-regions';
17
- import { IPhylocanvasGlViewer, NodeStyleType, StylesType } from './src/viewers/phylocanvas-gl-viewer';
18
+ import { CanvasCallback, getPhylocanvasGlService, IPhylocanvasGlViewer, NodeStyleType, PhylocanvasGlServiceBase, PhylocanvasGlTask, StylesType, TreeTypesNames } from './src/viewers/phylocanvas-gl-viewer';
18
19
  import { IVdRegionsViewer } from './src/viewers/vd-regions-viewer';
19
20
  import { PositionHeight, PositionInfo, PositionMonomerInfo, WebLogoViewer } from './src/viewers/web-logo-viewer';
20
- 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, PhylocanvasTreeNode, NodeStyleType, StylesType, IPhylocanvasGlViewer, PhylocanvasGL, Utils, Newick, INewickHelper, Monomer, IMonomerLib, getMonomerLib, MonomerWorks, };
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, };
21
22
  //# 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,aAAa,EAAC,MAAM,6BAA6B,CAAC;AAE9F,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,EAAC,MAAM,aAAa,CAAC;AACjD,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,EAAC,oBAAoB,EAAE,aAAa,EAAE,UAAU,EAAC,MAAM,qCAAqC,CAAC;AACpG,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,EAChB,mBAAmB,EACnB,aAAa,EAAE,UAAU,EACzB,oBAAoB,EACpB,aAAa,EACb,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,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"}
package/index.js CHANGED
@@ -1,9 +1,12 @@
1
1
  //@ts-ignore
2
- import { Newick, Utils, PhylocanvasGL } from '@phylocanvas/phylocanvas.gl';
2
+ import { Newick, Utils, Shapes, TreeTypes } from '@phylocanvas/phylocanvas.gl';
3
+ //@ts-ignore
4
+ import { PhylocanvasGL } from '@phylocanvas/phylocanvas.gl';
3
5
  import { Aminoacids, AminoacidsPalettes } from './src/aminoacids';
4
6
  import { MonomerWorks } from './src/monomer-works';
5
7
  import { Nucleotides, NucleotidesPalettes } from './src/nucleotides';
6
8
  import { SeqPaletteBase } from './src/seq-palettes';
9
+ import { isLeaf } from './src/types';
7
10
  import { UnknownSeqPalette, UnknownSeqPalettes } from './src/unknown';
8
11
  import { DrawStyle, printLeftOrCentered } from './src/utils/cell-renderer';
9
12
  import { FastaFileHandler } from './src/utils/fasta-handler';
@@ -13,6 +16,7 @@ import { NotationConverter } from './src/utils/notation-converter';
13
16
  import { splitAlignedSequences } from './src/utils/splitter';
14
17
  import { UnitsHandler } from './src/utils/units-handler';
15
18
  import { VdRegion, VdRegionType } from './src/vd-regions';
19
+ import { getPhylocanvasGlService, PhylocanvasGlServiceBase, TreeTypesNames } from './src/viewers/phylocanvas-gl-viewer';
16
20
  import { PositionHeight, PositionInfo, PositionMonomerInfo, WebLogoViewer } from './src/viewers/web-logo-viewer';
17
- 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, PhylocanvasGL, Utils, Newick, getMonomerLib, MonomerWorks, };
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBQ1osT0FBTyxFQUFzQixNQUFNLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBRTlGLE9BQU8sRUFBQyxVQUFVLEVBQUUsa0JBQWtCLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDakQsT0FBTyxFQUFDLFdBQVcsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQ25FLE9BQU8sRUFBYSxjQUFjLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUU5RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFDLFNBQVMsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3pFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFDTCxXQUFXLEVBQ1gsZUFBZSxFQUNmLG9CQUFvQixFQUVwQixjQUFjLEVBQ2QsY0FBYyxFQUNkLFFBQVEsRUFDUixhQUFhLEVBQ2IsZ0JBQWdCLEVBQ2hCLHFCQUFxQixFQUt0QixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUV0RCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNqRSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDdkQsT0FBTyxFQUFDLFFBQVEsRUFBRSxZQUFZLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUd4RCxPQUFPLEVBQUMsY0FBYyxFQUFFLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxhQUFhLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUcvRyxPQUFPLEVBS0wsaUJBQWlCLEVBRWpCLFFBQVEsRUFDUixxQkFBcUIsRUFDckIsV0FBVyxFQUNYLGVBQWUsRUFDZixjQUFjLEVBQ2Qsb0JBQW9CLEVBQ3BCLGNBQWMsRUFDZCxxQkFBcUIsRUFFckIsY0FBYyxFQUNkLFVBQVUsRUFDVixrQkFBa0IsRUFDbEIsV0FBVyxFQUNYLG1CQUFtQixFQUNuQixrQkFBa0IsRUFDbEIsaUJBQWlCLEVBQ2pCLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsY0FBYyxFQUNkLFlBQVksRUFDWixtQkFBbUIsRUFDbkIsYUFBYSxFQUNiLFlBQVksRUFDWixTQUFTLEVBQ1QsbUJBQW1CLEVBQ25CLGdCQUFnQixFQUNoQixZQUFZLEVBQ1osUUFBUSxFQUtSLGFBQWEsRUFDYixLQUFLLEVBQ0wsTUFBTSxFQUtOLGFBQWEsRUFDYixZQUFZLEdBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vQHRzLWlnbm9yZVxuaW1wb3J0IHtQaHlsb2NhbnZhc1RyZWVOb2RlLCBOZXdpY2ssIFV0aWxzLCBQaHlsb2NhbnZhc0dMfSBmcm9tICdAcGh5bG9jYW52YXMvcGh5bG9jYW52YXMuZ2wnO1xuXG5pbXBvcnQge0FtaW5vYWNpZHMsIEFtaW5vYWNpZHNQYWxldHRlc30gZnJvbSAnLi9zcmMvYW1pbm9hY2lkcyc7XG5pbXBvcnQge01vbm9tZXJXb3Jrc30gZnJvbSAnLi9zcmMvbW9ub21lci13b3Jrcyc7XG5pbXBvcnQge051Y2xlb3RpZGVzLCBOdWNsZW90aWRlc1BhbGV0dGVzfSBmcm9tICcuL3NyYy9udWNsZW90aWRlcyc7XG5pbXBvcnQge1NlcVBhbGV0dGUsIFNlcVBhbGV0dGVCYXNlfSBmcm9tICcuL3NyYy9zZXEtcGFsZXR0ZXMnO1xuaW1wb3J0IHtJTW9ub21lckxpYiwgTW9ub21lcn0gZnJvbSAnLi9zcmMvdHlwZXMnO1xuaW1wb3J0IHtVbmtub3duU2VxUGFsZXR0ZSwgVW5rbm93blNlcVBhbGV0dGVzfSBmcm9tICcuL3NyYy91bmtub3duJztcbmltcG9ydCB7RHJhd1N0eWxlLCBwcmludExlZnRPckNlbnRlcmVkfSBmcm9tICcuL3NyYy91dGlscy9jZWxsLXJlbmRlcmVyJztcbmltcG9ydCB7RmFzdGFGaWxlSGFuZGxlcn0gZnJvbSAnLi9zcmMvdXRpbHMvZmFzdGEtaGFuZGxlcic7XG5pbXBvcnQge1xuICBnZXRTcGxpdHRlcixcbiAgc3BsaXR0ZXJBc0Zhc3RhLFxuICBnZXRTcGxpdHRlckZvckNvbHVtbixcbiAgU3BsaXR0ZXJGdW5jLFxuICBtb25vbWVyVG9TaG9ydCxcbiAgc3BsaXR0ZXJBc0hlbG0sXG4gIGdldFN0YXRzLFxuICBwaWNrVXBQYWxldHRlLFxuICBnZXRQYWxldHRlQnlUeXBlLFxuICBnZXRBbHBoYWJldFNpbWlsYXJpdHksXG4gIEFMUEhBQkVULFxuICBOT1RBVElPTixcbiAgVEFHUyxcbiAgQUxJR05NRU5UXG59IGZyb20gJy4vc3JjL3V0aWxzL21hY3JvbW9sZWN1bGUnO1xuaW1wb3J0IHtnZXRNb25vbWVyTGlifSBmcm9tICcuL3NyYy91dGlscy9tb25vbWVyLWxpYic7XG5pbXBvcnQge0lOZXdpY2tIZWxwZXJ9IGZyb20gJy4vc3JjL3V0aWxzL25ld2ljay1oZWxwZXInO1xuaW1wb3J0IHtOb3RhdGlvbkNvbnZlcnRlcn0gZnJvbSAnLi9zcmMvdXRpbHMvbm90YXRpb24tY29udmVydGVyJztcbmltcG9ydCB7c3BsaXRBbGlnbmVkU2VxdWVuY2VzfSBmcm9tICcuL3NyYy91dGlscy9zcGxpdHRlcic7XG5pbXBvcnQge1VuaXRzSGFuZGxlcn0gZnJvbSAnLi9zcmMvdXRpbHMvdW5pdHMtaGFuZGxlcic7XG5pbXBvcnQge1ZkUmVnaW9uLCBWZFJlZ2lvblR5cGV9IGZyb20gJy4vc3JjL3ZkLXJlZ2lvbnMnO1xuaW1wb3J0IHtJUGh5bG9jYW52YXNHbFZpZXdlciwgTm9kZVN0eWxlVHlwZSwgU3R5bGVzVHlwZX0gZnJvbSAnLi9zcmMvdmlld2Vycy9waHlsb2NhbnZhcy1nbC12aWV3ZXInO1xuaW1wb3J0IHtJVmRSZWdpb25zVmlld2VyfSBmcm9tICcuL3NyYy92aWV3ZXJzL3ZkLXJlZ2lvbnMtdmlld2VyJztcbmltcG9ydCB7UG9zaXRpb25IZWlnaHQsIFBvc2l0aW9uSW5mbywgUG9zaXRpb25Nb25vbWVySW5mbywgV2ViTG9nb1ZpZXdlcn0gZnJvbSAnLi9zcmMvdmlld2Vycy93ZWItbG9nby12aWV3ZXInO1xuXG5cbmV4cG9ydCB7XG4gIEFMSUdOTUVOVCxcbiAgQUxQSEFCRVQsXG4gIE5PVEFUSU9OLFxuICBUQUdTLFxuICBOb3RhdGlvbkNvbnZlcnRlcixcbiAgU3BsaXR0ZXJGdW5jLFxuICBnZXRTdGF0cyxcbiAgZ2V0QWxwaGFiZXRTaW1pbGFyaXR5LFxuICBnZXRTcGxpdHRlcixcbiAgc3BsaXR0ZXJBc0Zhc3RhLFxuICBzcGxpdHRlckFzSGVsbSxcbiAgZ2V0U3BsaXR0ZXJGb3JDb2x1bW4sXG4gIG1vbm9tZXJUb1Nob3J0LFxuICBzcGxpdEFsaWduZWRTZXF1ZW5jZXMsXG4gIFNlcVBhbGV0dGUsXG4gIFNlcVBhbGV0dGVCYXNlLFxuICBBbWlub2FjaWRzLFxuICBBbWlub2FjaWRzUGFsZXR0ZXMsXG4gIE51Y2xlb3RpZGVzLFxuICBOdWNsZW90aWRlc1BhbGV0dGVzLFxuICBVbmtub3duU2VxUGFsZXR0ZXMsXG4gIFVua25vd25TZXFQYWxldHRlLFxuICBwaWNrVXBQYWxldHRlLFxuICBnZXRQYWxldHRlQnlUeXBlLFxuICBQb3NpdGlvbkhlaWdodCxcbiAgUG9zaXRpb25JbmZvLFxuICBQb3NpdGlvbk1vbm9tZXJJbmZvLFxuICBXZWJMb2dvVmlld2VyLFxuICBVbml0c0hhbmRsZXIsXG4gIERyYXdTdHlsZSxcbiAgcHJpbnRMZWZ0T3JDZW50ZXJlZCxcbiAgRmFzdGFGaWxlSGFuZGxlcixcbiAgVmRSZWdpb25UeXBlLFxuICBWZFJlZ2lvbixcbiAgSVZkUmVnaW9uc1ZpZXdlcixcbiAgUGh5bG9jYW52YXNUcmVlTm9kZSxcbiAgTm9kZVN0eWxlVHlwZSwgU3R5bGVzVHlwZSxcbiAgSVBoeWxvY2FudmFzR2xWaWV3ZXIsXG4gIFBoeWxvY2FudmFzR0wsXG4gIFV0aWxzLFxuICBOZXdpY2ssXG4gIElOZXdpY2tIZWxwZXIsXG5cbiAgTW9ub21lcixcbiAgSU1vbm9tZXJMaWIsXG4gIGdldE1vbm9tZXJMaWIsXG4gIE1vbm9tZXJXb3Jrcyxcbn07XG4iXX0=
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=
package/index.ts CHANGED
@@ -1,11 +1,13 @@
1
1
  //@ts-ignore
2
- import {PhylocanvasTreeNode, Newick, Utils, PhylocanvasGL} from '@phylocanvas/phylocanvas.gl';
2
+ import {PhylocanvasTreeNode, Newick, Utils, Shapes, TreeTypes} from '@phylocanvas/phylocanvas.gl';
3
+ //@ts-ignore
4
+ import {PhylocanvasGL} from '@phylocanvas/phylocanvas.gl';
3
5
 
4
6
  import {Aminoacids, AminoacidsPalettes} from './src/aminoacids';
5
7
  import {MonomerWorks} from './src/monomer-works';
6
8
  import {Nucleotides, NucleotidesPalettes} from './src/nucleotides';
7
9
  import {SeqPalette, SeqPaletteBase} from './src/seq-palettes';
8
- import {IMonomerLib, Monomer} from './src/types';
10
+ import {IMonomerLib, Monomer, NodeType, isLeaf, NodeCuttedType} from './src/types';
9
11
  import {UnknownSeqPalette, UnknownSeqPalettes} from './src/unknown';
10
12
  import {DrawStyle, printLeftOrCentered} from './src/utils/cell-renderer';
11
13
  import {FastaFileHandler} from './src/utils/fasta-handler';
@@ -31,7 +33,16 @@ import {NotationConverter} from './src/utils/notation-converter';
31
33
  import {splitAlignedSequences} from './src/utils/splitter';
32
34
  import {UnitsHandler} from './src/utils/units-handler';
33
35
  import {VdRegion, VdRegionType} from './src/vd-regions';
34
- import {IPhylocanvasGlViewer, NodeStyleType, StylesType} from './src/viewers/phylocanvas-gl-viewer';
36
+ import {
37
+ CanvasCallback,
38
+ getPhylocanvasGlService,
39
+ IPhylocanvasGlViewer,
40
+ NodeStyleType,
41
+ PhylocanvasGlServiceBase,
42
+ PhylocanvasGlTask,
43
+ StylesType,
44
+ TreeTypesNames
45
+ } from './src/viewers/phylocanvas-gl-viewer';
35
46
  import {IVdRegionsViewer} from './src/viewers/vd-regions-viewer';
36
47
  import {PositionHeight, PositionInfo, PositionMonomerInfo, WebLogoViewer} from './src/viewers/web-logo-viewer';
37
48
 
@@ -72,10 +83,20 @@ export {
72
83
  VdRegionType,
73
84
  VdRegion,
74
85
  IVdRegionsViewer,
86
+
87
+ NodeType, isLeaf, NodeCuttedType,
75
88
  PhylocanvasTreeNode,
76
89
  NodeStyleType, StylesType,
90
+
77
91
  IPhylocanvasGlViewer,
92
+ TreeTypesNames,
93
+ PhylocanvasGlServiceBase,
94
+ CanvasCallback,
95
+ PhylocanvasGlTask,
96
+ getPhylocanvasGlService,
97
+
78
98
  PhylocanvasGL,
99
+ Shapes, TreeTypes,
79
100
  Utils,
80
101
  Newick,
81
102
  INewickHelper,
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "access": "public"
5
5
  },
6
6
  "friendlyName": "Datagrok bio library",
7
- "version": "5.6.0",
7
+ "version": "5.8.0",
8
8
  "description": "",
9
9
  "dependencies": {
10
10
  "@datagrok-libraries/utils": "^1.10.1",
@@ -1,6 +1 @@
1
- declare const Shapes: {
2
- [key: string]: string;
3
- };
4
- declare const TreeTypes: any;
5
- export { Shapes, TreeTypes };
6
1
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,MAAM;;CAAc,CAAC;AAG3B,QAAA,MAAM,SAAS,KAAiB,CAAC;AAEjC,OAAO,EAAC,MAAM,EAAE,SAAS,EAAC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":""}
@@ -1,7 +1,11 @@
1
- import * as pcgl from '@phylocanvas/phylocanvas.gl';
2
- //@ts-ignore
3
- const Shapes = pcgl.Shapes;
4
- //@ts-ignore
5
- const TreeTypes = pcgl.TreeTypes;
6
- export { Shapes, TreeTypes };
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssSUFBSSxNQUFNLDZCQUE2QixDQUFDO0FBRXBELFlBQVk7QUFDWixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO0FBRTNCLFlBQVk7QUFDWixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO0FBRWpDLE9BQU8sRUFBQyxNQUFNLEVBQUUsU0FBUyxFQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwY2dsIGZyb20gJ0BwaHlsb2NhbnZhcy9waHlsb2NhbnZhcy5nbCc7XG5cbi8vQHRzLWlnbm9yZVxuY29uc3QgU2hhcGVzID0gcGNnbC5TaGFwZXM7XG5cbi8vQHRzLWlnbm9yZVxuY29uc3QgVHJlZVR5cGVzID0gcGNnbC5UcmVlVHlwZXM7XG5cbmV4cG9ydCB7U2hhcGVzLCBUcmVlVHlwZXN9O1xuIl19
1
+ "use strict";
2
+ // import * as pcgl from '@phylocanvas/phylocanvas.gl';
3
+ //
4
+ // //@ts-ignore
5
+ // const Shapes = pcgl.Shapes;
6
+ //
7
+ // //@ts-ignore
8
+ // const TreeTypes = pcgl.TreeTypes;
9
+ //
10
+ // export {Shapes, TreeTypes};
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsdURBQXVEO0FBQ3ZELEVBQUU7QUFDRixlQUFlO0FBQ2YsOEJBQThCO0FBQzlCLEVBQUU7QUFDRixlQUFlO0FBQ2Ysb0NBQW9DO0FBQ3BDLEVBQUU7QUFDRiw4QkFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBpbXBvcnQgKiBhcyBwY2dsIGZyb20gJ0BwaHlsb2NhbnZhcy9waHlsb2NhbnZhcy5nbCc7XG4vL1xuLy8gLy9AdHMtaWdub3JlXG4vLyBjb25zdCBTaGFwZXMgPSBwY2dsLlNoYXBlcztcbi8vXG4vLyAvL0B0cy1pZ25vcmVcbi8vIGNvbnN0IFRyZWVUeXBlcyA9IHBjZ2wuVHJlZVR5cGVzO1xuLy9cbi8vIGV4cG9ydCB7U2hhcGVzLCBUcmVlVHlwZXN9O1xuIl19
@@ -1,4 +1,4 @@
1
- import { IMonomerLib, Monomer } from './types/index';
1
+ import { IMonomerLib, Monomer } from './types';
2
2
  export declare class MonomerWorks {
3
3
  monomerLib: IMonomerLib;
4
4
  constructor(monomerLib: IMonomerLib);
@@ -1 +1 @@
1
- {"version":3,"file":"monomer-works.d.ts","sourceRoot":"","sources":["monomer-works.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,WAAW,EAAE,OAAO,EAAC,MAAM,eAAe,CAAC;AAInD,qBAAa,YAAY;IACvB,UAAU,EAAE,WAAW,CAAC;gBAEZ,UAAU,EAAE,WAAW;IAK5B,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;CAQlF"}
1
+ {"version":3,"file":"monomer-works.d.ts","sourceRoot":"","sources":["monomer-works.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,WAAW,EAAE,OAAO,EAAC,MAAM,SAAS,CAAC;AAI7C,qBAAa,YAAY;IACvB,UAAU,EAAE,WAAW,CAAC;gBAEZ,UAAU,EAAE,WAAW;IAK5B,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;CAQlF"}
@@ -11,4 +11,4 @@ export class MonomerWorks {
11
11
  return this.monomerLib.get(monomerType, monomerName);
12
12
  }
13
13
  }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ub21lci13b3Jrcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIm1vbm9tZXItd29ya3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsTUFBTSxPQUFPLFlBQVk7SUFHdkIsWUFBWSxVQUF1QjtRQUNqQyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUMvQixDQUFDO0lBRUQscUNBQXFDO0lBQzlCLGdCQUFnQixDQUFDLFdBQW1CLEVBQUUsV0FBbUI7UUFDOUQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVyxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDO1lBQzlCLE1BQU0sRUFBRSxDQUFDO1FBRVgseURBQXlEO1FBQ3pELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGdyb2sgZnJvbSAnZGF0YWdyb2stYXBpL2dyb2snO1xuaW1wb3J0ICogYXMgdWkgZnJvbSAnZGF0YWdyb2stYXBpL3VpJztcbmltcG9ydCAqIGFzIERHIGZyb20gJ2RhdGFncm9rLWFwaS9kZyc7XG5cbmltcG9ydCB7SU1vbm9tZXJMaWIsIE1vbm9tZXJ9IGZyb20gJy4vdHlwZXMvaW5kZXgnO1xuaW1wb3J0IHtjYXBUaGVNb25vbWVyfSBmcm9tICcuL3V0aWxzL3RvLWF0b21pYy1sZXZlbCc7XG5cblxuZXhwb3J0IGNsYXNzIE1vbm9tZXJXb3JrcyB7XG4gIG1vbm9tZXJMaWI6IElNb25vbWVyTGliO1xuXG4gIGNvbnN0cnVjdG9yKG1vbm9tZXJMaWI6IElNb25vbWVyTGliKSB7XG4gICAgdGhpcy5tb25vbWVyTGliID0gbW9ub21lckxpYjtcbiAgfVxuXG4gIC8vdHlwZXMgYWNjb3JkaW5nIHRvIE1vbm9tZXIgcG9zc2libGVcbiAgcHVibGljIGdldENhcHBlZE1vbm9tZXIobW9ub21lclR5cGU6IHN0cmluZywgbW9ub21lck5hbWU6IHN0cmluZyk6IE1vbm9tZXIgfCBudWxsIHtcbiAgICBjb25zdCB0eXBlcyA9IE9iamVjdC5rZXlzKHRoaXMubW9ub21lckxpYiEpO1xuICAgIGlmICghdHlwZXMuaW5jbHVkZXMobW9ub21lclR5cGUpKVxuICAgICAgdGhyb3cgJyc7XG5cbiAgICAvL3JldHVybiBjYXBUaGVNb25vbWVyKHRoaXMubW9ub21lckxpYiEuZ2V0KHR5cGUsIG5hbWUpKTtcbiAgICByZXR1cm4gdGhpcy5tb25vbWVyTGliLmdldChtb25vbWVyVHlwZSwgbW9ub21lck5hbWUpO1xuICB9XG59XG4iXX0=
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ub21lci13b3Jrcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIm1vbm9tZXItd29ya3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsTUFBTSxPQUFPLFlBQVk7SUFHdkIsWUFBWSxVQUF1QjtRQUNqQyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUMvQixDQUFDO0lBRUQscUNBQXFDO0lBQzlCLGdCQUFnQixDQUFDLFdBQW1CLEVBQUUsV0FBbUI7UUFDOUQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVyxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDO1lBQzlCLE1BQU0sRUFBRSxDQUFDO1FBRVgseURBQXlEO1FBQ3pELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGdyb2sgZnJvbSAnZGF0YWdyb2stYXBpL2dyb2snO1xuaW1wb3J0ICogYXMgdWkgZnJvbSAnZGF0YWdyb2stYXBpL3VpJztcbmltcG9ydCAqIGFzIERHIGZyb20gJ2RhdGFncm9rLWFwaS9kZyc7XG5cbmltcG9ydCB7SU1vbm9tZXJMaWIsIE1vbm9tZXJ9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHtjYXBUaGVNb25vbWVyfSBmcm9tICcuL3V0aWxzL3RvLWF0b21pYy1sZXZlbCc7XG5cblxuZXhwb3J0IGNsYXNzIE1vbm9tZXJXb3JrcyB7XG4gIG1vbm9tZXJMaWI6IElNb25vbWVyTGliO1xuXG4gIGNvbnN0cnVjdG9yKG1vbm9tZXJMaWI6IElNb25vbWVyTGliKSB7XG4gICAgdGhpcy5tb25vbWVyTGliID0gbW9ub21lckxpYjtcbiAgfVxuXG4gIC8vdHlwZXMgYWNjb3JkaW5nIHRvIE1vbm9tZXIgcG9zc2libGVcbiAgcHVibGljIGdldENhcHBlZE1vbm9tZXIobW9ub21lclR5cGU6IHN0cmluZywgbW9ub21lck5hbWU6IHN0cmluZyk6IE1vbm9tZXIgfCBudWxsIHtcbiAgICBjb25zdCB0eXBlcyA9IE9iamVjdC5rZXlzKHRoaXMubW9ub21lckxpYiEpO1xuICAgIGlmICghdHlwZXMuaW5jbHVkZXMobW9ub21lclR5cGUpKVxuICAgICAgdGhyb3cgJyc7XG5cbiAgICAvL3JldHVybiBjYXBUaGVNb25vbWVyKHRoaXMubW9ub21lckxpYiEuZ2V0KHR5cGUsIG5hbWUpKTtcbiAgICByZXR1cm4gdGhpcy5tb25vbWVyTGliLmdldChtb25vbWVyVHlwZSwgbW9ub21lck5hbWUpO1xuICB9XG59XG4iXX0=
@@ -1,11 +1,14 @@
1
1
  import { Observable } from 'rxjs';
2
- interface NodeType {
2
+ export interface NodeType {
3
3
  name: string;
4
- children: NodeType[];
5
- branch_length: number;
6
- isLeaf: boolean;
4
+ branch_length?: number;
5
+ children?: NodeType[];
6
+ }
7
+ export declare function isLeaf(node: NodeType): boolean;
8
+ export interface NodeCuttedType extends NodeType {
9
+ cuttedLeafNameList: string[];
10
+ cuttedChildren?: NodeType[];
7
11
  }
8
- export { NodeType as NodeType };
9
12
  export declare type Monomer = {
10
13
  at: {
11
14
  [R: string]: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,UAAU,EAAC,MAAM,MAAM,CAAC;AAEhC,UAAU,QAAQ;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,OAAO,EAAC,QAAQ,IAAI,QAAQ,EAAC,CAAC;AAE9B,oBAAY,OAAO,GAAG;IACpB,EAAE,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACZ,CAAA;AAGD,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IAG9D,IAAI,SAAS,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;CAClC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,UAAU,EAAC,MAAM,MAAM,CAAC;AAIhC,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;CACvB;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,QAAQ,WAEpC;AAED,MAAM,WAAW,cAAe,SAAQ,QAAQ;IAC9C,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC;CAC7B;AAED,oBAAY,OAAO,GAAG;IACpB,EAAE,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACZ,CAAA;AAGD,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IAG9D,IAAI,SAAS,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;CAClC"}
@@ -1,3 +1,5 @@
1
1
  // import {NodeType} from '@phylocanvas/phylocanvas.gl';
2
- export {};
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx3REFBd0QiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBpbXBvcnQge05vZGVUeXBlfSBmcm9tICdAcGh5bG9jYW52YXMvcGh5bG9jYW52YXMuZ2wnO1xuXG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuXG5pbnRlcmZhY2UgTm9kZVR5cGUge1xuICBuYW1lOiBzdHJpbmc7XG4gIGNoaWxkcmVuOiBOb2RlVHlwZVtdO1xuICBicmFuY2hfbGVuZ3RoOiBudW1iZXI7XG4gIGlzTGVhZjogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHtOb2RlVHlwZSBhcyBOb2RlVHlwZX07XG5cbmV4cG9ydCB0eXBlIE1vbm9tZXIgPSB7XG4gIGF0OiB7IFtSOiBzdHJpbmddOiBzdHJpbmcgfSxcbiAgaWQ6IHN0cmluZyxcbiAgbTogc3RyaW5nLFxuICBuOiBzdHJpbmcsXG4gIG5hOiBzdHJpbmcsXG4gIHJzOiBudW1iZXI7XG59XG5cbi8vZXhwZWN0ZWQgdHlwZXM6IEhFTE1fQUEsIEhFTE1fQkFTRSwgSEVMTV9DSEVNLCBIRUxNX0xJTktFUiwgSEVMTV9TVUdBUlxuZXhwb3J0IGludGVyZmFjZSBJTW9ub21lckxpYiB7XG4gIGdldChtb25vbWVyVHlwZTogc3RyaW5nLCBtb25vbWVyTmFtZTogc3RyaW5nKTogTW9ub21lciB8IG51bGw7XG5cbiAgLy8gVE9ETzpcbiAgZ2V0IG9uQ2hhbmdlZCgpOiBPYnNlcnZhYmxlPGFueT47XG59Il19
2
+ export function isLeaf(node) {
3
+ return !node.children || node.children.length == 0;
4
+ }
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx3REFBd0Q7QUFZeEQsTUFBTSxVQUFVLE1BQU0sQ0FBQyxJQUFjO0lBQ25DLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQztBQUNyRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaW1wb3J0IHtOb2RlVHlwZX0gZnJvbSAnQHBoeWxvY2FudmFzL3BoeWxvY2FudmFzLmdsJztcblxuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuXG4vKiBJbnRlcmZhY2UgZm9yIGhpZXJhcmNoaWNhbCBkYXRhIHN0cnVjdHVyZSByZXR1cm5lZCBieSBOZXdpY2sucGFyc2VfbmV3aWNrICovXG5leHBvcnQgaW50ZXJmYWNlIE5vZGVUeXBlIHtcbiAgbmFtZTogc3RyaW5nO1xuICBicmFuY2hfbGVuZ3RoPzogbnVtYmVyO1xuICBjaGlsZHJlbj86IE5vZGVUeXBlW107XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0xlYWYobm9kZTogTm9kZVR5cGUpIHtcbiAgcmV0dXJuICFub2RlLmNoaWxkcmVuIHx8IG5vZGUuY2hpbGRyZW4ubGVuZ3RoID09IDA7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTm9kZUN1dHRlZFR5cGUgZXh0ZW5kcyBOb2RlVHlwZSB7XG4gIGN1dHRlZExlYWZOYW1lTGlzdDogc3RyaW5nW107XG4gIGN1dHRlZENoaWxkcmVuPzogTm9kZVR5cGVbXTtcbn1cblxuZXhwb3J0IHR5cGUgTW9ub21lciA9IHtcbiAgYXQ6IHsgW1I6IHN0cmluZ106IHN0cmluZyB9LFxuICBpZDogc3RyaW5nLFxuICBtOiBzdHJpbmcsXG4gIG46IHN0cmluZyxcbiAgbmE6IHN0cmluZyxcbiAgcnM6IG51bWJlcjtcbn1cblxuLy9leHBlY3RlZCB0eXBlczogSEVMTV9BQSwgSEVMTV9CQVNFLCBIRUxNX0NIRU0sIEhFTE1fTElOS0VSLCBIRUxNX1NVR0FSXG5leHBvcnQgaW50ZXJmYWNlIElNb25vbWVyTGliIHtcbiAgZ2V0KG1vbm9tZXJUeXBlOiBzdHJpbmcsIG1vbm9tZXJOYW1lOiBzdHJpbmcpOiBNb25vbWVyIHwgbnVsbDtcblxuICAvLyBUT0RPOlxuICBnZXQgb25DaGFuZ2VkKCk6IE9ic2VydmFibGU8YW55Pjtcbn0iXX0=
@@ -1,5 +1,6 @@
1
1
  declare module '@phylocanvas/phylocanvas.gl' {
2
2
  import {Deck} from '@deck.gl/core/typed';
3
+ import {NodeType} from '../types';
3
4
 
4
5
  export class PhylocanvasGL {
5
6
  get deck(): Deck;
@@ -8,7 +9,11 @@ declare module '@phylocanvas/phylocanvas.gl' {
8
9
 
9
10
  constructor(element: HTMLElement, props: { [propName: string]: any });
10
11
 
11
- setProps(props: { [propName: string]: any });
12
+ render(): void;
13
+
14
+ resume(): void;
15
+
16
+ setProps(props: { [propName: string]: any }): void;
12
17
 
13
18
  selectNode: (nodeOrId: any, append: boolean = false) => void;
14
19
 
@@ -20,12 +25,6 @@ declare module '@phylocanvas/phylocanvas.gl' {
20
25
  export const TreeTypes;
21
26
  export const Shapes: { [key: string]: string };
22
27
 
23
- // export interface NodeType {
24
- // name: string;
25
- // children: NodeType[];
26
- // branch_length: number;
27
- // }
28
-
29
28
  module Newick {
30
29
  function parse_newick(newick: string): NodeType;
31
30
  }
@@ -1,12 +1,5 @@
1
1
  import * as DG from 'datagrok-api/dg';
2
- /** Stats of sequences with specified splitter func, returns { freq, sameLength }.
3
- * @param {DG.Column} seqCol
4
- * @param {number} minLength
5
- * @param {SplitterFunc} splitter
6
- * @return { SeqColStats }, sameLength: boolean } stats of column sequences
7
- */
8
2
  import { SeqPalette } from '../seq-palettes';
9
- import * as bio from '../../index';
10
3
  /** enum type to simplify setting "user-friendly" notation if necessary */
11
4
  export declare const enum NOTATION {
12
5
  FASTA = "fasta",
@@ -38,6 +31,12 @@ export declare type SplitterFunc = (seq: string) => string[];
38
31
  export declare type MonomerFreqs = {
39
32
  [m: string]: number;
40
33
  };
34
+ /** Stats of sequences with specified splitter func, returns { freq, sameLength }.
35
+ * @param {DG.Column} seqCol
36
+ * @param {number} minLength
37
+ * @param {SplitterFunc} splitter
38
+ * @return { SeqColStats }, sameLength: boolean } stats of column sequences
39
+ */
41
40
  export declare function getStats(seqCol: DG.Column, minLength: number, splitter: SplitterFunc): SeqColStats;
42
41
  export declare const monomerRe: RegExp;
43
42
  /** Split sequence for single character monomers, square brackets multichar monomer names or gap symbol.
@@ -85,6 +84,6 @@ export declare function detectAlphabet(stats: SeqColStats): string;
85
84
  * @return {SeqPalette} Palette corresponding to the alphabet of the sequences in the column
86
85
  */
87
86
  export declare function pickUpPalette(seqCol: DG.Column, minLength?: number): SeqPalette;
88
- export declare function getPaletteByType(paletteType: string): bio.SeqPalette;
87
+ export declare function getPaletteByType(paletteType: string): SeqPalette;
89
88
  export declare function pickUpSeqCol(df: DG.DataFrame): DG.Column | null;
90
89
  //# sourceMappingURL=macromolecule.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"macromolecule.d.ts","sourceRoot":"","sources":["macromolecule.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAKtC;;;;;GAKG;AACH,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAM3C,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AAEnC,0EAA0E;AAC1E,0BAAkB,QAAQ;IACxB,KAAK,UAAU;IACf,SAAS,cAAc;IACvB,IAAI,SAAS;CACd;AAED,0BAAkB,SAAS;IACzB,OAAO,YAAY;IACnB,GAAG,QAAQ;CACZ;AAED,0BAAkB,QAAQ;IACxB,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,EAAE,OAAO;IACT,EAAE,OAAO;CACV;AAED,0BAAkB,IAAI;IACpB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,YAAY,kBAAkB;IAC9B,mBAAmB,yBAAyB;IAC5C,SAAS,cAAc;CACxB;AAED,oBAAY,WAAW,GAAG;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,CAAA;AACrE,oBAAY,YAAY,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;AACrD,oBAAY,YAAY,GAAG;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AAEnD,wBAAgB,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,WAAW,CAsBlG;AAED,eAAO,MAAM,SAAS,EAAE,MAA8B,CAAC;AAEvD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,EAAE,CAYlD;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,MAAM,GAAG,SAAqB,GAAG,YAAY,CAI/G;AAMD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,EAAE,CAgBjD;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,MAAM,GAAG,SAAqB,GAAG,YAAY,CAWjH;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,GAAG,YAAY,CAOjE;AAID,+CAA+C;AAC/C,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,MAAM,CAKhF;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,SAAS,GAAE,MAAY,GAAG,MAAM,CAchH;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAazD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,SAAS,GAAE,MAAU,GAAG,UAAU,CAYlF;AAED,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,GAAG,CAAC,UAAU,CAYpE;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,MAAM,GAAG,IAAI,CAS/D"}
1
+ {"version":3,"file":"macromolecule.d.ts","sourceRoot":"","sources":["macromolecule.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAKtC,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAM3C,0EAA0E;AAC1E,0BAAkB,QAAQ;IACxB,KAAK,UAAU;IACf,SAAS,cAAc;IACvB,IAAI,SAAS;CACd;AAED,0BAAkB,SAAS;IACzB,OAAO,YAAY;IACnB,GAAG,QAAQ;CACZ;AAED,0BAAkB,QAAQ;IACxB,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,EAAE,OAAO;IACT,EAAE,OAAO;CACV;AAED,0BAAkB,IAAI;IACpB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,YAAY,kBAAkB;IAC9B,mBAAmB,yBAAyB;IAC5C,SAAS,cAAc;CACxB;AAED,oBAAY,WAAW,GAAG;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,CAAA;AACrE,oBAAY,YAAY,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;AACrD,oBAAY,YAAY,GAAG;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AAEnD;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,WAAW,CAsBlG;AAED,eAAO,MAAM,SAAS,EAAE,MAA8B,CAAC;AAEvD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,EAAE,CAYlD;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,MAAM,GAAG,SAAqB,GAAG,YAAY,CAI/G;AAMD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,EAAE,CAgBjD;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,MAAM,GAAG,SAAqB,GAAG,YAAY,CAWjH;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,GAAG,YAAY,CAOjE;AAID,+CAA+C;AAC/C,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,MAAM,CAKhF;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,SAAS,GAAE,MAAY,GAAG,MAAM,CAchH;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAazD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,SAAS,GAAE,MAAU,GAAG,UAAU,CAYlF;AAED,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,CAYhE;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,MAAM,GAAG,IAAI,CAS/D"}
@@ -1,10 +1,18 @@
1
1
  import * as DG from 'datagrok-api/dg';
2
+ import wu from 'wu';
2
3
  import { Vector } from '@datagrok-libraries/utils/src/type-declarations';
3
4
  import { vectorLength, vectorDotProduct } from '@datagrok-libraries/utils/src/vector-operations';
4
- import wu from 'wu';
5
+ import { AminoacidsPalettes } from '../aminoacids';
6
+ import { NucleotidesPalettes } from '../nucleotides';
7
+ import { UnknownSeqPalettes } from '../unknown';
5
8
  import { UnitsHandler } from '../utils/units-handler';
6
- import * as bio from '../../index';
7
9
  ;
10
+ /** Stats of sequences with specified splitter func, returns { freq, sameLength }.
11
+ * @param {DG.Column} seqCol
12
+ * @param {number} minLength
13
+ * @param {SplitterFunc} splitter
14
+ * @return { SeqColStats }, sameLength: boolean } stats of column sequences
15
+ */
8
16
  export function getStats(seqCol, minLength, splitter) {
9
17
  const freq = {};
10
18
  let sameLength = true;
@@ -166,14 +174,14 @@ export function pickUpPalette(seqCol, minLength = 5) {
166
174
  export function getPaletteByType(paletteType) {
167
175
  switch (paletteType) {
168
176
  case 'PT':
169
- return bio.AminoacidsPalettes.GrokGroups;
177
+ return AminoacidsPalettes.GrokGroups;
170
178
  case 'NT':
171
179
  case 'DNA':
172
180
  case 'RNA':
173
- return bio.NucleotidesPalettes.Chromatogram;
181
+ return NucleotidesPalettes.Chromatogram;
174
182
  // other
175
183
  default:
176
- return bio.UnknownSeqPalettes.Color;
184
+ return UnknownSeqPalettes.Color;
177
185
  }
178
186
  }
179
187
  export function pickUpSeqCol(df) {
@@ -187,4 +195,4 @@ export function pickUpSeqCol(df) {
187
195
  resCol = semTypeColList[0];
188
196
  return resCol;
189
197
  }
190
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFjcm9tb2xlY3VsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIm1hY3JvbW9sZWN1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUV0QyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0saURBQWlELENBQUM7QUFDdkUsT0FBTyxFQUFDLFlBQVksRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBWS9GLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUNwQixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDcEQsT0FBTyxLQUFLLEdBQUcsTUFBTSxhQUFhLENBQUM7QUEyQmxDLENBQUM7QUFNRixNQUFNLFVBQVUsUUFBUSxDQUFDLE1BQWlCLEVBQUUsU0FBaUIsRUFBRSxRQUFzQjtJQUNuRixNQUFNLElBQUksR0FBNEIsRUFBRSxDQUFDO0lBQ3pDLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQztJQUN0QixJQUFJLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFFdkIsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsVUFBVSxFQUFFO1FBQ25DLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUUzQixJQUFJLFdBQVcsSUFBSSxJQUFJO1lBQ3JCLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO2FBQ3ZCLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxXQUFXO1lBQ2xDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFFckIsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLFNBQVMsRUFBRTtZQUM1QixLQUFLLE1BQU0sQ0FBQyxJQUFJLElBQUksRUFBRTtnQkFDcEIsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztvQkFDZCxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNkLElBQUks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Q3JCLEtBQUssSUFBSTtZQUNQLE9BQU8sR0FBRyxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQztRQUMzQyxLQUFLLElBQUksQ0FBQztRQUNWLEtBQUssS0FBSyxDQUFDO1FBQ1gsS0FBSyxLQUFLO1lBQ1IsT0FBTyxHQUFHLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDO1FBQzVDLFFBQVE7UUFDVjtZQUNFLE9BQU8sR0FBRyxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQztLQUNyQztBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsWUFBWSxDQUFDLEVBQWdCOztJQUMzQyxNQUFNLGNBQWMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3pFLElBQUksTUFBTSxHQUFxQixNQUFBLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUN6RCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEMsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNyRCxDQUFDLENBQUMsbUNBQUksSUFBSSxDQUFDO0lBQ1gsSUFBSSxDQUFDLE1BQU0sSUFBSSxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUM7UUFDdEMsTUFBTSxHQUFHLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3QixPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZ3JvayBmcm9tICdkYXRhZ3Jvay1hcGkvZ3Jvayc7XG5pbXBvcnQgKiBhcyB1aSBmcm9tICdkYXRhZ3Jvay1hcGkvdWknO1xuaW1wb3J0ICogYXMgREcgZnJvbSAnZGF0YWdyb2stYXBpL2RnJztcblxuaW1wb3J0IHtWZWN0b3J9IGZyb20gJ0BkYXRhZ3Jvay1saWJyYXJpZXMvdXRpbHMvc3JjL3R5cGUtZGVjbGFyYXRpb25zJztcbmltcG9ydCB7dmVjdG9yTGVuZ3RoLCB2ZWN0b3JEb3RQcm9kdWN0fSBmcm9tICdAZGF0YWdyb2stbGlicmFyaWVzL3V0aWxzL3NyYy92ZWN0b3Itb3BlcmF0aW9ucyc7XG5cbi8qKiBTdGF0cyBvZiBzZXF1ZW5jZXMgd2l0aCBzcGVjaWZpZWQgc3BsaXR0ZXIgZnVuYywgcmV0dXJucyB7IGZyZXEsIHNhbWVMZW5ndGggfS5cbiAqIEBwYXJhbSB7REcuQ29sdW1ufSBzZXFDb2xcbiAqIEBwYXJhbSB7bnVtYmVyfSBtaW5MZW5ndGhcbiAqIEBwYXJhbSB7U3BsaXR0ZXJGdW5jfSBzcGxpdHRlclxuICogQHJldHVybiB7IFNlcUNvbFN0YXRzIH0sIHNhbWVMZW5ndGg6IGJvb2xlYW4gfSBzdGF0cyBvZiBjb2x1bW4gc2VxdWVuY2VzXG4gKi9cbmltcG9ydCB7U2VxUGFsZXR0ZX0gZnJvbSAnLi4vc2VxLXBhbGV0dGVzJztcbmltcG9ydCB7QW1pbm9hY2lkcywgQW1pbm9hY2lkc1BhbGV0dGVzfSBmcm9tICcuLi9hbWlub2FjaWRzJztcbmltcG9ydCB7TnVjbGVvdGlkZXMsIE51Y2xlb3RpZGVzUGFsZXR0ZXN9IGZyb20gJy4uL251Y2xlb3RpZGVzJztcbmltcG9ydCB7VW5rbm93blNlcVBhbGV0dGVzfSBmcm9tICcuLi91bmtub3duJztcbmltcG9ydCB3dSBmcm9tICd3dSc7XG5pbXBvcnQge1VuaXRzSGFuZGxlcn0gZnJvbSAnLi4vdXRpbHMvdW5pdHMtaGFuZGxlcic7XG5pbXBvcnQgKiBhcyBiaW8gZnJvbSAnLi4vLi4vaW5kZXgnO1xuXG4vKiogZW51bSB0eXBlIHRvIHNpbXBsaWZ5IHNldHRpbmcgXCJ1c2VyLWZyaWVuZGx5XCIgbm90YXRpb24gaWYgbmVjZXNzYXJ5ICovXG5leHBvcnQgY29uc3QgZW51bSBOT1RBVElPTiB7XG4gIEZBU1RBID0gJ2Zhc3RhJyxcbiAgU0VQQVJBVE9SID0gJ3NlcGFyYXRvcicsXG4gIEhFTE0gPSAnaGVsbScsXG59XG5cbmV4cG9ydCBjb25zdCBlbnVtIEFMSUdOTUVOVCB7XG4gIFNFUV9NU0EgPSAnU0VRLk1TQScsXG4gIFNFUSA9ICdTRVEnLFxufVxuXG5leHBvcnQgY29uc3QgZW51bSBBTFBIQUJFVCB7XG4gIEROQSA9ICdETkEnLFxuICBSTkEgPSAnUk5BJyxcbiAgUFQgPSAnUFQnLFxuICBVTiA9ICdVTicsXG59XG5cbmV4cG9ydCBjb25zdCBlbnVtIFRBR1Mge1xuICBhbGlnbmVkID0gJ2FsaWduZWQnLFxuICBhbHBoYWJldCA9ICdhbHBoYWJldCcsXG4gIGFscGhhYmV0U2l6ZSA9ICcuYWxwaGFiZXRTaXplJyxcbiAgYWxwaGFiZXRJc011bHRpY2hhciA9ICcuYWxwaGFiZXRJc011bHRpY2hhcicsXG4gIHNlcGFyYXRvciA9ICdzZXBhcmF0b3InLFxufTtcblxuZXhwb3J0IHR5cGUgU2VxQ29sU3RhdHMgPSB7IGZyZXE6IE1vbm9tZXJGcmVxcywgc2FtZUxlbmd0aDogYm9vbGVhbiB9XG5leHBvcnQgdHlwZSBTcGxpdHRlckZ1bmMgPSAoc2VxOiBzdHJpbmcpID0+IHN0cmluZ1tdO1xuZXhwb3J0IHR5cGUgTW9ub21lckZyZXFzID0geyBbbTogc3RyaW5nXTogbnVtYmVyIH07XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTdGF0cyhzZXFDb2w6IERHLkNvbHVtbiwgbWluTGVuZ3RoOiBudW1iZXIsIHNwbGl0dGVyOiBTcGxpdHRlckZ1bmMpOiBTZXFDb2xTdGF0cyB7XG4gIGNvbnN0IGZyZXE6IHsgW206IHN0cmluZ106IG51bWJlciB9ID0ge307XG4gIGxldCBzYW1lTGVuZ3RoID0gdHJ1ZTtcbiAgbGV0IGZpcnN0TGVuZ3RoID0gbnVsbDtcblxuICBmb3IgKGNvbnN0IHNlcSBvZiBzZXFDb2wuY2F0ZWdvcmllcykge1xuICAgIGNvbnN0IG1TZXEgPSBzcGxpdHRlcihzZXEpO1xuXG4gICAgaWYgKGZpcnN0TGVuZ3RoID09IG51bGwpXG4gICAgICBmaXJzdExlbmd0aCA9IG1TZXEubGVuZ3RoO1xuICAgIGVsc2UgaWYgKG1TZXEubGVuZ3RoICE9PSBmaXJzdExlbmd0aClcbiAgICAgIHNhbWVMZW5ndGggPSBmYWxzZTtcblxuICAgIGlmIChtU2VxLmxlbmd0aCA+PSBtaW5MZW5ndGgpIHtcbiAgICAgIGZvciAoY29uc3QgbSBvZiBtU2VxKSB7XG4gICAgICAgIGlmICghKG0gaW4gZnJlcSkpXG4gICAgICAgICAgZnJlcVttXSA9IDA7XG4gICAgICAgIGZyZXFbbV0gKz0gMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIHtmcmVxOiBmcmVxLCBzYW1lTGVuZ3RoOiBzYW1lTGVuZ3RofTtcbn1cblxuZXhwb3J0IGNvbnN0IG1vbm9tZXJSZTogUmVnRXhwID0gL1xcWyhcXHcrKVxcXXwoXFx3KXwoLSkvZztcblxuLyoqIFNwbGl0IHNlcXVlbmNlIGZvciBzaW5nbGUgY2hhcmFjdGVyIG1vbm9tZXJzLCBzcXVhcmUgYnJhY2tldHMgbXVsdGljaGFyIG1vbm9tZXIgbmFtZXMgb3IgZ2FwIHN5bWJvbC5cbiAqIEBwYXJhbSB7YW55fSBzZXEgb2JqZWN0IHdpdGggc2VxdWVuY2VcbiAqIEByZXR1cm4ge3N0cmluZ1tdfSBhcnJheSBvZiBtb25vbWVyc1xuICovXG5leHBvcnQgZnVuY3Rpb24gc3BsaXR0ZXJBc0Zhc3RhKHNlcTogYW55KTogc3RyaW5nW10ge1xuICByZXR1cm4gd3U8UmVnRXhwTWF0Y2hBcnJheT4oc2VxLnRvU3RyaW5nKCkubWF0Y2hBbGwobW9ub21lclJlKSlcbiAgICAubWFwKChtYTogUmVnRXhwTWF0Y2hBcnJheSkgPT4ge1xuICAgICAgbGV0IG1SZXM6IHN0cmluZztcbiAgICAgIGNvbnN0IG06IHN0cmluZyA9IG1hWzBdO1xuICAgICAgaWYgKG0ubGVuZ3RoID4gMSkge1xuICAgICAgICBtUmVzID0gbWFbMV07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBtUmVzID0gbTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBtUmVzO1xuICAgIH0pLnRvQXJyYXkoKTtcbn1cblxuLyoqIEdldHMgbWV0aG9kIHRvIHNwbGl0IHNlcXVlbmNlIGJ5IHNlcGFyYXRvclxuICogQHBhcmFtIHtzdHJpbmd9IHNlcGFyYXRvclxuICogQHBhcmFtIGxpbWl0XG4gKiBAcmV0dXJuIHtTcGxpdHRlckZ1bmN9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTcGxpdHRlcldpdGhTZXBhcmF0b3Ioc2VwYXJhdG9yOiBzdHJpbmcsIGxpbWl0OiBudW1iZXIgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQpOiBTcGxpdHRlckZ1bmMge1xuICByZXR1cm4gKHNlcTogc3RyaW5nKSA9PiB7XG4gICAgcmV0dXJuIHNlcS5zcGxpdChzZXBhcmF0b3IsIGxpbWl0KTtcbiAgfTtcbn1cblxuY29uc3QgaGVsbVJlOiBSZWdFeHAgPSAvKFBFUFRJREUxfEROQTF8Uk5BMSlcXHsoW159XSspfS9nO1xuY29uc3QgaGVsbVBwMVJlOiBSZWdFeHAgPSAvXFxbKFteXFxbXFxdXSspXS9nO1xuXG5cbi8qKiBTcGxpdHMgSGVsbSBzdHJpbmcgdG8gbW9ub21lcnMsIGJ1dCBkb2VzIG5vdCByZXBsYWNlIG1vbm9tZXIgbmFtZXMgdG8gb3RoZXIgbm90YXRpb24gKGUuZy4gZm9yIFJOQSkuXG4gKiBPbmx5IGZvciBsaW5lYXIgcG9seW1lcnMsIGRvZXMgbm90IHNwbGl0IFJOQSBmb3Igcmlib3NlIGFuZCBwaG9zcGhhdGUgbW9ub21lcnMuXG4gKiBAcGFyYW0ge3N0cmluZ30gc2VxIFNvdXJjZSBzdHJpbmcgb2YgSEVMTSBub3RhdGlvblxuICogQHJldHVybiB7c3RyaW5nW119XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzcGxpdHRlckFzSGVsbShzZXE6IGFueSk6IHN0cmluZ1tdIHtcbiAgaGVsbVJlLmxhc3RJbmRleCA9IDA7XG4gIGNvbnN0IGVhOiBSZWdFeHBFeGVjQXJyYXkgfCBudWxsID0gaGVsbVJlLmV4ZWMoc2VxLnRvU3RyaW5nKCkpO1xuICBjb25zdCBpblNlcTogc3RyaW5nIHwgbnVsbCA9IGVhID8gZWFbMl0gOiBudWxsO1xuXG4gIGNvbnN0IG1tUG9zdFByb2Nlc3MgPSAobW06IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gICAgaGVsbVBwMVJlLmxhc3RJbmRleCA9IDA7XG4gICAgY29uc3QgcHAxTSA9IGhlbG1QcDFSZS5leGVjKG1tKTtcbiAgICBpZiAocHAxTSAmJiBwcDFNLmxlbmd0aCA+PSAyKVxuICAgICAgcmV0dXJuIHBwMU1bMV07XG4gICAgZWxzZVxuICAgICAgcmV0dXJuIG1tO1xuICB9O1xuXG4gIGNvbnN0IG1tTGlzdDogc3RyaW5nW10gPSBpblNlcSA/IGluU2VxLnNwbGl0KCcuJykgOiBbXTtcbiAgcmV0dXJuIG1tTGlzdC5tYXAobW1Qb3N0UHJvY2Vzcyk7XG59XG5cbi8qKiBHZXQgc3BsaXR0ZXIgbWV0aG9kIHRvIHNwbGl0IHNlcXVlbmNlcyB0byBtb25vbWVyc1xuICogQHBhcmFtIHtzdHJpbmd9IHVuaXRzXG4gKiBAcGFyYW0ge3N0cmluZ30gc2VwYXJhdG9yXG4gKiBAcGFyYW0gbGltaXRcbiAqIEByZXR1cm4ge1NwbGl0dGVyRnVuY31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFNwbGl0dGVyKHVuaXRzOiBzdHJpbmcsIHNlcGFyYXRvcjogc3RyaW5nLCBsaW1pdDogbnVtYmVyIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkKTogU3BsaXR0ZXJGdW5jIHtcbiAgaWYgKHVuaXRzLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aChOT1RBVElPTi5GQVNUQSkpXG4gICAgcmV0dXJuIHNwbGl0dGVyQXNGYXN0YTtcbiAgZWxzZSBpZiAodW5pdHMudG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKE5PVEFUSU9OLlNFUEFSQVRPUikpXG4gICAgcmV0dXJuIGdldFNwbGl0dGVyV2l0aFNlcGFyYXRvcihzZXBhcmF0b3IsIGxpbWl0KTtcbiAgZWxzZSBpZiAodW5pdHMudG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKE5PVEFUSU9OLkhFTE0pKVxuICAgIHJldHVybiBzcGxpdHRlckFzSGVsbTtcbiAgZWxzZVxuICAgIHRocm93IG5ldyBFcnJvcihgVW5leHBlY3RlZCB1bml0cyAke3VuaXRzfSAuYCk7XG5cbiAgLy8gVE9ETzogU3BsaXR0ZXIgZm9yIEhFTE1cbn1cblxuLyoqIEdlbmVyYXRlIHNwbGl0dGVyIGZ1bmN0aW9uIGZvciBzZXF1ZW5jZSBjb2x1bW5cbiAqIEBwYXJhbSB7REcuQ29sdW1ufSBjb2xcbiAqIEByZXR1cm4ge1NwbGl0dGVyRnVuY30gU3BsaXR0ZXIgZnVuY3Rpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFNwbGl0dGVyRm9yQ29sdW1uKGNvbDogREcuQ29sdW1uKTogU3BsaXR0ZXJGdW5jIHtcbiAgaWYgKGNvbC5zZW1UeXBlICE9PSBERy5TRU1UWVBFLk1BQ1JPTU9MRUNVTEUpXG4gICAgdGhyb3cgbmV3IEVycm9yKGBHZXQgc3BsaXR0ZXIgZm9yIHNlbVR5cGUgXCIke0RHLlNFTVRZUEUuTUFDUk9NT0xFQ1VMRX1cIiBvbmx5LmApO1xuXG4gIGNvbnN0IHVuaXRzID0gY29sLmdldFRhZyhERy5UQUdTLlVOSVRTKTtcbiAgY29uc3Qgc2VwYXJhdG9yID0gY29sLmdldFRhZyhUQUdTLnNlcGFyYXRvcik7XG4gIHJldHVybiBnZXRTcGxpdHRlcih1bml0cywgc2VwYXJhdG9yKTtcbn1cblxuY29uc3QgbG9uZ01vbm9tZXJQYXJ0UmU6IFJlZ0V4cCA9IC8oXFx3KykvZztcblxuLyoqIENvbnZlcnQgbG9uZyBtb25vbWVyIG5hbWVzIHRvIHNob3J0IG9uZXMgKi9cbmV4cG9ydCBmdW5jdGlvbiBtb25vbWVyVG9TaG9ydChhbWlubzogc3RyaW5nLCBtYXhMZW5ndGhPZk1vbm9tZXI6IG51bWJlcik6IHN0cmluZyB7XG4gIGNvbnN0IHNob3J0QW1pbm9NYXRjaDogUmVnRXhwTWF0Y2hBcnJheSB8IG51bGwgPSBhbWluby5tYXRjaChsb25nTW9ub21lclBhcnRSZSk7XG4gIGNvbnN0IG5lZWRBZGREb3RzOiBib29sZWFuID0gYW1pbm8ubGVuZ3RoID4gbWF4TGVuZ3RoT2ZNb25vbWVyIHx8IChzaG9ydEFtaW5vTWF0Y2g/Lmxlbmd0aCA/PyAwKSA+IDE7XG4gIGNvbnN0IHNob3J0QW1pbm8gPSBzaG9ydEFtaW5vTWF0Y2g/LlswXSA/PyAnICc7XG4gIHJldHVybiAhbmVlZEFkZERvdHMgPyBzaG9ydEFtaW5vIDogc2hvcnRBbWluby5zdWJzdHJpbmcoMCwgbWF4TGVuZ3RoT2ZNb25vbWVyKSArICfigKYnO1xufVxuXG4vKiogQ2FsY3VsYXRlIHNpbWlsYXJpdHkgaW4gY3VycmVudCBzZXF1ZW5jZSBhbmQgYWxwaGFiZXQuXG4gKiBAcGFyYW0ge01vbm9tZXJGcmVxc30gZnJlcVxuICogQHBhcmFtIHtTZXQ8c3RyaW5nPn0gYWxwaGFiZXRcbiAqIEBwYXJhbSB7c3RyaW5nfSBnYXBTeW1ib2xcbiAqIEByZXR1cm4ge251bWJlcn0gQ29zaW5lIHNpbWlsYXJpdHlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFscGhhYmV0U2ltaWxhcml0eShmcmVxOiBNb25vbWVyRnJlcXMsIGFscGhhYmV0OiBTZXQ8c3RyaW5nPiwgZ2FwU3ltYm9sOiBzdHJpbmcgPSAnLScpOiBudW1iZXIge1xuICBjb25zdCBrZXlzID0gbmV3IFNldDxzdHJpbmc+KFsuLi5uZXcgU2V0KE9iamVjdC5rZXlzKGZyZXEpKSwgLi4uYWxwaGFiZXRdKTtcbiAga2V5cy5kZWxldGUoZ2FwU3ltYm9sKTtcblxuICBjb25zdCBmcmVxQTogbnVtYmVyW10gPSBbXTtcbiAgY29uc3QgYWxwaGFiZXRBOiBudW1iZXJbXSA9IFtdO1xuICBmb3IgKGNvbnN0IG0gb2Yga2V5cykge1xuICAgIGZyZXFBLnB1c2gobSBpbiBmcmVxID8gZnJlcVttXSA6IDApO1xuICAgIGFscGhhYmV0QS5wdXNoKGFscGhhYmV0LmhhcyhtKSA/IDEgOiAwKTtcbiAgfVxuICAvKiBUaGVyZSB3ZXJlIGEgZmV3IGlkZWFzOiBjaGktc3F1YXJlZCwgcGVhcnNvbiBjb3JyZWxhdGlvbiAodmFyaWFuY2U/KSwgc2NhbGFyIHByb2R1Y3QgKi9cbiAgY29uc3QgZnJlcVY6IFZlY3RvciA9IG5ldyBWZWN0b3IoZnJlcUEpO1xuICBjb25zdCBhbHBoYWJldFY6IFZlY3RvciA9IG5ldyBWZWN0b3IoYWxwaGFiZXRBKTtcbiAgcmV0dXJuIHZlY3RvckRvdFByb2R1Y3QoZnJlcVYsIGFscGhhYmV0VikgLyAodmVjdG9yTGVuZ3RoKGZyZXFWKSAqIHZlY3Rvckxlbmd0aChhbHBoYWJldFYpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRldGVjdEFscGhhYmV0KHN0YXRzOiBTZXFDb2xTdGF0cyk6IHN0cmluZyB7XG4gIGNvbnN0IGFscGhhYmV0Q2FuZGlkYXRlczogW3N0cmluZywgU2V0PHN0cmluZz5dW10gPSBbXG4gICAgW0FMUEhBQkVULlBULCBVbml0c0hhbmRsZXIuUGVwdGlkZUZhc3RhQWxwaGFiZXRdLFxuICAgIFtBTFBIQUJFVC5ETkEsIFVuaXRzSGFuZGxlci5EbmFGYXN0YUFscGhhYmV0XSxcbiAgICBbQUxQSEFCRVQuUk5BLCBVbml0c0hhbmRsZXIuUm5hRmFzdGFBbHBoYWJldF0sXG4gIF07XG5cbiAgLy8gQ2FsY3VsYXRlIGxpa2VsaWhvb2RzIGZvciBhbHBoYWJldF9jYW5kaWRhdGVzXG4gIGNvbnN0IGFscGhhYmV0Q2FuZGlkYXRlc1NpbTogbnVtYmVyW10gPSBhbHBoYWJldENhbmRpZGF0ZXMubWFwKFxuICAgIChjKSA9PiBnZXRBbHBoYWJldFNpbWlsYXJpdHkoc3RhdHMuZnJlcSwgY1sxXSkpO1xuICBjb25zdCBtYXhDb3MgPSBNYXRoLm1heCguLi5hbHBoYWJldENhbmRpZGF0ZXNTaW0pO1xuICBjb25zdCBhbHBoYWJldCA9IG1heENvcyA+IDAuNjUgPyBhbHBoYWJldENhbmRpZGF0ZXNbYWxwaGFiZXRDYW5kaWRhdGVzU2ltLmluZGV4T2YobWF4Q29zKV1bMF0gOiAnVU4nO1xuICByZXR1cm4gYWxwaGFiZXQ7XG59XG5cbi8qKiBTZWxlY3RzIGEgc3VpdGFibGUgcGFsZXR0ZSBiYXNlZCBvbiBjb2x1bW4gZGF0YVxuICogQHBhcmFtIHtERy5Db2x1bW59IHNlcUNvbCBDb2x1bW4gdG8gbG9vayBmb3IgYSBwYWxldHRlXG4gKiBAcGFyYW0ge251bWJlcn0gIG1pbkxlbmd0aCBtaW5pbXVtIGxlbmd0aCBvZiBzZXF1ZW5jZSB0byBkZXRlY3QgcGFsZXR0ZSAoZW1wdHkgc3RyaW5ncyBhcmUgYWxsb3dlZClcbiAqIEByZXR1cm4ge1NlcVBhbGV0dGV9IFBhbGV0dGUgY29ycmVzcG9uZGluZyB0byB0aGUgYWxwaGFiZXQgb2YgdGhlIHNlcXVlbmNlcyBpbiB0aGUgY29sdW1uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwaWNrVXBQYWxldHRlKHNlcUNvbDogREcuQ29sdW1uLCBtaW5MZW5ndGg6IG51bWJlciA9IDUpOiBTZXFQYWxldHRlIHtcbiAgbGV0IGFscGhhYmV0OiBzdHJpbmc7XG4gIGlmIChzZXFDb2wuc2VtVHlwZSA9PSBERy5TRU1UWVBFLk1BQ1JPTU9MRUNVTEUpIHtcbiAgICBjb25zdCB1aDogVW5pdHNIYW5kbGVyID0gbmV3IFVuaXRzSGFuZGxlcihzZXFDb2wpO1xuICAgIGFscGhhYmV0ID0gdWguYWxwaGFiZXQ7XG4gIH0gZWxzZSB7XG4gICAgY29uc3Qgc3RhdHM6IFNlcUNvbFN0YXRzID0gZ2V0U3RhdHMoc2VxQ29sLCBtaW5MZW5ndGgsIHNwbGl0dGVyQXNGYXN0YSk7XG4gICAgYWxwaGFiZXQgPSBkZXRlY3RBbHBoYWJldChzdGF0cyk7XG4gIH1cblxuICBjb25zdCByZXMgPSBnZXRQYWxldHRlQnlUeXBlKGFscGhhYmV0KTtcbiAgcmV0dXJuIHJlcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFBhbGV0dGVCeVR5cGUocGFsZXR0ZVR5cGU6IHN0cmluZyk6IGJpby5TZXFQYWxldHRlIHtcbiAgc3dpdGNoIChwYWxldHRlVHlwZSkge1xuICBjYXNlICdQVCc6XG4gICAgcmV0dXJuIGJpby5BbWlub2FjaWRzUGFsZXR0ZXMuR3Jva0dyb3VwcztcbiAgY2FzZSAnTlQnOlxuICBjYXNlICdETkEnOlxuICBjYXNlICdSTkEnOlxuICAgIHJldHVybiBiaW8uTnVjbGVvdGlkZXNQYWxldHRlcy5DaHJvbWF0b2dyYW07XG4gICAgLy8gb3RoZXJcbiAgZGVmYXVsdDpcbiAgICByZXR1cm4gYmlvLlVua25vd25TZXFQYWxldHRlcy5Db2xvcjtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcGlja1VwU2VxQ29sKGRmOiBERy5EYXRhRnJhbWUpOiBERy5Db2x1bW4gfCBudWxsIHtcbiAgY29uc3Qgc2VtVHlwZUNvbExpc3QgPSBkZi5jb2x1bW5zLmJ5U2VtVHlwZUFsbChERy5TRU1UWVBFLk1BQ1JPTU9MRUNVTEUpO1xuICBsZXQgcmVzQ29sOiBERy5Db2x1bW4gfCBudWxsID0gc2VtVHlwZUNvbExpc3QuZmluZCgoY29sKSA9PiB7XG4gICAgY29uc3QgdW5pdHMgPSBjb2wuZ2V0VGFnKERHLlRBR1MuVU5JVFMpO1xuICAgIHJldHVybiB1bml0cyA/IHVuaXRzLmluZGV4T2YoJ01TQScpICE9PSAtMSA6IGZhbHNlO1xuICB9KSA/PyBudWxsO1xuICBpZiAoIXJlc0NvbCAmJiBzZW1UeXBlQ29sTGlzdC5sZW5ndGggPiAwKVxuICAgIHJlc0NvbCA9IHNlbVR5cGVDb2xMaXN0WzBdO1xuICByZXR1cm4gcmVzQ29sO1xufVxuIl19
198
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFjcm9tb2xlY3VsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIm1hY3JvbW9sZWN1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxLQUFLLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN0QyxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFFcEIsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGlEQUFpRCxDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxZQUFZLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxpREFBaUQsQ0FBQztBQUUvRixPQUFPLEVBQWEsa0JBQWtCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFjLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sWUFBWSxDQUFDO0FBQzlDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQTJCbkQsQ0FBQztBQU1GOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLFFBQVEsQ0FBQyxNQUFpQixFQUFFLFNBQWlCLEVBQUUsUUFBc0I7SUFDbkYsTUFBTSxJQUFJLEdBQTRCLEVBQUUsQ0FBQztJQUN6QyxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDdEIsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBRXZCLEtBQUssTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLFVBQVUsRUFBRTtRQUNuQyxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFM0IsSUFBSSxXQUFXLElBQUksSUFBSTtZQUNyQixXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQzthQUN2QixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssV0FBVztZQUNsQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBRXJCLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxTQUFTLEVBQUU7WUFDNUIsS0FBSyxNQUFNLENBQUMs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QixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZDLE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxXQUFtQjtJQUNsRCxRQUFRLFdBQVcsRUFBRTtRQUNyQixLQUFLLElBQUk7WUFDUCxPQUFPLGtCQUFrQixDQUFDLFVBQVUsQ0FBQztRQUN2QyxLQUFLLElBQUksQ0FBQztRQUNWLEtBQUssS0FBSyxDQUFDO1FBQ1gsS0FBSyxLQUFLO1lBQ1IsT0FBTyxtQkFBbUIsQ0FBQyxZQUFZLENBQUM7UUFDeEMsUUFBUTtRQUNWO1lBQ0UsT0FBTyxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7S0FDakM7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLFlBQVksQ0FBQyxFQUFnQjs7SUFDM0MsTUFBTSxjQUFjLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN6RSxJQUFJLE1BQU0sR0FBcUIsTUFBQSxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7UUFDekQsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDckQsQ0FBQyxDQUFDLG1DQUFJLElBQUksQ0FBQztJQUNYLElBQUksQ0FBQyxNQUFNLElBQUksY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDO1FBQ3RDLE1BQU0sR0FBRyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0IsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGdyb2sgZnJvbSAnZGF0YWdyb2stYXBpL2dyb2snO1xuaW1wb3J0ICogYXMgdWkgZnJvbSAnZGF0YWdyb2stYXBpL3VpJztcbmltcG9ydCAqIGFzIERHIGZyb20gJ2RhdGFncm9rLWFwaS9kZyc7XG5pbXBvcnQgd3UgZnJvbSAnd3UnO1xuXG5pbXBvcnQge1ZlY3Rvcn0gZnJvbSAnQGRhdGFncm9rLWxpYnJhcmllcy91dGlscy9zcmMvdHlwZS1kZWNsYXJhdGlvbnMnO1xuaW1wb3J0IHt2ZWN0b3JMZW5ndGgsIHZlY3RvckRvdFByb2R1Y3R9IGZyb20gJ0BkYXRhZ3Jvay1saWJyYXJpZXMvdXRpbHMvc3JjL3ZlY3Rvci1vcGVyYXRpb25zJztcbmltcG9ydCB7U2VxUGFsZXR0ZX0gZnJvbSAnLi4vc2VxLXBhbGV0dGVzJztcbmltcG9ydCB7QW1pbm9hY2lkcywgQW1pbm9hY2lkc1BhbGV0dGVzfSBmcm9tICcuLi9hbWlub2FjaWRzJztcbmltcG9ydCB7TnVjbGVvdGlkZXMsIE51Y2xlb3RpZGVzUGFsZXR0ZXN9IGZyb20gJy4uL251Y2xlb3RpZGVzJztcbmltcG9ydCB7VW5rbm93blNlcVBhbGV0dGVzfSBmcm9tICcuLi91bmtub3duJztcbmltcG9ydCB7VW5pdHNIYW5kbGVyfSBmcm9tICcuLi91dGlscy91bml0cy1oYW5kbGVyJztcblxuLyoqIGVudW0gdHlwZSB0byBzaW1wbGlmeSBzZXR0aW5nIFwidXNlci1mcmllbmRseVwiIG5vdGF0aW9uIGlmIG5lY2Vzc2FyeSAqL1xuZXhwb3J0IGNvbnN0IGVudW0gTk9UQVRJT04ge1xuICBGQVNUQSA9ICdmYXN0YScsXG4gIFNFUEFSQVRPUiA9ICdzZXBhcmF0b3InLFxuICBIRUxNID0gJ2hlbG0nLFxufVxuXG5leHBvcnQgY29uc3QgZW51bSBBTElHTk1FTlQge1xuICBTRVFfTVNBID0gJ1NFUS5NU0EnLFxuICBTRVEgPSAnU0VRJyxcbn1cblxuZXhwb3J0IGNvbnN0IGVudW0gQUxQSEFCRVQge1xuICBETkEgPSAnRE5BJyxcbiAgUk5BID0gJ1JOQScsXG4gIFBUID0gJ1BUJyxcbiAgVU4gPSAnVU4nLFxufVxuXG5leHBvcnQgY29uc3QgZW51bSBUQUdTIHtcbiAgYWxpZ25lZCA9ICdhbGlnbmVkJyxcbiAgYWxwaGFiZXQgPSAnYWxwaGFiZXQnLFxuICBhbHBoYWJldFNpemUgPSAnLmFscGhhYmV0U2l6ZScsXG4gIGFscGhhYmV0SXNNdWx0aWNoYXIgPSAnLmFscGhhYmV0SXNNdWx0aWNoYXInLFxuICBzZXBhcmF0b3IgPSAnc2VwYXJhdG9yJyxcbn07XG5cbmV4cG9ydCB0eXBlIFNlcUNvbFN0YXRzID0geyBmcmVxOiBNb25vbWVyRnJlcXMsIHNhbWVMZW5ndGg6IGJvb2xlYW4gfVxuZXhwb3J0IHR5cGUgU3BsaXR0ZXJGdW5jID0gKHNlcTogc3RyaW5nKSA9PiBzdHJpbmdbXTtcbmV4cG9ydCB0eXBlIE1vbm9tZXJGcmVxcyA9IHsgW206IHN0cmluZ106IG51bWJlciB9O1xuXG4vKiogU3RhdHMgb2Ygc2VxdWVuY2VzIHdpdGggc3BlY2lmaWVkIHNwbGl0dGVyIGZ1bmMsIHJldHVybnMgeyBmcmVxLCBzYW1lTGVuZ3RoIH0uXG4gKiBAcGFyYW0ge0RHLkNvbHVtbn0gc2VxQ29sXG4gKiBAcGFyYW0ge251bWJlcn0gbWluTGVuZ3RoXG4gKiBAcGFyYW0ge1NwbGl0dGVyRnVuY30gc3BsaXR0ZXJcbiAqIEByZXR1cm4geyBTZXFDb2xTdGF0cyB9LCBzYW1lTGVuZ3RoOiBib29sZWFuIH0gc3RhdHMgb2YgY29sdW1uIHNlcXVlbmNlc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RhdHMoc2VxQ29sOiBERy5Db2x1bW4sIG1pbkxlbmd0aDogbnVtYmVyLCBzcGxpdHRlcjogU3BsaXR0ZXJGdW5jKTogU2VxQ29sU3RhdHMge1xuICBjb25zdCBmcmVxOiB7IFttOiBzdHJpbmddOiBudW1iZXIgfSA9IHt9O1xuICBsZXQgc2FtZUxlbmd0aCA9IHRydWU7XG4gIGxldCBmaXJzdExlbmd0aCA9IG51bGw7XG5cbiAgZm9yIChjb25zdCBzZXEgb2Ygc2VxQ29sLmNhdGVnb3JpZXMpIHtcbiAgICBjb25zdCBtU2VxID0gc3BsaXR0ZXIoc2VxKTtcblxuICAgIGlmIChmaXJzdExlbmd0aCA9PSBudWxsKVxuICAgICAgZmlyc3RMZW5ndGggPSBtU2VxLmxlbmd0aDtcbiAgICBlbHNlIGlmIChtU2VxLmxlbmd0aCAhPT0gZmlyc3RMZW5ndGgpXG4gICAgICBzYW1lTGVuZ3RoID0gZmFsc2U7XG5cbiAgICBpZiAobVNlcS5sZW5ndGggPj0gbWluTGVuZ3RoKSB7XG4gICAgICBmb3IgKGNvbnN0IG0gb2YgbVNlcSkge1xuICAgICAgICBpZiAoIShtIGluIGZyZXEpKVxuICAgICAgICAgIGZyZXFbbV0gPSAwO1xuICAgICAgICBmcmVxW21dICs9IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiB7ZnJlcTogZnJlcSwgc2FtZUxlbmd0aDogc2FtZUxlbmd0aH07XG59XG5cbmV4cG9ydCBjb25zdCBtb25vbWVyUmU6IFJlZ0V4cCA9IC9cXFsoXFx3KylcXF18KFxcdyl8KC0pL2c7XG5cbi8qKiBTcGxpdCBzZXF1ZW5jZSBmb3Igc2luZ2xlIGNoYXJhY3RlciBtb25vbWVycywgc3F1YXJlIGJyYWNrZXRzIG11bHRpY2hhciBtb25vbWVyIG5hbWVzIG9yIGdhcCBzeW1ib2wuXG4gKiBAcGFyYW0ge2FueX0gc2VxIG9iamVjdCB3aXRoIHNlcXVlbmNlXG4gKiBAcmV0dXJuIHtzdHJpbmdbXX0gYXJyYXkgb2YgbW9ub21lcnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNwbGl0dGVyQXNGYXN0YShzZXE6IGFueSk6IHN0cmluZ1tdIHtcbiAgcmV0dXJuIHd1PFJlZ0V4cE1hdGNoQXJyYXk+KHNlcS50b1N0cmluZygpLm1hdGNoQWxsKG1vbm9tZXJSZSkpXG4gICAgLm1hcCgobWE6IFJlZ0V4cE1hdGNoQXJyYXkpID0+IHtcbiAgICAgIGxldCBtUmVzOiBzdHJpbmc7XG4gICAgICBjb25zdCBtOiBzdHJpbmcgPSBtYVswXTtcbiAgICAgIGlmIChtLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgbVJlcyA9IG1hWzFdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbVJlcyA9IG07XG4gICAgICB9XG4gICAgICByZXR1cm4gbVJlcztcbiAgICB9KS50b0FycmF5KCk7XG59XG5cbi8qKiBHZXRzIG1ldGhvZCB0byBzcGxpdCBzZXF1ZW5jZSBieSBzZXBhcmF0b3JcbiAqIEBwYXJhbSB7c3RyaW5nfSBzZXBhcmF0b3JcbiAqIEBwYXJhbSBsaW1pdFxuICogQHJldHVybiB7U3BsaXR0ZXJGdW5jfVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3BsaXR0ZXJXaXRoU2VwYXJhdG9yKHNlcGFyYXRvcjogc3RyaW5nLCBsaW1pdDogbnVtYmVyIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkKTogU3BsaXR0ZXJGdW5jIHtcbiAgcmV0dXJuIChzZXE6IHN0cmluZykgPT4ge1xuICAgIHJldHVybiBzZXEuc3BsaXQoc2VwYXJhdG9yLCBsaW1pdCk7XG4gIH07XG59XG5cbmNvbnN0IGhlbG1SZTogUmVnRXhwID0gLyhQRVBUSURFMXxETkExfFJOQTEpXFx7KFtefV0rKX0vZztcbmNvbnN0IGhlbG1QcDFSZTogUmVnRXhwID0gL1xcWyhbXlxcW1xcXV0rKV0vZztcblxuXG4vKiogU3BsaXRzIEhlbG0gc3RyaW5nIHRvIG1vbm9tZXJzLCBidXQgZG9lcyBub3QgcmVwbGFjZSBtb25vbWVyIG5hbWVzIHRvIG90aGVyIG5vdGF0aW9uIChlLmcuIGZvciBSTkEpLlxuICogT25seSBmb3IgbGluZWFyIHBvbHltZXJzLCBkb2VzIG5vdCBzcGxpdCBSTkEgZm9yIHJpYm9zZSBhbmQgcGhvc3BoYXRlIG1vbm9tZXJzLlxuICogQHBhcmFtIHtzdHJpbmd9IHNlcSBTb3VyY2Ugc3RyaW5nIG9mIEhFTE0gbm90YXRpb25cbiAqIEByZXR1cm4ge3N0cmluZ1tdfVxuICovXG5leHBvcnQgZnVuY3Rpb24gc3BsaXR0ZXJBc0hlbG0oc2VxOiBhbnkpOiBzdHJpbmdbXSB7XG4gIGhlbG1SZS5sYXN0SW5kZXggPSAwO1xuICBjb25zdCBlYTogUmVnRXhwRXhlY0FycmF5IHwgbnVsbCA9IGhlbG1SZS5leGVjKHNlcS50b1N0cmluZygpKTtcbiAgY29uc3QgaW5TZXE6IHN0cmluZyB8IG51bGwgPSBlYSA/IGVhWzJdIDogbnVsbDtcblxuICBjb25zdCBtbVBvc3RQcm9jZXNzID0gKG1tOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICAgIGhlbG1QcDFSZS5sYXN0SW5kZXggPSAwO1xuICAgIGNvbnN0IHBwMU0gPSBoZWxtUHAxUmUuZXhlYyhtbSk7XG4gICAgaWYgKHBwMU0gJiYgcHAxTS5sZW5ndGggPj0gMilcbiAgICAgIHJldHVybiBwcDFNWzFdO1xuICAgIGVsc2VcbiAgICAgIHJldHVybiBtbTtcbiAgfTtcblxuICBjb25zdCBtbUxpc3Q6IHN0cmluZ1tdID0gaW5TZXEgPyBpblNlcS5zcGxpdCgnLicpIDogW107XG4gIHJldHVybiBtbUxpc3QubWFwKG1tUG9zdFByb2Nlc3MpO1xufVxuXG4vKiogR2V0IHNwbGl0dGVyIG1ldGhvZCB0byBzcGxpdCBzZXF1ZW5jZXMgdG8gbW9ub21lcnNcbiAqIEBwYXJhbSB7c3RyaW5nfSB1bml0c1xuICogQHBhcmFtIHtzdHJpbmd9IHNlcGFyYXRvclxuICogQHBhcmFtIGxpbWl0XG4gKiBAcmV0dXJuIHtTcGxpdHRlckZ1bmN9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTcGxpdHRlcih1bml0czogc3RyaW5nLCBzZXBhcmF0b3I6IHN0cmluZywgbGltaXQ6IG51bWJlciB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCk6IFNwbGl0dGVyRnVuYyB7XG4gIGlmICh1bml0cy50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoTk9UQVRJT04uRkFTVEEpKVxuICAgIHJldHVybiBzcGxpdHRlckFzRmFzdGE7XG4gIGVsc2UgaWYgKHVuaXRzLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aChOT1RBVElPTi5TRVBBUkFUT1IpKVxuICAgIHJldHVybiBnZXRTcGxpdHRlcldpdGhTZXBhcmF0b3Ioc2VwYXJhdG9yLCBsaW1pdCk7XG4gIGVsc2UgaWYgKHVuaXRzLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aChOT1RBVElPTi5IRUxNKSlcbiAgICByZXR1cm4gc3BsaXR0ZXJBc0hlbG07XG4gIGVsc2VcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgdW5pdHMgJHt1bml0c30gLmApO1xuXG4gIC8vIFRPRE86IFNwbGl0dGVyIGZvciBIRUxNXG59XG5cbi8qKiBHZW5lcmF0ZSBzcGxpdHRlciBmdW5jdGlvbiBmb3Igc2VxdWVuY2UgY29sdW1uXG4gKiBAcGFyYW0ge0RHLkNvbHVtbn0gY29sXG4gKiBAcmV0dXJuIHtTcGxpdHRlckZ1bmN9IFNwbGl0dGVyIGZ1bmN0aW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTcGxpdHRlckZvckNvbHVtbihjb2w6IERHLkNvbHVtbik6IFNwbGl0dGVyRnVuYyB7XG4gIGlmIChjb2wuc2VtVHlwZSAhPT0gREcuU0VNVFlQRS5NQUNST01PTEVDVUxFKVxuICAgIHRocm93IG5ldyBFcnJvcihgR2V0IHNwbGl0dGVyIGZvciBzZW1UeXBlIFwiJHtERy5TRU1UWVBFLk1BQ1JPTU9MRUNVTEV9XCIgb25seS5gKTtcblxuICBjb25zdCB1bml0cyA9IGNvbC5nZXRUYWcoREcuVEFHUy5VTklUUyk7XG4gIGNvbnN0IHNlcGFyYXRvciA9IGNvbC5nZXRUYWcoVEFHUy5zZXBhcmF0b3IpO1xuICByZXR1cm4gZ2V0U3BsaXR0ZXIodW5pdHMsIHNlcGFyYXRvcik7XG59XG5cbmNvbnN0IGxvbmdNb25vbWVyUGFydFJlOiBSZWdFeHAgPSAvKFxcdyspL2c7XG5cbi8qKiBDb252ZXJ0IGxvbmcgbW9ub21lciBuYW1lcyB0byBzaG9ydCBvbmVzICovXG5leHBvcnQgZnVuY3Rpb24gbW9ub21lclRvU2hvcnQoYW1pbm86IHN0cmluZywgbWF4TGVuZ3RoT2ZNb25vbWVyOiBudW1iZXIpOiBzdHJpbmcge1xuICBjb25zdCBzaG9ydEFtaW5vTWF0Y2g6IFJlZ0V4cE1hdGNoQXJyYXkgfCBudWxsID0gYW1pbm8ubWF0Y2gobG9uZ01vbm9tZXJQYXJ0UmUpO1xuICBjb25zdCBuZWVkQWRkRG90czogYm9vbGVhbiA9IGFtaW5vLmxlbmd0aCA+IG1heExlbmd0aE9mTW9ub21lciB8fCAoc2hvcnRBbWlub01hdGNoPy5sZW5ndGggPz8gMCkgPiAxO1xuICBjb25zdCBzaG9ydEFtaW5vID0gc2hvcnRBbWlub01hdGNoPy5bMF0gPz8gJyAnO1xuICByZXR1cm4gIW5lZWRBZGREb3RzID8gc2hvcnRBbWlubyA6IHNob3J0QW1pbm8uc3Vic3RyaW5nKDAsIG1heExlbmd0aE9mTW9ub21lcikgKyAn4oCmJztcbn1cblxuLyoqIENhbGN1bGF0ZSBzaW1pbGFyaXR5IGluIGN1cnJlbnQgc2VxdWVuY2UgYW5kIGFscGhhYmV0LlxuICogQHBhcmFtIHtNb25vbWVyRnJlcXN9IGZyZXFcbiAqIEBwYXJhbSB7U2V0PHN0cmluZz59IGFscGhhYmV0XG4gKiBAcGFyYW0ge3N0cmluZ30gZ2FwU3ltYm9sXG4gKiBAcmV0dXJuIHtudW1iZXJ9IENvc2luZSBzaW1pbGFyaXR5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRBbHBoYWJldFNpbWlsYXJpdHkoZnJlcTogTW9ub21lckZyZXFzLCBhbHBoYWJldDogU2V0PHN0cmluZz4sIGdhcFN5bWJvbDogc3RyaW5nID0gJy0nKTogbnVtYmVyIHtcbiAgY29uc3Qga2V5cyA9IG5ldyBTZXQ8c3RyaW5nPihbLi4ubmV3IFNldChPYmplY3Qua2V5cyhmcmVxKSksIC4uLmFscGhhYmV0XSk7XG4gIGtleXMuZGVsZXRlKGdhcFN5bWJvbCk7XG5cbiAgY29uc3QgZnJlcUE6IG51bWJlcltdID0gW107XG4gIGNvbnN0IGFscGhhYmV0QTogbnVtYmVyW10gPSBbXTtcbiAgZm9yIChjb25zdCBtIG9mIGtleXMpIHtcbiAgICBmcmVxQS5wdXNoKG0gaW4gZnJlcSA/IGZyZXFbbV0gOiAwKTtcbiAgICBhbHBoYWJldEEucHVzaChhbHBoYWJldC5oYXMobSkgPyAxIDogMCk7XG4gIH1cbiAgLyogVGhlcmUgd2VyZSBhIGZldyBpZGVhczogY2hpLXNxdWFyZWQsIHBlYXJzb24gY29ycmVsYXRpb24gKHZhcmlhbmNlPyksIHNjYWxhciBwcm9kdWN0ICovXG4gIGNvbnN0IGZyZXFWOiBWZWN0b3IgPSBuZXcgVmVjdG9yKGZyZXFBKTtcbiAgY29uc3QgYWxwaGFiZXRWOiBWZWN0b3IgPSBuZXcgVmVjdG9yKGFscGhhYmV0QSk7XG4gIHJldHVybiB2ZWN0b3JEb3RQcm9kdWN0KGZyZXFWLCBhbHBoYWJldFYpIC8gKHZlY3Rvckxlbmd0aChmcmVxVikgKiB2ZWN0b3JMZW5ndGgoYWxwaGFiZXRWKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZXRlY3RBbHBoYWJldChzdGF0czogU2VxQ29sU3RhdHMpOiBzdHJpbmcge1xuICBjb25zdCBhbHBoYWJldENhbmRpZGF0ZXM6IFtzdHJpbmcsIFNldDxzdHJpbmc+XVtdID0gW1xuICAgIFtBTFBIQUJFVC5QVCwgVW5pdHNIYW5kbGVyLlBlcHRpZGVGYXN0YUFscGhhYmV0XSxcbiAgICBbQUxQSEFCRVQuRE5BLCBVbml0c0hhbmRsZXIuRG5hRmFzdGFBbHBoYWJldF0sXG4gICAgW0FMUEhBQkVULlJOQSwgVW5pdHNIYW5kbGVyLlJuYUZhc3RhQWxwaGFiZXRdLFxuICBdO1xuXG4gIC8vIENhbGN1bGF0ZSBsaWtlbGlob29kcyBmb3IgYWxwaGFiZXRfY2FuZGlkYXRlc1xuICBjb25zdCBhbHBoYWJldENhbmRpZGF0ZXNTaW06IG51bWJlcltdID0gYWxwaGFiZXRDYW5kaWRhdGVzLm1hcChcbiAgICAoYykgPT4gZ2V0QWxwaGFiZXRTaW1pbGFyaXR5KHN0YXRzLmZyZXEsIGNbMV0pKTtcbiAgY29uc3QgbWF4Q29zID0gTWF0aC5tYXgoLi4uYWxwaGFiZXRDYW5kaWRhdGVzU2ltKTtcbiAgY29uc3QgYWxwaGFiZXQgPSBtYXhDb3MgPiAwLjY1ID8gYWxwaGFiZXRDYW5kaWRhdGVzW2FscGhhYmV0Q2FuZGlkYXRlc1NpbS5pbmRleE9mKG1heENvcyldWzBdIDogJ1VOJztcbiAgcmV0dXJuIGFscGhhYmV0O1xufVxuXG4vKiogU2VsZWN0cyBhIHN1aXRhYmxlIHBhbGV0dGUgYmFzZWQgb24gY29sdW1uIGRhdGFcbiAqIEBwYXJhbSB7REcuQ29sdW1ufSBzZXFDb2wgQ29sdW1uIHRvIGxvb2sgZm9yIGEgcGFsZXR0ZVxuICogQHBhcmFtIHtudW1iZXJ9ICBtaW5MZW5ndGggbWluaW11bSBsZW5ndGggb2Ygc2VxdWVuY2UgdG8gZGV0ZWN0IHBhbGV0dGUgKGVtcHR5IHN0cmluZ3MgYXJlIGFsbG93ZWQpXG4gKiBAcmV0dXJuIHtTZXFQYWxldHRlfSBQYWxldHRlIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGFscGhhYmV0IG9mIHRoZSBzZXF1ZW5jZXMgaW4gdGhlIGNvbHVtblxuICovXG5leHBvcnQgZnVuY3Rpb24gcGlja1VwUGFsZXR0ZShzZXFDb2w6IERHLkNvbHVtbiwgbWluTGVuZ3RoOiBudW1iZXIgPSA1KTogU2VxUGFsZXR0ZSB7XG4gIGxldCBhbHBoYWJldDogc3RyaW5nO1xuICBpZiAoc2VxQ29sLnNlbVR5cGUgPT0gREcuU0VNVFlQRS5NQUNST01PTEVDVUxFKSB7XG4gICAgY29uc3QgdWg6IFVuaXRzSGFuZGxlciA9IG5ldyBVbml0c0hhbmRsZXIoc2VxQ29sKTtcbiAgICBhbHBoYWJldCA9IHVoLmFscGhhYmV0O1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IHN0YXRzOiBTZXFDb2xTdGF0cyA9IGdldFN0YXRzKHNlcUNvbCwgbWluTGVuZ3RoLCBzcGxpdHRlckFzRmFzdGEpO1xuICAgIGFscGhhYmV0ID0gZGV0ZWN0QWxwaGFiZXQoc3RhdHMpO1xuICB9XG5cbiAgY29uc3QgcmVzID0gZ2V0UGFsZXR0ZUJ5VHlwZShhbHBoYWJldCk7XG4gIHJldHVybiByZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRQYWxldHRlQnlUeXBlKHBhbGV0dGVUeXBlOiBzdHJpbmcpOiBTZXFQYWxldHRlIHtcbiAgc3dpdGNoIChwYWxldHRlVHlwZSkge1xuICBjYXNlICdQVCc6XG4gICAgcmV0dXJuIEFtaW5vYWNpZHNQYWxldHRlcy5Hcm9rR3JvdXBzO1xuICBjYXNlICdOVCc6XG4gIGNhc2UgJ0ROQSc6XG4gIGNhc2UgJ1JOQSc6XG4gICAgcmV0dXJuIE51Y2xlb3RpZGVzUGFsZXR0ZXMuQ2hyb21hdG9ncmFtO1xuICAgIC8vIG90aGVyXG4gIGRlZmF1bHQ6XG4gICAgcmV0dXJuIFVua25vd25TZXFQYWxldHRlcy5Db2xvcjtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcGlja1VwU2VxQ29sKGRmOiBERy5EYXRhRnJhbWUpOiBERy5Db2x1bW4gfCBudWxsIHtcbiAgY29uc3Qgc2VtVHlwZUNvbExpc3QgPSBkZi5jb2x1bW5zLmJ5U2VtVHlwZUFsbChERy5TRU1UWVBFLk1BQ1JPTU9MRUNVTEUpO1xuICBsZXQgcmVzQ29sOiBERy5Db2x1bW4gfCBudWxsID0gc2VtVHlwZUNvbExpc3QuZmluZCgoY29sKSA9PiB7XG4gICAgY29uc3QgdW5pdHMgPSBjb2wuZ2V0VGFnKERHLlRBR1MuVU5JVFMpO1xuICAgIHJldHVybiB1bml0cyA/IHVuaXRzLmluZGV4T2YoJ01TQScpICE9PSAtMSA6IGZhbHNlO1xuICB9KSA/PyBudWxsO1xuICBpZiAoIXJlc0NvbCAmJiBzZW1UeXBlQ29sTGlzdC5sZW5ndGggPiAwKVxuICAgIHJlc0NvbCA9IHNlbVR5cGVDb2xMaXN0WzBdO1xuICByZXR1cm4gcmVzQ29sO1xufVxuIl19
@@ -1,4 +1,4 @@
1
- import { IMonomerLib } from '../types/index';
1
+ import { IMonomerLib } from '../types';
2
2
  /** Handles Helm package presence and initialization */
3
3
  export declare function getMonomerLib(): Promise<IMonomerLib>;
4
4
  //# sourceMappingURL=monomer-lib.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"monomer-lib.d.ts","sourceRoot":"","sources":["monomer-lib.ts"],"names":[],"mappings":"AAIA,OAAO,EAAU,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAEpD,wDAAwD;AACxD,wBAAsB,aAAa,IAAI,OAAO,CAAC,WAAW,CAAC,CAM1D"}
1
+ {"version":3,"file":"monomer-lib.d.ts","sourceRoot":"","sources":["monomer-lib.ts"],"names":[],"mappings":"AAIA,OAAO,EAAU,WAAW,EAAC,MAAM,UAAU,CAAC;AAE9C,wDAAwD;AACxD,wBAAsB,aAAa,IAAI,OAAO,CAAC,WAAW,CAAC,CAM1D"}
@@ -18,4 +18,4 @@ export function getMonomerLib() {
18
18
  return (yield grok.functions.call('Helm:getMonomerLibObj'));
19
19
  });
20
20
  }
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ub21lci1saWIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJtb25vbWVyLWxpYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFDQSxPQUFPLEtBQUssSUFBSSxNQUFNLG1CQUFtQixDQUFDO0FBQzFDLE9BQU8sS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFJdEMsd0RBQXdEO0FBQ3hELE1BQU0sVUFBZ0IsYUFBYTs7UUFDakMsMERBQTBEO1FBQzFELElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBQyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUM7WUFDeEUsTUFBTSxJQUFJLEtBQUssQ0FBQyx5REFBeUQsQ0FBQyxDQUFDO1FBRTdFLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQWdCLENBQUM7SUFDN0UsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdWkgZnJvbSAnZGF0YWdyb2stYXBpL3VpJztcbmltcG9ydCAqIGFzIGdyb2sgZnJvbSAnZGF0YWdyb2stYXBpL2dyb2snO1xuaW1wb3J0ICogYXMgREcgZnJvbSAnZGF0YWdyb2stYXBpL2RnJztcblxuaW1wb3J0IHtNb25vbWVyLCBJTW9ub21lckxpYn0gZnJvbSAnLi4vdHlwZXMvaW5kZXgnO1xuXG4vKiogSGFuZGxlcyBIZWxtIHBhY2thZ2UgcHJlc2VuY2UgYW5kIGluaXRpYWxpemF0aW9uICAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldE1vbm9tZXJMaWIoKTogUHJvbWlzZTxJTW9ub21lckxpYj4ge1xuICAvLyBBbGwgY2hlY2tzIGZvciBIZWxtIHBhY2thZ2UgcHJlc2VuY2UgYW5kIGlzIGluaXRpYWxpemVkXG4gIGlmIChERy5GdW5jLmZpbmQoe3BhY2thZ2U6ICdIZWxtJywgbmFtZTogJ2dldE1vbm9tZXJMaWJPYmonfSkubGVuZ3RoID09PSAwKVxuICAgIHRocm93IG5ldyBFcnJvcignUGFja2FnZSBcIkhlbG1cIiBtdXN0IGJlIGluc3RhbGxlZCBmb3IgbW9ub21lciBsaWJyYXJpZXMuJyk7XG5cbiAgcmV0dXJuIChhd2FpdCBncm9rLmZ1bmN0aW9ucy5jYWxsKCdIZWxtOmdldE1vbm9tZXJMaWJPYmonKSkgYXMgSU1vbm9tZXJMaWI7XG59Il19
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ub21lci1saWIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJtb25vbWVyLWxpYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFDQSxPQUFPLEtBQUssSUFBSSxNQUFNLG1CQUFtQixDQUFDO0FBQzFDLE9BQU8sS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFJdEMsd0RBQXdEO0FBQ3hELE1BQU0sVUFBZ0IsYUFBYTs7UUFDakMsMERBQTBEO1FBQzFELElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBQyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUM7WUFDeEUsTUFBTSxJQUFJLEtBQUssQ0FBQyx5REFBeUQsQ0FBQyxDQUFDO1FBRTdFLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQWdCLENBQUM7SUFDN0UsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdWkgZnJvbSAnZGF0YWdyb2stYXBpL3VpJztcbmltcG9ydCAqIGFzIGdyb2sgZnJvbSAnZGF0YWdyb2stYXBpL2dyb2snO1xuaW1wb3J0ICogYXMgREcgZnJvbSAnZGF0YWdyb2stYXBpL2RnJztcblxuaW1wb3J0IHtNb25vbWVyLCBJTW9ub21lckxpYn0gZnJvbSAnLi4vdHlwZXMnO1xuXG4vKiogSGFuZGxlcyBIZWxtIHBhY2thZ2UgcHJlc2VuY2UgYW5kIGluaXRpYWxpemF0aW9uICAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldE1vbm9tZXJMaWIoKTogUHJvbWlzZTxJTW9ub21lckxpYj4ge1xuICAvLyBBbGwgY2hlY2tzIGZvciBIZWxtIHBhY2thZ2UgcHJlc2VuY2UgYW5kIGlzIGluaXRpYWxpemVkXG4gIGlmIChERy5GdW5jLmZpbmQoe3BhY2thZ2U6ICdIZWxtJywgbmFtZTogJ2dldE1vbm9tZXJMaWJPYmonfSkubGVuZ3RoID09PSAwKVxuICAgIHRocm93IG5ldyBFcnJvcignUGFja2FnZSBcIkhlbG1cIiBtdXN0IGJlIGluc3RhbGxlZCBmb3IgbW9ub21lciBsaWJyYXJpZXMuJyk7XG5cbiAgcmV0dXJuIChhd2FpdCBncm9rLmZ1bmN0aW9ucy5jYWxsKCdIZWxtOmdldE1vbm9tZXJMaWJPYmonKSkgYXMgSU1vbm9tZXJMaWI7XG59Il19
@@ -1 +1 @@
1
- {"version":3,"file":"monomer-utils.d.ts","sourceRoot":"","sources":["monomer-utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAUtC,eAAO,MAAM,sBAAsB,+BAA+B,CAAC;AAEnE,wBAAgB,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,MAAM,GAAG,IAAI,CAwB/D;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,EAAE,iBAAiB,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,IAAI,CAuB3F;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,IAAI,CAoBhG;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,GAAG,CAAA;CAAE,CAYjF;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,GAAG,GAAG,CA8BpE"}
1
+ {"version":3,"file":"monomer-utils.d.ts","sourceRoot":"","sources":["monomer-utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAStC,eAAO,MAAM,sBAAsB,+BAA+B,CAAC;AAEnE,wBAAgB,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,MAAM,GAAG,IAAI,CAwB/D;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,EAAE,iBAAiB,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,IAAI,CAuB3F;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,IAAI,CAoBhG;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,GAAG,CAAA;CAAE,CAYjF;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,GAAG,GAAG,CA8BpE"}