openchemlib 9.20.0 → 9.20.1

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.
@@ -11856,7 +11856,7 @@ function getExports($wnd) {
11856
11856
  return aromaticPi > 1;
11857
11857
  };
11858
11858
  _.idCodeCreate = function idCodeCreate() {
11859
- var EZCount, THCount, a, a$array, a$index, a$max, atom, atom0, atom1, atom10, atom11, atom2, atom3, atom4, atom5, atom6, atom7, atom8, atom9, atomList, base, bond, bond0, bond1, bond2, bond3, bond4, bondOrder, chargedAtoms, connBits, conns, count, customLabel, dbits, dif, enhancedCustomLabelCount, enhancedCustomLabelMaxChar, enhancedCustomLabelMaxLength, hIndex, i, i0, isAromaticSPBond, j, label_0, lbits, length_0, maxChar, maxLength, maxdif, mbits, nbits, nitrogens, otherAtoms, oxygens, parity;
11859
+ var EZCount, THCount, a, a$array, a$index, a$max, atom, atom0, atom1, atom10, atom11, atom2, atom3, atom4, atom5, atom6, atom7, atom8, atom9, atomList, base, bond, bond0, bond1, bond2, bond3, bond4, bondOrder, chargedAtoms, connBits, conns, count, dbits, dif, enhancedCustomLabelCount, enhancedCustomLabelMaxChar, enhancedCustomLabelMaxLength, hIndex, i, i0, isAromaticSPBond, j, label_0, lbits, length_0, maxChar, maxLength, maxdif, mbits, nbits, nitrogens, otherAtoms, oxygens, parity;
11860
11860
  this.encodeBitsStart(false);
11861
11861
  this.encodeBits(9, 4);
11862
11862
  nbits = $wnd.Math.max(getNeededBits(this.mMol.getAtoms_0()), getNeededBits(this.mMol.getBonds_0()));
@@ -12212,13 +12212,13 @@ function getExports($wnd) {
12212
12212
  this.encodeBits(fromInt_0(lbits), 6);
12213
12213
  this.encodeBits(fromInt_0(mbits), 16);
12214
12214
  for (atom = 0; atom < this.mMol.getAtoms_0(); atom++) {
12215
- customLabel = this.mMol.getAtomCustomLabel_0(this.mGraphAtom[atom]);
12216
- if (jsNotEquals(customLabel, null)) {
12215
+ label_0 = this.mMol.getAtomCustomLabel_0(this.mGraphAtom[atom]);
12216
+ if (jsNotEquals(label_0, null) && (length__I__devirtual$_0(label_0) > 15 || this.maxEnhancedCustomLabelCharCode(label_0) > 127)) {
12217
12217
  this.encodeBits(fromInt_0(atom), nbits);
12218
- length_0 = $wnd.Math.min(63, length__I__devirtual$_0(customLabel));
12218
+ length_0 = $wnd.Math.min(63, length__I__devirtual$_0(label_0));
12219
12219
  this.encodeBits(fromInt_0(length_0), lbits);
12220
12220
  for (i = 0; i < length_0; i++)
12221
- this.encodeBits(fromInt_0(charAt_I_C__devirtual$_0(customLabel, i)), mbits);
12221
+ this.encodeBits(fromInt_0(charAt_I_C__devirtual$_0(label_0, i)), mbits);
12222
12222
  }
12223
12223
  }
12224
12224
  }
@@ -14057,8 +14057,8 @@ function getExports($wnd) {
14057
14057
  return new TextDrawingObject_0(detail);
14058
14058
  return null;
14059
14059
  }
14060
- defineClass(846, 1, { 1: 1 });
14061
- var Lcom_actelion_research_chem_DrawingObjectFactory_2_classLit = createForClass("com.actelion.research.chem", "DrawingObjectFactory", 846, Ljava_lang_Object_2_classLit);
14060
+ defineClass(848, 1, { 1: 1 });
14061
+ var Lcom_actelion_research_chem_DrawingObjectFactory_2_classLit = createForClass("com.actelion.research.chem", "DrawingObjectFactory", 848, Ljava_lang_Object_2_classLit);
14062
14062
  function $clinit_Iterable() {
14063
14063
  $clinit_Iterable = emptyMethod;
14064
14064
  }
@@ -14792,8 +14792,8 @@ function getExports($wnd) {
14792
14792
  function $clinit_Element$1() {
14793
14793
  $clinit_Element$1 = emptyMethod;
14794
14794
  }
14795
- defineClass(847, 1, { 1: 1, 36: 1 });
14796
- var Lcom_actelion_research_chem_Element$1_2_classLit = createForClass("com.actelion.research.chem", "Element/1", 847, Ljava_lang_Object_2_classLit);
14795
+ defineClass(849, 1, { 1: 1, 36: 1 });
14796
+ var Lcom_actelion_research_chem_Element$1_2_classLit = createForClass("com.actelion.research.chem", "Element/1", 849, Ljava_lang_Object_2_classLit);
14797
14797
  function $clinit_ExtendedDepictor() {
14798
14798
  $clinit_ExtendedDepictor = emptyMethod;
14799
14799
  $clinit_Object();
@@ -22610,6 +22610,14 @@ function getExports($wnd) {
22610
22610
  this.$init_38();
22611
22611
  this.mMode = mode;
22612
22612
  }
22613
+ function buildCustomLabel(cl, line) {
22614
+ if (startsWith_Ljava_lang_String__Z__devirtual$(line, "M SAL") && startsWith_Ljava_lang_String_I_Z__devirtual$(line, " 1", 10))
22615
+ cl.atom = parseInt_2(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, 13, 17)));
22616
+ else if (startsWith_Ljava_lang_String__Z__devirtual$(line, "M SDT"))
22617
+ cl.isOCLCUstomLabel = startsWith_Ljava_lang_String__Z__devirtual$(substring_I_Ljava_lang_String___devirtual$(line, 11), "NOSEARCH_OCL_CUSTOM_LABEL");
22618
+ else if (startsWith_Ljava_lang_String__Z__devirtual$(line, "M SED"))
22619
+ cl.label_0 = trim__Ljava_lang_String___devirtual$(substring_I_Ljava_lang_String___devirtual$(line, 11));
22620
+ }
22613
22621
  defineClass(150, 1, { 1: 1 }, MolfileParser, MolfileParser_0);
22614
22622
  _.$init_38 = function $init_38() {
22615
22623
  };
@@ -22618,6 +22626,14 @@ function getExports($wnd) {
22618
22626
  ($clinit_System(), out_0).println_0(s);
22619
22627
  }
22620
22628
  };
22629
+ _.buildAtom = function buildAtom(line) {
22630
+ var atom, x_0, y_0, z_0;
22631
+ x_0 = parseFloat_0(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, 0, 10)));
22632
+ y_0 = parseFloat_0(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, 10, 20)));
22633
+ z_0 = parseFloat_0(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, 20, 30)));
22634
+ atom = this.mMol.addAtom_1(x_0, -y_0, -z_0);
22635
+ return atom;
22636
+ };
22621
22637
  _.buildBond = function buildBond(atom1, atom2, bondType, stereo, topology) {
22622
22638
  var bond, isAtomESRAnd, queryFeatures, realBondType;
22623
22639
  realBondType = 1;
@@ -22747,6 +22763,213 @@ function getExports($wnd) {
22747
22763
  ui = isNull(this.mBondIndexMap) ? null : castTo(this.mBondIndexMap.get(valueOf_12(sourceBondIndex)), 35);
22748
22764
  return isNull(ui) ? sourceBondIndex - 1 : ui.intValue();
22749
22765
  };
22766
+ _.handleAtomLists = function handleAtomLists(line) {
22767
+ var aaa, atom, bNotList, k, no, sym, v;
22768
+ if (startsWith_Ljava_lang_String__Z__devirtual$(line, "M ALS")) {
22769
+ atom = parseInt_2(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, 7, 10))) - 1;
22770
+ if (atom >= 0) {
22771
+ no = parseInt_2(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, 10, 13)));
22772
+ bNotList = charAt_I_C__devirtual$_0(line, 14) == 84;
22773
+ v = initUnidimensionalArray(I_classLit, { 6: 1, 4: 1, 1: 1 }, 5, no, 15, 1);
22774
+ aaa = 16;
22775
+ for (k = 0; k < no; k++, aaa += 4) {
22776
+ sym = trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, aaa, aaa + 4));
22777
+ v[k] = getAtomicNoFromLabel_0(sym, 1);
22778
+ }
22779
+ this.mMol.setAtomicNo_0(atom, 6);
22780
+ this.mMol.setAtomList_1(atom, v, bNotList);
22781
+ }
22782
+ }
22783
+ };
22784
+ _.handleAtomMaps = function handleAtomMaps(atom, line) {
22785
+ var mapNo;
22786
+ mapNo = length__I__devirtual$_0(line) < 63 ? 0 : this.parseIntOrSpaces(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, 60, 63)));
22787
+ this.mMol.setAtomMapNo_0(atom, mapNo, false);
22788
+ };
22789
+ _.handleAtomQueryFeatures = function handleAtomQueryFeatures(atom, line) {
22790
+ var hCount;
22791
+ hCount = length__I__devirtual$_0(line) < 45 ? 0 : this.parseIntOrSpaces(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, 42, 45)));
22792
+ switch (hCount) {
22793
+ case 0:
22794
+ break;
22795
+ case 1:
22796
+ this.mMol.setAtomQueryFeature_0(atom, or_0(256, 512), true);
22797
+ break;
22798
+ case 2:
22799
+ this.mMol.setAtomQueryFeature_0(atom, 128, true);
22800
+ break;
22801
+ case 3:
22802
+ this.mMol.setAtomQueryFeature_0(atom, or_0(128, 256), true);
22803
+ break;
22804
+ default:
22805
+ this.mMol.setAtomQueryFeature_0(atom, or_0(or_0(128, 256), 512), true);
22806
+ break;
22807
+ }
22808
+ if (length__I__devirtual$_0(line) >= 48 && charAt_I_C__devirtual$_0(line, 47) == 49) {
22809
+ this.mMol.setAtomQueryFeature_0(atom, 8192, true);
22810
+ }
22811
+ };
22812
+ _.handleCharge = function handleCharge(atom, line) {
22813
+ var chargeDif;
22814
+ chargeDif = this.parseIntOrSpaces(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, 36, 39)));
22815
+ if (chargeDif != 0) {
22816
+ if (chargeDif == 4)
22817
+ this.mMol.setAtomRadical_0(atom, 32);
22818
+ else
22819
+ this.mMol.setAtomCharge_0(atom, 4 - chargeDif);
22820
+ }
22821
+ };
22822
+ _.handleCharge_0 = function handleCharge_0(line) {
22823
+ var aaa, atom, charge, j, k, vvv;
22824
+ if (startsWith_Ljava_lang_String__Z__devirtual$(line, "M CHG")) {
22825
+ j = parseInt_2(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, 6, 9)));
22826
+ if (j > 0) {
22827
+ aaa = 10;
22828
+ vvv = 14;
22829
+ for (k = 1; k <= j; k++, aaa += 8, vvv += 8) {
22830
+ atom = parseInt_2(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, aaa, aaa + 3))) - 1;
22831
+ charge = parseInt_2(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, vvv, vvv + 3)));
22832
+ this.mMol.setAtomCharge_0(atom, charge);
22833
+ }
22834
+ }
22835
+ }
22836
+ };
22837
+ _.handleIsotops = function handleIsotops(line) {
22838
+ var aaa, atom, j, k, mass, vvv;
22839
+ if (startsWith_Ljava_lang_String__Z__devirtual$(line, "M ISO")) {
22840
+ j = parseInt_2(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, 6, 9)));
22841
+ if (j > 0) {
22842
+ aaa = 10;
22843
+ vvv = 14;
22844
+ for (k = 1; k <= j; k++, aaa += 8, vvv += 8) {
22845
+ atom = parseInt_2(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, aaa, aaa + 3))) - 1;
22846
+ mass = parseInt_2(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, vvv, vvv + 3)));
22847
+ this.mMol.setAtomMass_0(atom, mass);
22848
+ }
22849
+ }
22850
+ }
22851
+ };
22852
+ _.handleMassDiff = function handleMassDiff(atom, line) {
22853
+ var massDif;
22854
+ massDif = this.parseIntOrSpaces(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, 34, 36)));
22855
+ if (massDif != 0) {
22856
+ this.mMol.setAtomMass_0(atom, ($clinit_Molecule(), cRoundedMass)[this.mMol.getAtomicNo_0(atom)] + massDif);
22857
+ }
22858
+ };
22859
+ _.handleQueryAtoms = function handleQueryAtoms(atom, line) {
22860
+ var atomicNo, label_0, list;
22861
+ label_0 = trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, 31, 34));
22862
+ if (equals_Ljava_lang_Object__Z__devirtual$_2(label_0, "A") || equals_Ljava_lang_Object__Z__devirtual$_2(label_0, "*")) {
22863
+ this.mMol.setAtomQueryFeature_0(atom, 1, true);
22864
+ } else if (equals_Ljava_lang_Object__Z__devirtual$_2(label_0, "Q")) {
22865
+ list = initUnidimensionalArray(I_classLit, { 6: 1, 4: 1, 1: 1 }, 5, 1, 15, 1);
22866
+ list[0] = 6;
22867
+ this.mMol.setAtomList_1(atom, list, true);
22868
+ } else {
22869
+ atomicNo = getAtomicNoFromLabel_0(label_0, 67);
22870
+ this.mMol.setAtomicNo_0(atom, atomicNo);
22871
+ }
22872
+ };
22873
+ _.handleRGroupLablelLocation = function handleRGroupLablelLocation(line) {
22874
+ var aaa, atom, j, k, rno, vvv;
22875
+ if (startsWith_Ljava_lang_String__Z__devirtual$(line, "M RGP")) {
22876
+ j = parseInt_2(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, 6, 9)));
22877
+ if (j > 0) {
22878
+ aaa = 10;
22879
+ vvv = 14;
22880
+ for (k = 1; k <= j; k++, aaa += 8, vvv += 8) {
22881
+ atom = parseInt_2(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, aaa, aaa + 3))) - 1;
22882
+ rno = parseInt_2(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, vvv, vvv + 3)));
22883
+ if (rno >= 1 && rno <= 20) {
22884
+ this.mMol.setAtomicNo_0(atom, getAtomicNoFromLabel_0("R" + rno, 2));
22885
+ }
22886
+ }
22887
+ }
22888
+ }
22889
+ };
22890
+ _.handleRadicals = function handleRadicals(line) {
22891
+ var aaa, atom, j, k, radical, vvv;
22892
+ if (startsWith_Ljava_lang_String__Z__devirtual$(line, "M RAD")) {
22893
+ j = parseInt_2(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, 6, 9)));
22894
+ if (j > 0) {
22895
+ aaa = 10;
22896
+ vvv = 14;
22897
+ for (k = 1; k <= j; k++, aaa += 8, vvv += 8) {
22898
+ atom = parseInt_2(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, aaa, aaa + 3))) - 1;
22899
+ radical = parseInt_2(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, vvv, vvv + 3)));
22900
+ switch (radical) {
22901
+ case 1:
22902
+ this.mMol.setAtomRadical_0(atom, 16);
22903
+ break;
22904
+ case 2:
22905
+ this.mMol.setAtomRadical_0(atom, 32);
22906
+ break;
22907
+ case 3:
22908
+ this.mMol.setAtomRadical_0(atom, 48);
22909
+ break;
22910
+ }
22911
+ }
22912
+ }
22913
+ }
22914
+ };
22915
+ _.handleRingBondCount = function handleRingBondCount(line) {
22916
+ var aaa, atom, j, k, ringState, vvv;
22917
+ if (startsWith_Ljava_lang_String__Z__devirtual$(line, "M RBC") || startsWith_Ljava_lang_String__Z__devirtual$(line, "M RBD")) {
22918
+ j = parseInt_2(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, 6, 9)));
22919
+ if (j > 0) {
22920
+ aaa = 10;
22921
+ vvv = 14;
22922
+ for (k = 1; k <= j; k++, aaa += 8, vvv += 8) {
22923
+ atom = parseInt_2(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, aaa, aaa + 3))) - 1;
22924
+ ringState = parseInt_2(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, vvv, vvv + 3)));
22925
+ switch (ringState) {
22926
+ case -1:
22927
+ this.mMol.setAtomQueryFeature_0(atom, or_0(or_0(16, 32), 64), true);
22928
+ break;
22929
+ case 1:
22930
+ this.mMol.setAtomQueryFeature_0(atom, 8, true);
22931
+ break;
22932
+ case 2:
22933
+ this.mMol.setAtomQueryFeature_0(atom, or_0(or_0(8, 32), 64), true);
22934
+ break;
22935
+ case 3:
22936
+ this.mMol.setAtomQueryFeature_0(atom, or_0(or_0(16, 32), 64), true);
22937
+ break;
22938
+ case 4:
22939
+ this.mMol.setAtomQueryFeature_0(atom, or_0(or_0(8, 16), 32), true);
22940
+ break;
22941
+ }
22942
+ }
22943
+ }
22944
+ }
22945
+ };
22946
+ _.handleSubstitutionCount = function handleSubstitutionCount(line) {
22947
+ var aaa, atom, bond, j, k, substitution, substitutionCount, vvv;
22948
+ if (startsWith_Ljava_lang_String__Z__devirtual$(line, "M SUB")) {
22949
+ j = parseInt_2(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, 6, 9)));
22950
+ if (j > 0) {
22951
+ aaa = 10;
22952
+ vvv = 14;
22953
+ for (k = 1; k <= j; k++, aaa += 8, vvv += 8) {
22954
+ atom = parseInt_2(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, aaa, aaa + 3))) - 1;
22955
+ substitution = parseInt_2(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, vvv, vvv + 3)));
22956
+ if (substitution == -2) {
22957
+ this.mMol.setAtomQueryFeature_0(atom, 2048, true);
22958
+ } else if (substitution > 0) {
22959
+ substitutionCount = 0;
22960
+ for (bond = 0; bond < this.mMol.getAllBonds_0(); bond++) {
22961
+ if (this.mMol.getBondAtom_0(0, bond) == atom || this.mMol.getBondAtom_0(1, bond) == atom) {
22962
+ substitutionCount++;
22963
+ }
22964
+ }
22965
+ if (substitution > substitutionCount) {
22966
+ this.mMol.setAtomQueryFeature_0(atom, 4096, true);
22967
+ }
22968
+ }
22969
+ }
22970
+ }
22971
+ }
22972
+ };
22750
22973
  _.handleValences = function handleValences(valence) {
22751
22974
  var atom, chargeCorrection;
22752
22975
  if (jsNotEquals(valence, null)) {
@@ -22815,7 +23038,7 @@ function getExports($wnd) {
22815
23038
  return null;
22816
23039
  };
22817
23040
  _.interpretV3AtomLine = function interpretV3AtomLine(line) {
22818
- var atom, atomIndex, bNotList, bond, field, index_0, index1, index2, l, label_0, list, mapNo, specifier, substitutionCount, v, value_0, x_0, y_0, z_0;
23041
+ var atom, atomIndex, bNotList, bond, field, index_0, index1, index2, l, label_0, list, mapNo, matcher, pattern, rgLabel, specifier, substitutionCount, v, value_0, x_0, y_0, z_0;
22819
23042
  index1 = 0;
22820
23043
  index2 = this.endOfItem(line, index1);
22821
23044
  atomIndex = parseInt_2(substring_II_Ljava_lang_String___devirtual$(line, index1, index2));
@@ -22867,10 +23090,11 @@ function getExports($wnd) {
22867
23090
  specifier = substring_II_Ljava_lang_String___devirtual$(line, index1, index2);
22868
23091
  index_0 = indexOf_I_I__devirtual$(specifier, 61);
22869
23092
  field = substring_II_Ljava_lang_String___devirtual$(specifier, 0, index_0);
22870
- value_0 = parseInt_2(substring_I_Ljava_lang_String___devirtual$(specifier, index_0 + 1));
22871
23093
  if (equals_Ljava_lang_Object__Z__devirtual$_2(field, "CHG")) {
23094
+ value_0 = parseInt_2(substring_I_Ljava_lang_String___devirtual$(specifier, index_0 + 1));
22872
23095
  this.mMol.setAtomCharge_0(atom, value_0);
22873
23096
  } else if (equals_Ljava_lang_Object__Z__devirtual$_2(field, "RAD")) {
23097
+ value_0 = parseInt_2(substring_I_Ljava_lang_String___devirtual$(specifier, index_0 + 1));
22874
23098
  switch (value_0) {
22875
23099
  case 1:
22876
23100
  this.mMol.setAtomRadical_0(atom, 16);
@@ -22884,10 +23108,13 @@ function getExports($wnd) {
22884
23108
  }
22885
23109
  } else if (equals_Ljava_lang_Object__Z__devirtual$_2(field, "CFG")) {
22886
23110
  } else if (equals_Ljava_lang_Object__Z__devirtual$_2(field, "MASS")) {
23111
+ value_0 = parseInt_2(substring_I_Ljava_lang_String___devirtual$(specifier, index_0 + 1));
22887
23112
  this.mMol.setAtomMass_0(atom, value_0);
22888
23113
  } else if (equals_Ljava_lang_Object__Z__devirtual$_2(field, "VAL")) {
23114
+ value_0 = parseInt_2(substring_I_Ljava_lang_String___devirtual$(specifier, index_0 + 1));
22889
23115
  this.mMol.setAtomAbnormalValence_0(atom, value_0 == -1 ? 0 : value_0 == 0 ? -1 : value_0);
22890
23116
  } else if (equals_Ljava_lang_Object__Z__devirtual$_2(field, "HCOUNT")) {
23117
+ value_0 = parseInt_2(substring_I_Ljava_lang_String___devirtual$(specifier, index_0 + 1));
22891
23118
  switch (value_0) {
22892
23119
  case 0:
22893
23120
  break;
@@ -22905,6 +23132,7 @@ function getExports($wnd) {
22905
23132
  break;
22906
23133
  }
22907
23134
  } else if (equals_Ljava_lang_Object__Z__devirtual$_2(field, "SUBST")) {
23135
+ value_0 = parseInt_2(substring_I_Ljava_lang_String___devirtual$(specifier, index_0 + 1));
22908
23136
  if (value_0 == -1) {
22909
23137
  this.mMol.setAtomQueryFeature_0(atom, 2048, true);
22910
23138
  } else if (value_0 > 0) {
@@ -22919,6 +23147,7 @@ function getExports($wnd) {
22919
23147
  }
22920
23148
  }
22921
23149
  } else if (equals_Ljava_lang_Object__Z__devirtual$_2(field, "RBCNT")) {
23150
+ value_0 = parseInt_2(substring_I_Ljava_lang_String___devirtual$(specifier, index_0 + 1));
22922
23151
  switch (value_0) {
22923
23152
  case -1:
22924
23153
  this.mMol.setAtomQueryFeature_0(atom, or_0(or_0(16, 32), 64), true);
@@ -22936,6 +23165,13 @@ function getExports($wnd) {
22936
23165
  this.mMol.setAtomQueryFeature_0(atom, or_0(or_0(8, 16), 32), true);
22937
23166
  break;
22938
23167
  }
23168
+ } else if (equals_Ljava_lang_Object__Z__devirtual$_2(field, "RGROUPS")) {
23169
+ pattern = compile("RGROUPS=\\((\\d+) (\\d+).*\\)");
23170
+ matcher = pattern.matcher(line);
23171
+ if (matcher.find_0()) {
23172
+ rgLabel = "R" + matcher.group_0(2);
23173
+ this.mMol.setAtomCustomLabel_0(atom, rgLabel);
23174
+ }
22939
23175
  } else {
22940
23176
  this.TRACE("Warning MolfileParser: Unused version 3 atom specifier:" + field + "\n");
22941
23177
  }
@@ -23221,7 +23457,7 @@ function getExports($wnd) {
23221
23457
  return this.indexOfNextItem(line, end);
23222
23458
  };
23223
23459
  _.readMoleculeFromBuffer = function readMoleculeFromBuffer(reader) {
23224
- var aaa, atom, atom1, atom2, atomicNo, bNotList, bond, bondType, charge, chargeDif, cl, cl$iterator, customLabelMap, e, hCount, i, i0, i1, j, k, label_0, line, list, mapNo, mass, massDif, name_0, natoms, nbonds, nlists, no, radical, res, ringState, rno, sgroupNo, stereo, substitution, substitutionCount, sym, topology, v, valence, vvv, x_0, y_0, z_0;
23460
+ var atom, atom1, atom2, bondType, cl, cl$iterator, customLabelMap, e, i, i0, i1, line, name_0, natoms, nbonds, nlists, res, sgroupNo, stereo, topology, v, valence;
23225
23461
  valence = null;
23226
23462
  customLabelMap = null;
23227
23463
  try {
@@ -23289,54 +23525,12 @@ function getExports($wnd) {
23289
23525
  this.TRACE("Error [readMoleculeFromBuffer]: No Atom Line\n");
23290
23526
  return false;
23291
23527
  }
23292
- x_0 = parseFloat_0(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, 0, 10)));
23293
- y_0 = parseFloat_0(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, 10, 20)));
23294
- z_0 = parseFloat_0(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, 20, 30)));
23295
- atom = this.mMol.addAtom_1(x_0, -y_0, -z_0);
23296
- label_0 = trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, 31, 34));
23297
- if (equals_Ljava_lang_Object__Z__devirtual$_2(label_0, "A") || equals_Ljava_lang_Object__Z__devirtual$_2(label_0, "*")) {
23298
- this.mMol.setAtomQueryFeature_0(atom, 1, true);
23299
- } else if (equals_Ljava_lang_Object__Z__devirtual$_2(label_0, "Q")) {
23300
- list = initUnidimensionalArray(I_classLit, { 6: 1, 4: 1, 1: 1 }, 5, 1, 15, 1);
23301
- list[0] = 6;
23302
- this.mMol.setAtomList_1(atom, list, true);
23303
- } else {
23304
- atomicNo = getAtomicNoFromLabel_0(label_0, 67);
23305
- this.mMol.setAtomicNo_0(atom, atomicNo);
23306
- }
23307
- massDif = this.parseIntOrSpaces(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, 34, 36)));
23308
- if (massDif != 0) {
23309
- this.mMol.setAtomMass_0(atom, ($clinit_Molecule(), cRoundedMass)[this.mMol.getAtomicNo_0(atom)] + massDif);
23310
- }
23311
- chargeDif = this.parseIntOrSpaces(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, 36, 39)));
23312
- if (chargeDif != 0) {
23313
- if (chargeDif == 4)
23314
- this.mMol.setAtomRadical_0(atom, 32);
23315
- else
23316
- this.mMol.setAtomCharge_0(atom, 4 - chargeDif);
23317
- }
23318
- mapNo = length__I__devirtual$_0(line) < 63 ? 0 : this.parseIntOrSpaces(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, 60, 63)));
23319
- this.mMol.setAtomMapNo_0(atom, mapNo, false);
23320
- hCount = length__I__devirtual$_0(line) < 45 ? 0 : this.parseIntOrSpaces(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, 42, 45)));
23321
- switch (hCount) {
23322
- case 0:
23323
- break;
23324
- case 1:
23325
- this.mMol.setAtomQueryFeature_0(atom, or_0(256, 512), true);
23326
- break;
23327
- case 2:
23328
- this.mMol.setAtomQueryFeature_0(atom, 128, true);
23329
- break;
23330
- case 3:
23331
- this.mMol.setAtomQueryFeature_0(atom, or_0(128, 256), true);
23332
- break;
23333
- default:
23334
- this.mMol.setAtomQueryFeature_0(atom, or_0(or_0(128, 256), 512), true);
23335
- break;
23336
- }
23337
- if (length__I__devirtual$_0(line) >= 48 && charAt_I_C__devirtual$_0(line, 47) == 49) {
23338
- this.mMol.setAtomQueryFeature_0(atom, 8192, true);
23339
- }
23528
+ atom = this.buildAtom(line);
23529
+ this.handleQueryAtoms(atom, line);
23530
+ this.handleMassDiff(atom, line);
23531
+ this.handleCharge(atom, line);
23532
+ this.handleAtomMaps(atom, line);
23533
+ this.handleAtomQueryFeatures(atom, line);
23340
23534
  v = length__I__devirtual$_0(line) < 51 ? 0 : this.parseIntOrSpaces(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, 48, 51)));
23341
23535
  if (v != 0) {
23342
23536
  if (jsEquals(valence, null))
@@ -23374,133 +23568,13 @@ function getExports($wnd) {
23374
23568
  return true;
23375
23569
  }
23376
23570
  while (jsNotEquals(line, null) && !(equals_Ljava_lang_Object__Z__devirtual$_2(line, "M END") || equals_Ljava_lang_Object__Z__devirtual$_2(line, "$$$$"))) {
23377
- if (startsWith_Ljava_lang_String__Z__devirtual$(line, "M CHG")) {
23378
- j = parseInt_2(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, 6, 9)));
23379
- if (j > 0) {
23380
- aaa = 10;
23381
- vvv = 14;
23382
- for (k = 1; k <= j; k++, aaa += 8, vvv += 8) {
23383
- atom = parseInt_2(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, aaa, aaa + 3))) - 1;
23384
- charge = parseInt_2(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, vvv, vvv + 3)));
23385
- this.mMol.setAtomCharge_0(atom, charge);
23386
- }
23387
- }
23388
- }
23389
- if (startsWith_Ljava_lang_String__Z__devirtual$(line, "M ISO")) {
23390
- j = parseInt_2(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, 6, 9)));
23391
- if (j > 0) {
23392
- aaa = 10;
23393
- vvv = 14;
23394
- for (k = 1; k <= j; k++, aaa += 8, vvv += 8) {
23395
- atom = parseInt_2(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, aaa, aaa + 3))) - 1;
23396
- mass = parseInt_2(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, vvv, vvv + 3)));
23397
- this.mMol.setAtomMass_0(atom, mass);
23398
- }
23399
- }
23400
- }
23401
- if (startsWith_Ljava_lang_String__Z__devirtual$(line, "M RAD")) {
23402
- j = parseInt_2(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, 6, 9)));
23403
- if (j > 0) {
23404
- aaa = 10;
23405
- vvv = 14;
23406
- for (k = 1; k <= j; k++, aaa += 8, vvv += 8) {
23407
- atom = parseInt_2(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, aaa, aaa + 3))) - 1;
23408
- radical = parseInt_2(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, vvv, vvv + 3)));
23409
- switch (radical) {
23410
- case 1:
23411
- this.mMol.setAtomRadical_0(atom, 16);
23412
- break;
23413
- case 2:
23414
- this.mMol.setAtomRadical_0(atom, 32);
23415
- break;
23416
- case 3:
23417
- this.mMol.setAtomRadical_0(atom, 48);
23418
- break;
23419
- }
23420
- }
23421
- }
23422
- }
23423
- if (startsWith_Ljava_lang_String__Z__devirtual$(line, "M RBC") || startsWith_Ljava_lang_String__Z__devirtual$(line, "M RBD")) {
23424
- j = parseInt_2(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, 6, 9)));
23425
- if (j > 0) {
23426
- aaa = 10;
23427
- vvv = 14;
23428
- for (k = 1; k <= j; k++, aaa += 8, vvv += 8) {
23429
- atom = parseInt_2(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, aaa, aaa + 3))) - 1;
23430
- ringState = parseInt_2(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, vvv, vvv + 3)));
23431
- switch (ringState) {
23432
- case -1:
23433
- this.mMol.setAtomQueryFeature_0(atom, or_0(or_0(16, 32), 64), true);
23434
- break;
23435
- case 1:
23436
- this.mMol.setAtomQueryFeature_0(atom, 8, true);
23437
- break;
23438
- case 2:
23439
- this.mMol.setAtomQueryFeature_0(atom, or_0(or_0(8, 32), 64), true);
23440
- break;
23441
- case 3:
23442
- this.mMol.setAtomQueryFeature_0(atom, or_0(or_0(16, 32), 64), true);
23443
- break;
23444
- case 4:
23445
- this.mMol.setAtomQueryFeature_0(atom, or_0(or_0(8, 16), 32), true);
23446
- break;
23447
- }
23448
- }
23449
- }
23450
- }
23451
- if (startsWith_Ljava_lang_String__Z__devirtual$(line, "M ALS")) {
23452
- atom = parseInt_2(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, 7, 10))) - 1;
23453
- if (atom >= 0) {
23454
- no = parseInt_2(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, 10, 13)));
23455
- bNotList = charAt_I_C__devirtual$_0(line, 14) == 84;
23456
- v = initUnidimensionalArray(I_classLit, { 6: 1, 4: 1, 1: 1 }, 5, no, 15, 1);
23457
- aaa = 16;
23458
- for (k = 0; k < no; k++, aaa += 4) {
23459
- sym = trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, aaa, aaa + 4));
23460
- v[k] = getAtomicNoFromLabel_0(sym, 1);
23461
- }
23462
- this.mMol.setAtomicNo_0(atom, 6);
23463
- this.mMol.setAtomList_1(atom, v, bNotList);
23464
- }
23465
- }
23466
- if (startsWith_Ljava_lang_String__Z__devirtual$(line, "M SUB")) {
23467
- j = parseInt_2(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, 6, 9)));
23468
- if (j > 0) {
23469
- aaa = 10;
23470
- vvv = 14;
23471
- for (k = 1; k <= j; k++, aaa += 8, vvv += 8) {
23472
- atom = parseInt_2(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, aaa, aaa + 3))) - 1;
23473
- substitution = parseInt_2(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, vvv, vvv + 3)));
23474
- if (substitution == -2) {
23475
- this.mMol.setAtomQueryFeature_0(atom, 2048, true);
23476
- } else if (substitution > 0) {
23477
- substitutionCount = 0;
23478
- for (bond = 0; bond < this.mMol.getAllBonds_0(); bond++) {
23479
- if (this.mMol.getBondAtom_0(0, bond) == atom || this.mMol.getBondAtom_0(1, bond) == atom) {
23480
- substitutionCount++;
23481
- }
23482
- }
23483
- if (substitution > substitutionCount) {
23484
- this.mMol.setAtomQueryFeature_0(atom, 4096, true);
23485
- }
23486
- }
23487
- }
23488
- }
23489
- }
23490
- if (startsWith_Ljava_lang_String__Z__devirtual$(line, "M RGP")) {
23491
- j = parseInt_2(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, 6, 9)));
23492
- if (j > 0) {
23493
- aaa = 10;
23494
- vvv = 14;
23495
- for (k = 1; k <= j; k++, aaa += 8, vvv += 8) {
23496
- atom = parseInt_2(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, aaa, aaa + 3))) - 1;
23497
- rno = parseInt_2(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, vvv, vvv + 3)));
23498
- if (rno >= 1 && rno <= 20) {
23499
- this.mMol.setAtomicNo_0(atom, getAtomicNoFromLabel_0("R" + rno, 2));
23500
- }
23501
- }
23502
- }
23503
- }
23571
+ this.handleCharge_0(line);
23572
+ this.handleIsotops(line);
23573
+ this.handleRadicals(line);
23574
+ this.handleRingBondCount(line);
23575
+ this.handleAtomLists(line);
23576
+ this.handleSubstitutionCount(line);
23577
+ this.handleRGroupLablelLocation(line);
23504
23578
  if (startsWith_Ljava_lang_String__Z__devirtual$(line, "M SAL") && length__I__devirtual$_0(line) >= 17 || startsWith_Ljava_lang_String__Z__devirtual$(line, "M SDT") && length__I__devirtual$_0(line) >= 12 || startsWith_Ljava_lang_String__Z__devirtual$(line, "M SED") && length__I__devirtual$_0(line) >= 12) {
23505
23579
  if (isNull(customLabelMap))
23506
23580
  customLabelMap = new TreeMap();
@@ -23510,12 +23584,7 @@ function getExports($wnd) {
23510
23584
  cl = new MolfileParser$CustomLabel();
23511
23585
  customLabelMap.put(sgroupNo, cl);
23512
23586
  }
23513
- if (startsWith_Ljava_lang_String__Z__devirtual$(line, "M SAL") && startsWith_Ljava_lang_String_I_Z__devirtual$(line, " 1", 10))
23514
- cl.atom = parseInt_2(trim__Ljava_lang_String___devirtual$(substring_II_Ljava_lang_String___devirtual$(line, 13, 17)));
23515
- else if (startsWith_Ljava_lang_String__Z__devirtual$(line, "M SDT"))
23516
- cl.isOCLCUstomLabel = startsWith_Ljava_lang_String__Z__devirtual$(substring_I_Ljava_lang_String___devirtual$(line, 11), "NOSEARCH_OCL_CUSTOM_LABEL");
23517
- else if (startsWith_Ljava_lang_String__Z__devirtual$(line, "M SED"))
23518
- cl.label_0 = trim__Ljava_lang_String___devirtual$(substring_I_Ljava_lang_String___devirtual$(line, 11));
23587
+ buildCustomLabel(cl, line);
23519
23588
  }
23520
23589
  line = reader.readLine();
23521
23590
  }
@@ -26918,7 +26987,7 @@ function getExports($wnd) {
26918
26987
  throw toJs(new Exception_1("SmilesParser: Unknown atom label. position:" + (position - 1)));
26919
26988
  return true;
26920
26989
  }
26921
- if (smiles[position] == 65 && smiles[position + 1] == 115 || smiles[position] == 83 && smiles[position + 1] == 101) {
26990
+ if (smiles[position] == 97 && smiles[position + 1] == 115 || smiles[position] == 115 && smiles[position + 1] == 101) {
26922
26991
  info.labelLength = 2;
26923
26992
  info.atomicNo = getAtomicNoFromLabel($create_10(smiles, position, info.labelLength, ($clinit_StandardCharsets(), UTF_8)));
26924
26993
  info.mayBeAliphatic = false;
@@ -29432,9 +29501,9 @@ function getExports($wnd) {
29432
29501
  this.$init_61();
29433
29502
  this.mBondLengthSet = isNull(set_0) ? new BondLengthSet(mol) : set_0;
29434
29503
  this.mMol = mol;
29435
- this.mBondAngle = initUnidimensionalArray(F_classLit, { 4: 1, 1: 1, 7: 1 }, 873, this.mMol.getAtoms_0(), 0, 3);
29504
+ this.mBondAngle = initUnidimensionalArray(F_classLit, { 4: 1, 1: 1, 7: 1 }, 875, this.mMol.getAtoms_0(), 0, 3);
29436
29505
  for (atom0 = 0; atom0 < this.mMol.getAtoms_0(); atom0++) {
29437
- this.mBondAngle[atom0] = initUnidimensionalArray(F_classLit, { 873: 1, 4: 1, 1: 1, 7: 1 }, 44, this.mMol.getAllConnAtoms_0(atom0), 0, 2);
29506
+ this.mBondAngle[atom0] = initUnidimensionalArray(F_classLit, { 875: 1, 4: 1, 1: 1, 7: 1 }, 44, this.mMol.getAllConnAtoms_0(atom0), 0, 2);
29438
29507
  for (i = 1; i < this.mMol.getAllConnAtoms_0(atom0); i++)
29439
29508
  this.mBondAngle[atom0][i] = initUnidimensionalArray(F_classLit, { 44: 1, 4: 1, 1: 1 }, 5, i, 15, 1);
29440
29509
  }
@@ -32248,9 +32317,9 @@ function getExports($wnd) {
32248
32317
  atomIndex2 = temp;
32249
32318
  }
32250
32319
  if (jsEquals(fa, null))
32251
- fa = initUnidimensionalArray(Lcom_actelion_research_chem_coords_FragmentAssociation_2_classLit, { 4: 1, 1: 1, 7: 1 }, 869, this.mFragmentList.size(), 0, 2);
32320
+ fa = initUnidimensionalArray(Lcom_actelion_research_chem_coords_FragmentAssociation_2_classLit, { 4: 1, 1: 1, 7: 1 }, 871, this.mFragmentList.size(), 0, 2);
32252
32321
  if (jsEquals(fa[f2], null))
32253
- setCheck(fa, f2, initUnidimensionalArray(Lcom_actelion_research_chem_coords_FragmentAssociation_2_classLit, { 869: 1, 4: 1, 1: 1, 7: 1 }, 116, f2, 0, 1));
32322
+ setCheck(fa, f2, initUnidimensionalArray(Lcom_actelion_research_chem_coords_FragmentAssociation_2_classLit, { 871: 1, 4: 1, 1: 1, 7: 1 }, 116, f2, 0, 1));
32254
32323
  if (isNotNull(fa[f2][f1]))
32255
32324
  fa[f2][f1].add_6(atomIndex1, atomIndex2);
32256
32325
  else {
@@ -33694,7 +33763,7 @@ function getExports($wnd) {
33694
33763
  function $clinit_InventorDefaultTemplateList() {
33695
33764
  $clinit_InventorDefaultTemplateList = emptyMethod;
33696
33765
  $clinit_ArrayList();
33697
- DEFAULT_TEMPLATE = stampJavaTypeInfo(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), { 4: 1, 1: 1, 7: 1, 9: 1 }, 2, 6, ["gkvt@@@@LddTTTrbTRTRTRRRRRRRRRRRRRrVRrIh\\IAaQxlY@gRHdJCJcRXlv_CfJx|A\\hRHejiLaQjTje^kSjtFcIhvXmVKMjt{lN{Kavy\\^wGjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjh@@vo@HBC@PhLN@bPhtFKCcpDbILaRhtzCIbsX\\nOO`JDbqDjSKdJeJmQjtz}Ahr[LVkMnpz\\nwGj{PBhBdBlBBBjBfBnBaBiBeBmBcBkBgBoB`bhbdblbbbjbfbnbabibebmbcbkbgbob`RhRdRlRbRjRfRnRaRiReRmRcRkRgRoR`rhrdrlrbrjrfrnrarirermrcrkrgror`JhJdJlJbJjJfJnJaJiJeJmJcJkJgJoJ`jhjdjljbjjjfjnjajijej` !BnkjyVwsVr|iQn|Q|goTZWPIJwbudnRkVYBez]siZymNJZUqNFBqZWxS~iCXVU]SeRjwrtSPAjkvXLpBAZauDPzq]PfMlecrMnkv|@\\SFD`m|mWiEoCXp`SIe_J[l|[XCbloTV`[Gc@FJGopyyoOlFQfUy^w\\Bgz|", "gcrt@@@@LdbbbbTRbRbRbRRRRRRRRRRRRVRrVQIA`HtRGAaIxZAHfShTjCIbqylQGKgqdBaXeQJeruBiPitZmFoPZLFSYbvZlVGMnsZ]vWSmr{]UUUUUUUUUUUUUUUUUUUUUUUUUUUUUT@@[G`DAA`HTFG@QHTZCEaqxBQDfPiTZ]AdqYlNWGgpEBQXbUIerEReVhuZ]^`tYMfKUfwX]NW[jkPBhBdBlBbBjBfBnBaBiBeBmBcBkBgBoB`bhbdblbbbjbfbnbabibebmbcbkbgbob`RhRdRlRbRjRfRnRaRiReRmRcRkRgRoR`rhrdrlrbrjrfrnrarirermrcrkrgror`JhJdJlJbJjJfJnJaJiJeJmJcJkJgJoJ`jhjdjljbjjjfjnjajij` !B^cR]`]Fm]QkfljE\\p\x7FUVfgOmFXsQe_gXPyXis_wF|vUUX_XbxpzU]HUFgYViwFo~@uemc@}~T\x7FIEPioYVwr]JnM~[ZEC\\g}~o_pUfdo~irsklTLiyVJshnw^iVAsZ`_~}PYkckURH{FYMImFaRaccUlCZSHMfP", "dml@@Dje^VGiyZjjjh@vtHSBinFU@ !BPTCTy[skMzUPF`AJbBixEZHS[Il", "dml@@DjYVvGiyZjjjh@vtHSBinFU@ !BwLo~BJ~UquhXBinZ\\ykA@F_eMrT", "dml@@LdfbbQX^fUZjjj`C[PaLJfxYT !BzxIHVc{OiJVRpprePho~]}y\x7FwLl", "deL@@DjUYkfEijjjj@MeBDpj[ad !B\x7FaA\x7FMVr[AvkKzm_jKvVbD{sk", "dil@@LddTQRl[NX^Fjjjj@MiBDpj[a@ !BPfL@\x7Fox@M~T@\x7Fox@\x7F`C~@@", "daL@@DjYtKJqjynjjjj@MaBDpj[` !B`bL@_gx@@Gy~@Gx@_`@"]);
33766
+ DEFAULT_TEMPLATE = stampJavaTypeInfo(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), { 4: 1, 1: 1, 7: 1, 9: 1 }, 2, 6, ["gkvt@@@@LddTTTrbTRTRTRRRRRRRRRRRRRrVRrIh\\IAaQxlY@gRHdJCJcRXlv_CfJx|A\\hRHejiLaQjTje^kSjtFcIhvXmVKMjt{lN{Kavy\\^wGjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjh@@vo@HBC@PhLN@bPhtFKCcpDbILaRhtzCIbsX\\nOO`JDbqDjSKdJeJmQjtz}Ahr[LVkMnpz\\nwGj{PBhBdBlBBBjBfBnBaBiBeBmBcBkBgBoB`bhbdblbbbjbfbnbabibebmbcbkbgbob`RhRdRlRbRjRfRnRaRiReRmRcRkRgRoR`rhrdrlrbrjrfrnrarirermrcrkrgror`JhJdJlJbJjJfJnJaJiJeJmJcJkJgJoJ`jhjdjljbjjjfjnjajijej` !BnkjyVwsVr|iQn|Q|goTZWPIJwbudnRkVYBez]siZymNJZUqNFBqZWxS~iCXVU]SeRjwrtSPAjkvXLpBAZauDPzq]PfMlecrMnkv|@\\SFD`m|mWiEoCXp`SIe_J[l|[XCbloTV`[Gc@FJGopyyoOlFQfUy^w\\Bgz|", "gcrt@@@@LdbbbbTRbRbRbRRRRRRRRRRRRVRrVQIA`HtRGAaIxZAHfShTjCIbqylQGKgqdBaXeQJeruBiPitZmFoPZLFSYbvZlVGMnsZ]vWSmr{]UUUUUUUUUUUUUUUUUUUUUUUUUUUUUT@@[G`DAA`HTFG@QHTZCEaqxBQDfPiTZ]AdqYlNWGgpEBQXbUIerEReVhuZ]^`tYMfKUfwX]NW[jkPBhBdBlBbBjBfBnBaBiBeBmBcBkBgBoB`bhbdblbbbjbfbnbabibebmbcbkbgbob`RhRdRlRbRjRfRnRaRiReRmRcRkRgRoR`rhrdrlrbrjrfrnrarirermrcrkrgror`JhJdJlJbJjJfJnJaJiJeJmJcJkJgJoJ`jhjdjljbjjjfjnjajij` !B^cR]`]Fm]QkfljE\\p?UVfgOmFXsQe_gXPyXis_wF|vUUX_XbxpzU]HUFgYViwFo~@uemc@}~T?IEPioYVwr]JnM~[ZEC\\g}~o_pUfdo~irsklTLiyVJshnw^iVAsZ`_~}PYkckURH{FYMImFaRaccUlCZSHMfP", "dml@@Dje^VGiyZjjjh@vtHSBinFU@ !BPTCTy[skMzUPF`AJbBixEZHS[Il", "dml@@DjYVvGiyZjjjh@vtHSBinFU@ !BwLo~BJ~UquhXBinZ\\ykA@F_eMrT", "dml@@LdfbbQX^fUZjjj`C[PaLJfxYT !BzxIHVc{OiJVRpprePho~]}y?wLl", "deL@@DjUYkfEijjjj@MeBDpj[ad !B?aA?MVr[AvkKzm_jKvVbD{sk", "dil@@LddTQRl[NX^Fjjjj@MiBDpj[a@ !BPfL@?ox@M~T@?ox@?`C~@@", "daL@@DjYtKJqjynjjjj@MaBDpj[` !B`bL@_gx@@Gy~@Gx@_`@"]);
33698
33767
  }
33699
33768
  function InventorDefaultTemplateList() {
33700
33769
  $clinit_InventorDefaultTemplateList();
@@ -33705,6 +33774,7 @@ function getExports($wnd) {
33705
33774
  for (idcode$array = DEFAULT_TEMPLATE, idcode$index = 0, idcode$max = idcode$array.length; idcode$index < idcode$max; ++idcode$index) {
33706
33775
  idcode = idcode$array[idcode$index];
33707
33776
  fragment = new IDCodeParserWithoutCoordinateInvention().getCompactMolecule(idcode);
33777
+ fragment.ensureHelperArrays_0(31);
33708
33778
  ffp = searcher.createLongIndex(fragment);
33709
33779
  template = new InventorTemplate(fragment, ffp, false);
33710
33780
  template.normalizeCoordinates();
@@ -34153,8 +34223,8 @@ function getExports($wnd) {
34153
34223
  function $clinit_AbstractDescriptorHandlerLongFP() {
34154
34224
  $clinit_AbstractDescriptorHandlerLongFP = emptyMethod;
34155
34225
  }
34156
- defineClass(837, 1, { 1: 1 });
34157
- var Lcom_actelion_research_chem_descriptor_AbstractDescriptorHandlerLongFP_2_classLit = createForClass("com.actelion.research.chem.descriptor", "AbstractDescriptorHandlerLongFP", 837, Ljava_lang_Object_2_classLit);
34226
+ defineClass(839, 1, { 1: 1 });
34227
+ var Lcom_actelion_research_chem_descriptor_AbstractDescriptorHandlerLongFP_2_classLit = createForClass("com.actelion.research.chem.descriptor", "AbstractDescriptorHandlerLongFP", 839, Ljava_lang_Object_2_classLit);
34158
34228
  function $clinit_ForceField() {
34159
34229
  $clinit_ForceField = emptyMethod;
34160
34230
  }
@@ -34650,8 +34720,8 @@ function getExports($wnd) {
34650
34720
  newtable[i][j] = castTo(table[i][j], 35).intValue();
34651
34721
  return newtable;
34652
34722
  }
34653
- defineClass(845, 1, { 1: 1 });
34654
- var Lcom_actelion_research_chem_forcefield_mmff_Csv_2_classLit = createForClass("com.actelion.research.chem.forcefield.mmff", "Csv", 845, Ljava_lang_Object_2_classLit);
34723
+ defineClass(847, 1, { 1: 1 });
34724
+ var Lcom_actelion_research_chem_forcefield_mmff_Csv_2_classLit = createForClass("com.actelion.research.chem.forcefield.mmff", "Csv", 847, Ljava_lang_Object_2_classLit);
34655
34725
  function $clinit_Electrostatic() {
34656
34726
  $clinit_Electrostatic = emptyMethod;
34657
34727
  $clinit_Object();
@@ -35009,8 +35079,8 @@ function getExports($wnd) {
35009
35079
  row *= 10;
35010
35080
  return row;
35011
35081
  }
35012
- defineClass(844, 1, { 1: 1 });
35013
- var Lcom_actelion_research_chem_forcefield_mmff_PeriodicTable_2_classLit = createForClass("com.actelion.research.chem.forcefield.mmff", "PeriodicTable", 844, Ljava_lang_Object_2_classLit);
35082
+ defineClass(846, 1, { 1: 1 });
35083
+ var Lcom_actelion_research_chem_forcefield_mmff_PeriodicTable_2_classLit = createForClass("com.actelion.research.chem.forcefield.mmff", "PeriodicTable", 846, Ljava_lang_Object_2_classLit);
35014
35084
  function $clinit_RingBoolean() {
35015
35085
  $clinit_RingBoolean = emptyMethod;
35016
35086
  $clinit_Enum();
@@ -35098,8 +35168,8 @@ function getExports($wnd) {
35098
35168
  $clinit_Search();
35099
35169
  return a;
35100
35170
  }
35101
- defineClass(842, 1, { 1: 1 });
35102
- var Lcom_actelion_research_chem_forcefield_mmff_Search_2_classLit = createForClass("com.actelion.research.chem.forcefield.mmff", "Search", 842, Ljava_lang_Object_2_classLit);
35171
+ defineClass(844, 1, { 1: 1 });
35172
+ var Lcom_actelion_research_chem_forcefield_mmff_Search_2_classLit = createForClass("com.actelion.research.chem.forcefield.mmff", "Search", 844, Ljava_lang_Object_2_classLit);
35103
35173
  function $clinit_Searchable() {
35104
35174
  $clinit_Searchable = emptyMethod;
35105
35175
  }
@@ -36546,8 +36616,8 @@ function getExports($wnd) {
36546
36616
  }
36547
36617
  return false;
36548
36618
  }
36549
- defineClass(852, 1, { 1: 1 });
36550
- var Lcom_actelion_research_chem_forcefield_mmff_type_Angle_2_classLit = createForClass("com.actelion.research.chem.forcefield.mmff.type", "Angle", 852, Ljava_lang_Object_2_classLit);
36619
+ defineClass(854, 1, { 1: 1 });
36620
+ var Lcom_actelion_research_chem_forcefield_mmff_type_Angle_2_classLit = createForClass("com.actelion.research.chem.forcefield.mmff.type", "Angle", 854, Ljava_lang_Object_2_classLit);
36551
36621
  function $clinit_Atom_0() {
36552
36622
  $clinit_Atom_0 = emptyMethod;
36553
36623
  $clinit_Object();
@@ -37645,8 +37715,8 @@ function getExports($wnd) {
37645
37715
  }
37646
37716
  return 0;
37647
37717
  }
37648
- defineClass(843, 1, { 1: 1 });
37649
- var Lcom_actelion_research_chem_forcefield_mmff_type_Torsion_2_classLit = createForClass("com.actelion.research.chem.forcefield.mmff.type", "Torsion", 843, Ljava_lang_Object_2_classLit);
37718
+ defineClass(845, 1, { 1: 1 });
37719
+ var Lcom_actelion_research_chem_forcefield_mmff_type_Torsion_2_classLit = createForClass("com.actelion.research.chem.forcefield.mmff.type", "Torsion", 845, Ljava_lang_Object_2_classLit);
37650
37720
  function $clinit_CompoundFileParser() {
37651
37721
  $clinit_CompoundFileParser = emptyMethod;
37652
37722
  $clinit_Object();
@@ -38240,9 +38310,9 @@ function getExports($wnd) {
38240
38310
  $clinit_StructureNameResolver();
38241
38311
  return sResolver;
38242
38312
  }
38243
- defineClass(848, 1, { 1: 1 });
38313
+ defineClass(850, 1, { 1: 1 });
38244
38314
  var sResolver;
38245
- var Lcom_actelion_research_chem_name_StructureNameResolver_2_classLit = createForClass("com.actelion.research.chem.name", "StructureNameResolver", 848, Ljava_lang_Object_2_classLit);
38315
+ var Lcom_actelion_research_chem_name_StructureNameResolver_2_classLit = createForClass("com.actelion.research.chem.name", "StructureNameResolver", 850, Ljava_lang_Object_2_classLit);
38246
38316
  function $clinit_CLogPPredictor() {
38247
38317
  $clinit_CLogPPredictor = emptyMethod;
38248
38318
  $clinit_Object();
@@ -40876,7 +40946,7 @@ function getExports($wnd) {
40876
40946
  }
40877
40947
  }
40878
40948
  }
40879
- this.mRuleBonds = castTo(bondList.toArray_1(initUnidimensionalArray(Lcom_actelion_research_chem_reaction_mapping_ChemicalRuleBond_2_classLit, { 874: 1, 4: 1, 1: 1, 7: 1 }, 149, 0, 0, 1)), 874);
40949
+ this.mRuleBonds = castTo(bondList.toArray_1(initUnidimensionalArray(Lcom_actelion_research_chem_reaction_mapping_ChemicalRuleBond_2_classLit, { 876: 1, 4: 1, 1: 1, 7: 1 }, 149, 0, 0, 1)), 876);
40880
40950
  count = 0;
40881
40951
  for (atom3 = 0; atom3 < this.mReactant.getAtoms_0(); atom3++)
40882
40952
  if (this.mReactant.getAtomMapNo_0(atom3) == 0 && !this.mReactant.isExcludeGroupAtom(atom3))
@@ -50294,7 +50364,7 @@ function getExports($wnd) {
50294
50364
  JSComponent.call(this, jsCheckBox);
50295
50365
  this.$init_194();
50296
50366
  }
50297
- defineClass(858, 191, { 1: 1 }, JSCheckBox);
50367
+ defineClass(860, 191, { 1: 1 }, JSCheckBox);
50298
50368
  _.$init_194 = function $init_194() {
50299
50369
  };
50300
50370
  _.isSelected_0 = function isSelected_1() {
@@ -50305,7 +50375,7 @@ function getExports($wnd) {
50305
50375
  var component = this.getJsComponent();
50306
50376
  return component.setSelected(b);
50307
50377
  };
50308
- var Lcom_actelion_research_gwt_js_api_generic_internal_JSCheckBox_2_classLit = createForClass("com.actelion.research.gwt.js.api.generic.internal", "JSCheckBox", 858, Lcom_actelion_research_gwt_js_api_generic_internal_JSComponent_2_classLit);
50378
+ var Lcom_actelion_research_gwt_js_api_generic_internal_JSCheckBox_2_classLit = createForClass("com.actelion.research.gwt.js.api.generic.internal", "JSCheckBox", 860, Lcom_actelion_research_gwt_js_api_generic_internal_JSComponent_2_classLit);
50309
50379
  function $clinit_JSClipboardHandler() {
50310
50380
  $clinit_JSClipboardHandler = emptyMethod;
50311
50381
  $clinit_Object();
@@ -50358,7 +50428,7 @@ function getExports($wnd) {
50358
50428
  JSComponent.call(this, jsComboBox);
50359
50429
  this.$init_196();
50360
50430
  }
50361
- defineClass(859, 191, { 1: 1 }, JSComboBox);
50431
+ defineClass(861, 191, { 1: 1 }, JSComboBox);
50362
50432
  _.$init_196 = function $init_196() {
50363
50433
  };
50364
50434
  _.addItem_0 = function addItem(item_0) {
@@ -50389,7 +50459,7 @@ function getExports($wnd) {
50389
50459
  var component = this.getJsComponent();
50390
50460
  return component.setSelectedItem(item_0);
50391
50461
  };
50392
- var Lcom_actelion_research_gwt_js_api_generic_internal_JSComboBox_2_classLit = createForClass("com.actelion.research.gwt.js.api.generic.internal", "JSComboBox", 859, Lcom_actelion_research_gwt_js_api_generic_internal_JSComponent_2_classLit);
50462
+ var Lcom_actelion_research_gwt_js_api_generic_internal_JSComboBox_2_classLit = createForClass("com.actelion.research.gwt.js.api.generic.internal", "JSComboBox", 861, Lcom_actelion_research_gwt_js_api_generic_internal_JSComponent_2_classLit);
50393
50463
  function $clinit_JSDialog() {
50394
50464
  $clinit_JSDialog = emptyMethod;
50395
50465
  $clinit_Object();
@@ -50662,14 +50732,14 @@ function getExports($wnd) {
50662
50732
  JSComponent.call(this, jsLabel);
50663
50733
  this.$init_201();
50664
50734
  }
50665
- defineClass(857, 191, { 1: 1 }, JSLabel);
50735
+ defineClass(859, 191, { 1: 1 }, JSLabel);
50666
50736
  _.$init_201 = function $init_201() {
50667
50737
  };
50668
50738
  _.setText_0 = function setText_0(text_0) {
50669
50739
  var component = this.getJsComponent();
50670
50740
  return component.setText(text_0);
50671
50741
  };
50672
- var Lcom_actelion_research_gwt_js_api_generic_internal_JSLabel_2_classLit = createForClass("com.actelion.research.gwt.js.api.generic.internal", "JSLabel", 857, Lcom_actelion_research_gwt_js_api_generic_internal_JSComponent_2_classLit);
50742
+ var Lcom_actelion_research_gwt_js_api_generic_internal_JSLabel_2_classLit = createForClass("com.actelion.research.gwt.js.api.generic.internal", "JSLabel", 859, Lcom_actelion_research_gwt_js_api_generic_internal_JSComponent_2_classLit);
50673
50743
  function $clinit_JSMouseHandler() {
50674
50744
  $clinit_JSMouseHandler = emptyMethod;
50675
50745
  $clinit_GenericEventHandler();
@@ -50715,7 +50785,7 @@ function getExports($wnd) {
50715
50785
  JSComponent.call(this, jsTextField);
50716
50786
  this.$init_204();
50717
50787
  }
50718
- defineClass(860, 191, { 1: 1 }, JSTextField);
50788
+ defineClass(862, 191, { 1: 1 }, JSTextField);
50719
50789
  _.$init_204 = function $init_204() {
50720
50790
  };
50721
50791
  _.getText_0 = function getText_0() {
@@ -50726,7 +50796,7 @@ function getExports($wnd) {
50726
50796
  var component = this.getJsComponent();
50727
50797
  return component.setText(text_0);
50728
50798
  };
50729
- var Lcom_actelion_research_gwt_js_api_generic_internal_JSTextField_2_classLit = createForClass("com.actelion.research.gwt.js.api.generic.internal", "JSTextField", 860, Lcom_actelion_research_gwt_js_api_generic_internal_JSComponent_2_classLit);
50799
+ var Lcom_actelion_research_gwt_js_api_generic_internal_JSTextField_2_classLit = createForClass("com.actelion.research.gwt.js.api.generic.internal", "JSTextField", 862, Lcom_actelion_research_gwt_js_api_generic_internal_JSComponent_2_classLit);
50730
50800
  function $clinit_MoleculeQueryFeatures() {
50731
50801
  $clinit_MoleculeQueryFeatures = emptyMethod;
50732
50802
  $clinit_Object();
@@ -51286,9 +51356,9 @@ function getExports($wnd) {
51286
51356
  b.append_9(ZEROS[i]);
51287
51357
  return b.toString_0();
51288
51358
  }
51289
- defineClass(841, 1, { 1: 1 });
51359
+ defineClass(843, 1, { 1: 1 });
51290
51360
  var ROUNDING_MODE_CODE, ROUNDING_MODE_MULTIPLE_OF = 2, ROUNDING_MODE_NONE = 0, ROUNDING_MODE_SIGNIFICANT_DIGITS = 1, ROUNDING_MODE_TEXT, ZEROS;
51291
- var Lcom_actelion_research_util_DoubleFormat_2_classLit = createForClass("com.actelion.research.util", "DoubleFormat", 841, Ljava_lang_Object_2_classLit);
51361
+ var Lcom_actelion_research_util_DoubleFormat_2_classLit = createForClass("com.actelion.research.util", "DoubleFormat", 843, Ljava_lang_Object_2_classLit);
51292
51362
  function $clinit_IntArrayComparator() {
51293
51363
  $clinit_IntArrayComparator = emptyMethod;
51294
51364
  $clinit_Object();
@@ -51480,10 +51550,10 @@ function getExports($wnd) {
51480
51550
  this.$init_210();
51481
51551
  this.reason = ($clinit_CodeDownloadException$Reason(), TERMINATED);
51482
51552
  }
51483
- defineClass(863, 24, { 4: 1, 12: 1, 1: 1, 24: 1, 18: 1 }, CodeDownloadException);
51553
+ defineClass(865, 24, { 4: 1, 12: 1, 1: 1, 24: 1, 18: 1 }, CodeDownloadException);
51484
51554
  _.$init_210 = function $init_210() {
51485
51555
  };
51486
- var Lcom_google_gwt_core_client_CodeDownloadException_2_classLit = createForClass("com.google.gwt.core.client", "CodeDownloadException", 863, Ljava_lang_RuntimeException_2_classLit);
51556
+ var Lcom_google_gwt_core_client_CodeDownloadException_2_classLit = createForClass("com.google.gwt.core.client", "CodeDownloadException", 865, Ljava_lang_RuntimeException_2_classLit);
51487
51557
  function $clinit_CodeDownloadException$Reason() {
51488
51558
  $clinit_CodeDownloadException$Reason = emptyMethod;
51489
51559
  $clinit_Enum();
@@ -51510,9 +51580,9 @@ function getExports($wnd) {
51510
51580
  $clinit_CodeDownloadException$Reason$Map = emptyMethod;
51511
51581
  $MAP_3 = createValueOfMap(values_4());
51512
51582
  }
51513
- defineClass(864, 1, { 1: 1 });
51583
+ defineClass(866, 1, { 1: 1 });
51514
51584
  var $MAP_3;
51515
- var Lcom_google_gwt_core_client_CodeDownloadException$Reason$Map_2_classLit = createForClass("com.google.gwt.core.client", "CodeDownloadException/Reason/Map", 864, Ljava_lang_Object_2_classLit);
51585
+ var Lcom_google_gwt_core_client_CodeDownloadException$Reason$Map_2_classLit = createForClass("com.google.gwt.core.client", "CodeDownloadException/Reason/Map", 866, Ljava_lang_Object_2_classLit);
51516
51586
  function $clinit_Duration() {
51517
51587
  $clinit_Duration = emptyMethod;
51518
51588
  $clinit_Object();
@@ -51703,14 +51773,14 @@ function getExports($wnd) {
51703
51773
  function nativeTopWindow() {
51704
51774
  return $wnd;
51705
51775
  }
51706
- defineClass(861, 1, { 1: 1 });
51776
+ defineClass(863, 1, { 1: 1 });
51707
51777
  var TOP_WINDOW;
51708
- var Lcom_google_gwt_core_client_ScriptInjector_2_classLit = createForClass("com.google.gwt.core.client", "ScriptInjector", 861, Ljava_lang_Object_2_classLit);
51778
+ var Lcom_google_gwt_core_client_ScriptInjector_2_classLit = createForClass("com.google.gwt.core.client", "ScriptInjector", 863, Ljava_lang_Object_2_classLit);
51709
51779
  function $clinit_ScriptInjector$FromString() {
51710
51780
  $clinit_ScriptInjector$FromString = emptyMethod;
51711
51781
  }
51712
- defineClass(862, 1, { 1: 1 });
51713
- var Lcom_google_gwt_core_client_ScriptInjector$FromString_2_classLit = createForClass("com.google.gwt.core.client", "ScriptInjector/FromString", 862, Ljava_lang_Object_2_classLit);
51782
+ defineClass(864, 1, { 1: 1 });
51783
+ var Lcom_google_gwt_core_client_ScriptInjector$FromString_2_classLit = createForClass("com.google.gwt.core.client", "ScriptInjector/FromString", 864, Ljava_lang_Object_2_classLit);
51714
51784
  function $clinit_ScriptInjector$FromUrl() {
51715
51785
  $clinit_ScriptInjector$FromUrl = emptyMethod;
51716
51786
  $clinit_Object();
@@ -54485,11 +54555,11 @@ function getExports($wnd) {
54485
54555
  function $clinit_BufferedWriter() {
54486
54556
  $clinit_BufferedWriter = emptyMethod;
54487
54557
  }
54488
- defineClass(850, 456, { 1: 1 });
54558
+ defineClass(853, 456, { 1: 1 });
54489
54559
  _.newLine = function newLine() {
54490
54560
  throwUnimplemented();
54491
54561
  };
54492
- var Ljava_io_BufferedWriter_2_classLit = createForClass("java.io", "BufferedWriter", 850, Ljava_io_Writer_2_classLit);
54562
+ var Ljava_io_BufferedWriter_2_classLit = createForClass("java.io", "BufferedWriter", 853, Ljava_io_Writer_2_classLit);
54493
54563
  function $clinit_File() {
54494
54564
  $clinit_File = emptyMethod;
54495
54565
  }
@@ -57458,8 +57528,8 @@ function getExports($wnd) {
57458
57528
  }
57459
57529
  return allZero;
57460
57530
  }
57461
- defineClass(854, 1, { 1: 1 });
57462
- var Ljava_math_BitLevel_2_classLit = createForClass("java.math", "BitLevel", 854, Ljava_lang_Object_2_classLit);
57531
+ defineClass(856, 1, { 1: 1 });
57532
+ var Ljava_math_BitLevel_2_classLit = createForClass("java.math", "BitLevel", 856, Ljava_lang_Object_2_classLit);
57463
57533
  function $clinit_Conversion() {
57464
57534
  $clinit_Conversion = emptyMethod;
57465
57535
  $clinit_Object();
@@ -57772,9 +57842,9 @@ function getExports($wnd) {
57772
57842
  result1.append_9(toString_41(exponent));
57773
57843
  return result1.toString_0();
57774
57844
  }
57775
- defineClass(853, 1, { 1: 1 });
57845
+ defineClass(855, 1, { 1: 1 });
57776
57846
  var bigRadices, digitFitInInt;
57777
- var Ljava_math_Conversion_2_classLit = createForClass("java.math", "Conversion", 853, Ljava_lang_Object_2_classLit);
57847
+ var Ljava_math_Conversion_2_classLit = createForClass("java.math", "Conversion", 855, Ljava_lang_Object_2_classLit);
57778
57848
  function $clinit_Division() {
57779
57849
  $clinit_Division = emptyMethod;
57780
57850
  $clinit_Object();
@@ -57957,8 +58027,8 @@ function getExports($wnd) {
57957
58027
  a[start_0 + bLen] = toInt_0(carry1);
57958
58028
  return toInt_0(shr_0(carry1, 32));
57959
58029
  }
57960
- defineClass(855, 1, { 1: 1 });
57961
- var Ljava_math_Division_2_classLit = createForClass("java.math", "Division", 855, Ljava_lang_Object_2_classLit);
58030
+ defineClass(857, 1, { 1: 1 });
58031
+ var Ljava_math_Division_2_classLit = createForClass("java.math", "Division", 857, Ljava_lang_Object_2_classLit);
57962
58032
  function $clinit_Elementary() {
57963
58033
  $clinit_Elementary = emptyMethod;
57964
58034
  $clinit_Object();
@@ -58125,8 +58195,8 @@ function getExports($wnd) {
58125
58195
  borrow = shr_0(borrow, 32);
58126
58196
  }
58127
58197
  }
58128
- defineClass(856, 1, { 1: 1 });
58129
- var Ljava_math_Elementary_2_classLit = createForClass("java.math", "Elementary", 856, Ljava_lang_Object_2_classLit);
58198
+ defineClass(858, 1, { 1: 1 });
58199
+ var Ljava_math_Elementary_2_classLit = createForClass("java.math", "Elementary", 858, Ljava_lang_Object_2_classLit);
58130
58200
  function $clinit_MathContext() {
58131
58201
  $clinit_MathContext = emptyMethod;
58132
58202
  $clinit_Object();
@@ -58385,9 +58455,9 @@ function getExports($wnd) {
58385
58455
  $clinit_Multiplication();
58386
58456
  return add_20(add_20(mul_0(and_0(fromInt_0(a), 4294967295), and_0(fromInt_0(b), 4294967295)), and_0(fromInt_0(c), 4294967295)), and_0(fromInt_0(d), 4294967295));
58387
58457
  }
58388
- defineClass(849, 1, { 1: 1 });
58458
+ defineClass(852, 1, { 1: 1 });
58389
58459
  var bigFivePows, bigTenPows, fivePows, tenPows, whenUseKaratsuba = 63;
58390
- var Ljava_math_Multiplication_2_classLit = createForClass("java.math", "Multiplication", 849, Ljava_lang_Object_2_classLit);
58460
+ var Ljava_math_Multiplication_2_classLit = createForClass("java.math", "Multiplication", 852, Ljava_lang_Object_2_classLit);
58391
58461
  function $clinit_RoundingMode() {
58392
58462
  $clinit_RoundingMode = emptyMethod;
58393
58463
  $clinit_Enum();
@@ -58421,9 +58491,9 @@ function getExports($wnd) {
58421
58491
  $clinit_RoundingMode$Map = emptyMethod;
58422
58492
  $MAP_4 = createValueOfMap(values_5());
58423
58493
  }
58424
- defineClass(838, 1, { 1: 1 });
58494
+ defineClass(840, 1, { 1: 1 });
58425
58495
  var $MAP_4;
58426
- var Ljava_math_RoundingMode$Map_2_classLit = createForClass("java.math", "RoundingMode/Map", 838, Ljava_lang_Object_2_classLit);
58496
+ var Ljava_math_RoundingMode$Map_2_classLit = createForClass("java.math", "RoundingMode/Map", 840, Ljava_lang_Object_2_classLit);
58427
58497
  function $clinit_Charset() {
58428
58498
  $clinit_Charset = emptyMethod;
58429
58499
  $clinit_Object();
@@ -59930,8 +60000,8 @@ function getExports($wnd) {
59930
60000
  function $clinit_ArrayDeque$DescendingIteratorImpl() {
59931
60001
  $clinit_ArrayDeque$DescendingIteratorImpl = emptyMethod;
59932
60002
  }
59933
- defineClass(840, 1, { 1: 1, 39: 1 });
59934
- var Ljava_util_ArrayDeque$DescendingIteratorImpl_2_classLit = createForClass("java.util", "ArrayDeque/DescendingIteratorImpl", 840, Ljava_lang_Object_2_classLit);
60003
+ defineClass(842, 1, { 1: 1, 39: 1 });
60004
+ var Ljava_util_ArrayDeque$DescendingIteratorImpl_2_classLit = createForClass("java.util", "ArrayDeque/DescendingIteratorImpl", 842, Ljava_lang_Object_2_classLit);
59935
60005
  function $clinit_ArrayDeque$IteratorImpl() {
59936
60006
  $clinit_ArrayDeque$IteratorImpl = emptyMethod;
59937
60007
  $clinit_Object();
@@ -60235,7 +60305,7 @@ function getExports($wnd) {
60235
60305
  function Arrays$0methodref$compare$Type() {
60236
60306
  $clinit_Arrays$0methodref$compare$Type();
60237
60307
  }
60238
- defineClass(879, $wnd.Function, { 1: 1, 870: 1 }, Arrays$0methodref$compare$Type);
60308
+ defineClass(881, $wnd.Function, { 1: 1, 872: 1 }, Arrays$0methodref$compare$Type);
60239
60309
  _.compare_7 = function compare_31(d1, d2) {
60240
60310
  return compare_24(d1, d2);
60241
60311
  };
@@ -60248,7 +60318,7 @@ function getExports($wnd) {
60248
60318
  function Arrays$1methodref$compare$Type() {
60249
60319
  $clinit_Arrays$1methodref$compare$Type();
60250
60320
  }
60251
- defineClass(880, $wnd.Function, { 1: 1, 881: 1 }, Arrays$1methodref$compare$Type);
60321
+ defineClass(882, $wnd.Function, { 1: 1, 883: 1 }, Arrays$1methodref$compare$Type);
60252
60322
  _.compare_8 = function compare_32(d1, d2) {
60253
60323
  return compare_27(d1, d2);
60254
60324
  };
@@ -60327,7 +60397,7 @@ function getExports($wnd) {
60327
60397
  function Arrays$lambda$0$Type() {
60328
60398
  $clinit_Arrays$lambda$0$Type();
60329
60399
  }
60330
- defineClass(878, $wnd.Function, { 1: 1, 870: 1 }, Arrays$lambda$0$Type);
60400
+ defineClass(880, $wnd.Function, { 1: 1, 872: 1 }, Arrays$lambda$0$Type);
60331
60401
  _.compare_7 = function compare_33(d1, d2) {
60332
60402
  return lambda$0_10(d1, d2);
60333
60403
  };
@@ -60526,7 +60596,7 @@ function getExports($wnd) {
60526
60596
  }
60527
60597
  function emptyListIterator() {
60528
60598
  $clinit_Collections();
60529
- return castTo(($clinit_Collections$EmptyListIterator(), INSTANCE_0), 865);
60599
+ return castTo(($clinit_Collections$EmptyListIterator(), INSTANCE_0), 867);
60530
60600
  }
60531
60601
  function emptyMap() {
60532
60602
  $clinit_Collections();
@@ -60628,7 +60698,7 @@ function getExports($wnd) {
60628
60698
  Object_0.call(this);
60629
60699
  this.$init_341();
60630
60700
  }
60631
- defineClass(420, 1, { 1: 1, 39: 1, 865: 1 }, Collections$EmptyListIterator);
60701
+ defineClass(420, 1, { 1: 1, 39: 1, 867: 1 }, Collections$EmptyListIterator);
60632
60702
  _.$init_341 = function $init_341() {
60633
60703
  };
60634
60704
  _.forEachRemaining_0 = function forEachRemaining_13(consumer) {
@@ -61293,7 +61363,7 @@ function getExports($wnd) {
61293
61363
  AbstractHashMap_0.call(this, ignored);
61294
61364
  this.$init_357();
61295
61365
  }
61296
- defineClass(70, 205, { 4: 1, 1: 1, 55: 1 }, HashMap, HashMap_0);
61366
+ defineClass(71, 205, { 4: 1, 1: 1, 55: 1 }, HashMap, HashMap_0);
61297
61367
  _.$init_357 = function $init_357() {
61298
61368
  };
61299
61369
  _.equals_4 = function equals_47(value1, value2) {
@@ -61307,7 +61377,7 @@ function getExports($wnd) {
61307
61377
  hashCode = hashCode__I__devirtual$(key);
61308
61378
  return ensureInt(hashCode);
61309
61379
  };
61310
- var Ljava_util_HashMap_2_classLit = createForClass("java.util", "HashMap", 70, Ljava_util_AbstractHashMap_2_classLit);
61380
+ var Ljava_util_HashMap_2_classLit = createForClass("java.util", "HashMap", 71, Ljava_util_AbstractHashMap_2_classLit);
61311
61381
  function $clinit_HashSet() {
61312
61382
  $clinit_HashSet = emptyMethod;
61313
61383
  $clinit_AbstractSet();
@@ -61327,7 +61397,7 @@ function getExports($wnd) {
61327
61397
  this.$init_358();
61328
61398
  this.map_0 = new HashMap_0(initialCapacity);
61329
61399
  }
61330
- defineClass(71, 101, { 4: 1, 1: 1, 30: 1, 71: 1, 58: 1 }, HashSet, HashSet_0);
61400
+ defineClass(72, 101, { 4: 1, 1: 1, 30: 1, 72: 1, 58: 1 }, HashSet, HashSet_0);
61331
61401
  _.$init_358 = function $init_358() {
61332
61402
  };
61333
61403
  _.add = function add_30(o) {
@@ -61353,7 +61423,7 @@ function getExports($wnd) {
61353
61423
  _.size = function size_23() {
61354
61424
  return this.map_0.size();
61355
61425
  };
61356
- var Ljava_util_HashSet_2_classLit = createForClass("java.util", "HashSet", 71, Ljava_util_AbstractSet_2_classLit);
61426
+ var Ljava_util_HashSet_2_classLit = createForClass("java.util", "HashSet", 72, Ljava_util_AbstractSet_2_classLit);
61357
61427
  function $clinit_InternalHashCodeMap() {
61358
61428
  $clinit_InternalHashCodeMap = emptyMethod;
61359
61429
  $clinit_Object();
@@ -63469,6 +63539,34 @@ function getExports($wnd) {
63469
63539
  }
63470
63540
  defineClass(649, 1, { 1: 1 });
63471
63541
  var Ljava_util_function_UnaryOperator$lambda$0$Type_2_classLit = createForClass("java.util.function", "UnaryOperator/lambda$0$Type", 649, Ljava_lang_Object_2_classLit);
63542
+ function $clinit_Matcher() {
63543
+ $clinit_Matcher = emptyMethod;
63544
+ }
63545
+ defineClass(838, 1, { 1: 1 });
63546
+ _.find_0 = function find_0() {
63547
+ throwUnimplemented();
63548
+ return false;
63549
+ };
63550
+ _.group_0 = function group_0(group) {
63551
+ throwUnimplemented();
63552
+ return null;
63553
+ };
63554
+ var Ljava_util_regex_Matcher_2_classLit = createForClass("java.util.regex", "Matcher", 838, Ljava_lang_Object_2_classLit);
63555
+ function $clinit_Pattern() {
63556
+ $clinit_Pattern = emptyMethod;
63557
+ $clinit_Object();
63558
+ }
63559
+ function compile(p) {
63560
+ $clinit_Pattern();
63561
+ throwUnimplemented();
63562
+ return null;
63563
+ }
63564
+ defineClass(837, 1, { 1: 1 });
63565
+ _.matcher = function matcher_0(input_0) {
63566
+ throwUnimplemented();
63567
+ return null;
63568
+ };
63569
+ var Ljava_util_regex_Pattern_2_classLit = createForClass("java.util.regex", "Pattern", 837, Ljava_lang_Object_2_classLit);
63472
63570
  function $clinit_BaseStream() {
63473
63571
  $clinit_BaseStream = emptyMethod;
63474
63572
  }
@@ -63612,14 +63710,14 @@ function getExports($wnd) {
63612
63710
  }
63613
63711
  function lambda$62(c1_0, c2_1) {
63614
63712
  $clinit_Collectors();
63615
- return castTo(addAll_9(c1_0, c2_1), 71);
63713
+ return castTo(addAll_9(c1_0, c2_1), 72);
63616
63714
  }
63617
63715
  function lambda$63(s_0) {
63618
63716
  $clinit_Collectors();
63619
63717
  return s_0;
63620
63718
  }
63621
63719
  function mapping_0(mapper, downstream) {
63622
- return new CollectorImpl(downstream.supplier_0(), castTo(new Collectors$lambda$23$Type(downstream, mapper), 866), downstream.combiner_0(), downstream.finisher_0(), stampJavaTypeInfo(getClassLiteralForArray(Ljava_util_stream_Collector$Characteristics_2_classLit, 1), { 4: 1, 1: 1, 7: 1 }, 82, 0, []));
63720
+ return new CollectorImpl(downstream.supplier_0(), castTo(new Collectors$lambda$23$Type(downstream, mapper), 868), downstream.combiner_0(), downstream.finisher_0(), stampJavaTypeInfo(getClassLiteralForArray(Ljava_util_stream_Collector$Characteristics_2_classLit, 1), { 4: 1, 1: 1, 7: 1 }, 82, 0, []));
63623
63721
  }
63624
63722
  function mergeAll(m1, m2, mergeFunction) {
63625
63723
  var entry, entry$iterator;
@@ -63872,7 +63970,7 @@ function getExports($wnd) {
63872
63970
  }
63873
63971
  defineClass(395, 1, { 1: 1 }, Collectors$30methodref$add$Type);
63874
63972
  _.accept_1 = function accept_5(arg0, arg1) {
63875
- castTo(arg0, 71).add(arg1);
63973
+ castTo(arg0, 72).add(arg1);
63876
63974
  };
63877
63975
  var Ljava_util_stream_Collectors$30methodref$add$Type_2_classLit = createForClass("java.util.stream", "Collectors/30methodref$add$Type", 395, Ljava_lang_Object_2_classLit);
63878
63976
  function $clinit_Collectors$31methodref$requireNonNull$Type() {
@@ -63986,7 +64084,7 @@ function getExports($wnd) {
63986
64084
  this.downstream_0 = downstream_0;
63987
64085
  this.mapper_1 = mapper_1;
63988
64086
  }
63989
- defineClass(383, 1, { 1: 1, 866: 1 }, Collectors$lambda$23$Type);
64087
+ defineClass(383, 1, { 1: 1, 868: 1 }, Collectors$lambda$23$Type);
63990
64088
  _.accept_1 = function accept_7(arg0, arg1) {
63991
64089
  lambda$23(this.downstream_0, this.mapper_1, arg0, arg1);
63992
64090
  };
@@ -64140,7 +64238,7 @@ function getExports($wnd) {
64140
64238
  }
64141
64239
  defineClass(396, 1, { 1: 1 }, Collectors$lambda$62$Type);
64142
64240
  _.apply_2 = function apply_19(arg0, arg1) {
64143
- return lambda$62(castTo(arg0, 71), castTo(arg1, 71));
64241
+ return lambda$62(castTo(arg0, 72), castTo(arg1, 72));
64144
64242
  };
64145
64243
  var Ljava_util_stream_Collectors$lambda$62$Type_2_classLit = createForClass("java.util.stream", "Collectors/lambda$62$Type", 396, Ljava_lang_Object_2_classLit);
64146
64244
  function $clinit_Collectors$lambda$63$Type() {
@@ -64154,7 +64252,7 @@ function getExports($wnd) {
64154
64252
  return $andThen(this, after);
64155
64253
  };
64156
64254
  _.apply_1 = function apply_20(arg0) {
64157
- return lambda$63(castTo(arg0, 71));
64255
+ return lambda$63(castTo(arg0, 72));
64158
64256
  };
64159
64257
  var Ljava_util_stream_Collectors$lambda$63$Type_2_classLit = createForClass("java.util.stream", "Collectors/lambda$63$Type", 397, Ljava_lang_Object_2_classLit);
64160
64258
  function $clinit_Collectors$lambda$7$Type() {
@@ -65136,8 +65234,8 @@ function getExports($wnd) {
65136
65234
  $clinit_ArrayStamper();
65137
65235
  return stampJavaTypeInfo_0(array, referenceType);
65138
65236
  }
65139
- defineClass(839, 1, { 1: 1 });
65140
- var Ljavaemul_internal_ArrayStamper_2_classLit = createForClass("javaemul.internal", "ArrayStamper", 839, Ljava_lang_Object_2_classLit);
65237
+ defineClass(841, 1, { 1: 1 });
65238
+ var Ljavaemul_internal_ArrayStamper_2_classLit = createForClass("javaemul.internal", "ArrayStamper", 841, Ljava_lang_Object_2_classLit);
65141
65239
  function $clinit_EmulatedCharset() {
65142
65240
  $clinit_EmulatedCharset = emptyMethod;
65143
65241
  $clinit_Charset();
@@ -65740,6 +65838,9 @@ function getExports($wnd) {
65740
65838
  }
65741
65839
  return this.mTorsion[bondIndex].length - 1;
65742
65840
  };
65841
+ _.getMostLikelyTorsionIndexes = function getMostLikelyTorsionIndexes() {
65842
+ return this.mBestTorsionIndex;
65843
+ };
65743
65844
  _.getRotatableBonds = function getRotatableBonds() {
65744
65845
  return this.mRotatableBond;
65745
65846
  };
@@ -66540,6 +66641,18 @@ function getExports($wnd) {
66540
66641
  }
66541
66642
  return this.mConformerLikelihood.length - 1;
66542
66643
  };
66644
+ _.getMostLikelyConformerIndex = function getMostLikelyConformerIndex() {
66645
+ var highestIndex, highestLikelihood, t;
66646
+ highestLikelihood = 0;
66647
+ highestIndex = -1;
66648
+ for (t = 0; t < this.mConformerLikelihood.length; t++) {
66649
+ if (highestLikelihood < this.mConformerLikelihood[t]) {
66650
+ highestLikelihood = this.mConformerLikelihood[t];
66651
+ highestIndex = t;
66652
+ }
66653
+ }
66654
+ return highestIndex;
66655
+ };
66543
66656
  _.originalToExtendedAtom = function originalToExtendedAtom_0(originalAtom) {
66544
66657
  return this.mOriginalToExtendedAtom[originalAtom];
66545
66658
  };
@@ -66909,8 +67022,6 @@ function getExports($wnd) {
66909
67022
  var detail, prediction;
66910
67023
  Object_0.call(this);
66911
67024
  this.$init_415();
66912
- if (getTorsionFrequencies("gGP`@dfyjidNcGI[WQCP`<")[0] == -1)
66913
- ($clinit_System(), out_0).println_0("ERROR");
66914
67025
  this.mBond = bond;
66915
67026
  this.mTorsionAtom = initUnidimensionalArray(I_classLit, { 6: 1, 4: 1, 1: 1 }, 5, 4, 15, 1);
66916
67027
  this.mRearAtom = initUnidimensionalArray(I_classLit, { 6: 1, 4: 1, 1: 1 }, 5, 2, 15, 1);
@@ -66926,8 +67037,6 @@ function getExports($wnd) {
66926
67037
  this.mFragment1 = fragment[this.mFragmentNo1];
66927
67038
  this.mFragment2 = fragment[this.mFragmentNo2];
66928
67039
  this.mBondAtomsInFragmentOrder = fragmentNo[mol.getBondAtom_0(0, bond)] == this.mFragmentNo1;
66929
- if (getTorsionFrequencies("gGP`@dfyjidNcGI[WQCP`<")[0] == -1)
66930
- ($clinit_System(), out_0).println_0("ERROR");
66931
67040
  if (use60degreeSteps) {
66932
67041
  this.mDefaultTorsion = SIXTY_DEGREE_TORSION;
66933
67042
  this.mDefaultFrequency = SIXTY_DEGREE_FREQUENCY;
@@ -67184,11 +67293,11 @@ function getExports($wnd) {
67184
67293
  this.mConformerIndex = conformerIndex;
67185
67294
  this.mEncodedBits = encoder.encode_0(torsionIndex, conformerIndex);
67186
67295
  }
67187
- defineClass(72, 1, { 23: 1, 1: 1, 72: 1 }, TorsionSet, TorsionSet_0);
67296
+ defineClass(70, 1, { 23: 1, 1: 1, 70: 1 }, TorsionSet, TorsionSet_0);
67188
67297
  _.$init_416 = function $init_416() {
67189
67298
  };
67190
67299
  _.compareTo_1 = function compareTo_45(ts) {
67191
- return this.compareTo_23(castTo(ts, 72));
67300
+ return this.compareTo_23(castTo(ts, 70));
67192
67301
  };
67193
67302
  _.compareTo_23 = function compareTo_46(ts) {
67194
67303
  var i;
@@ -67198,7 +67307,7 @@ function getExports($wnd) {
67198
67307
  return 0;
67199
67308
  };
67200
67309
  _.equals_0 = function equals_51(ts) {
67201
- return this.compareTo_23(castTo(ts, 72)) == 0;
67310
+ return this.compareTo_23(castTo(ts, 70)) == 0;
67202
67311
  };
67203
67312
  _.getCollisionStrainIfMatches = function getCollisionStrainIfMatches(er) {
67204
67313
  return this.matches(er.getMask(), er.getData()) ? this.mCollisionIntensitySum : 0;
@@ -67270,7 +67379,7 @@ function getExports($wnd) {
67270
67379
  _.mCollisionIntensitySum = 0;
67271
67380
  _.mContribution = 0;
67272
67381
  _.mIsUsed = false;
67273
- var Lorg_openmolecules_chem_conf_gen_TorsionSet_2_classLit = createForClass("org.openmolecules.chem.conf.gen", "TorsionSet", 72, Ljava_lang_Object_2_classLit);
67382
+ var Lorg_openmolecules_chem_conf_gen_TorsionSet_2_classLit = createForClass("org.openmolecules.chem.conf.gen", "TorsionSet", 70, Ljava_lang_Object_2_classLit);
67274
67383
  function $clinit_TorsionSetEliminationRule() {
67275
67384
  $clinit_TorsionSetEliminationRule = emptyMethod;
67276
67385
  $clinit_Object();
@@ -67462,19 +67571,19 @@ function getExports($wnd) {
67462
67571
  }
67463
67572
  function TorsionSetStrategy(conformerGenerator) {
67464
67573
  $clinit_TorsionSetStrategy();
67465
- var count, f1, f10, f2, i, i0, rb, rb$array, rb$array0, rb$array1, rb$index, rb$index0, rb$index1, rb$max, rb$max0, rb$max1, rf, rf$array, rf$index, rf$max;
67574
+ var count, f1, f10, f2, fragmentCount, i, i0, rb, rb$array, rb$array0, rb$array1, rb$index, rb$index0, rb$index1, rb$max, rb$max0, rb$max1, rf, rf$array, rf$index, rf$max;
67466
67575
  Object_0.call(this);
67467
67576
  this.$init_419();
67468
67577
  this.mConformerGenerator = conformerGenerator;
67469
67578
  this.mRotatableBond = conformerGenerator.getRotatableBonds();
67470
67579
  this.mRigidFragment = conformerGenerator.getRigidFragments();
67471
67580
  this.mTorsionSetEncoder = new TorsionSetEncoder(this.mRigidFragment, this.mRotatableBond);
67472
- this.mFragmentCount = 0;
67581
+ fragmentCount = 0;
67473
67582
  for (rb$array0 = this.mRotatableBond, rb$index0 = 0, rb$max0 = rb$array0.length; rb$index0 < rb$max0; ++rb$index0) {
67474
67583
  rb = rb$array0[rb$index0];
67475
- this.mFragmentCount = $wnd.Math.max(this.mFragmentCount, $wnd.Math.max(1 + rb.getFragmentNo(0), 1 + rb.getFragmentNo(1)));
67584
+ fragmentCount = $wnd.Math.max(fragmentCount, $wnd.Math.max(1 + rb.getFragmentNo(0), 1 + rb.getFragmentNo(1)));
67476
67585
  }
67477
- count = initUnidimensionalArray(I_classLit, { 6: 1, 4: 1, 1: 1 }, 5, this.mFragmentCount, 15, 1);
67586
+ count = initUnidimensionalArray(I_classLit, { 6: 1, 4: 1, 1: 1 }, 5, fragmentCount, 15, 1);
67478
67587
  for (rb$array1 = this.mRotatableBond, rb$index1 = 0, rb$max1 = rb$array1.length; rb$index1 < rb$max1; ++rb$index1) {
67479
67588
  rb = rb$array1[rb$index1];
67480
67589
  count[rb.getFragmentNo(0)]++;
@@ -67497,12 +67606,12 @@ function getExports($wnd) {
67497
67606
  count[f10]++;
67498
67607
  count[f2]++;
67499
67608
  }
67500
- this.mGraphFragment = initUnidimensionalArray(I_classLit, { 6: 1, 4: 1, 1: 1 }, 5, this.mFragmentCount, 15, 1);
67501
- this.mGraphBond = initUnidimensionalArray(I_classLit, { 6: 1, 4: 1, 1: 1 }, 5, this.mFragmentCount, 15, 1);
67502
- this.mGraphParent = initUnidimensionalArray(I_classLit, { 6: 1, 4: 1, 1: 1 }, 5, this.mFragmentCount, 15, 1);
67503
- this.mGraphFragmentHandled = initUnidimensionalArray(Z_classLit, { 10: 1, 4: 1, 1: 1 }, 5, this.mFragmentCount, 16, 1);
67504
- this.mBondsBetweenFragments = initUnidimensionalArray(I_classLit, { 4: 1, 1: 1, 7: 1 }, 26, this.mFragmentCount, 0, 3);
67505
- for (f1 = 1; f1 < this.mFragmentCount; f1++) {
67609
+ this.mGraphFragment = initUnidimensionalArray(I_classLit, { 6: 1, 4: 1, 1: 1 }, 5, fragmentCount, 15, 1);
67610
+ this.mGraphBond = initUnidimensionalArray(I_classLit, { 6: 1, 4: 1, 1: 1 }, 5, fragmentCount, 15, 1);
67611
+ this.mGraphParent = initUnidimensionalArray(I_classLit, { 6: 1, 4: 1, 1: 1 }, 5, fragmentCount, 15, 1);
67612
+ this.mGraphFragmentHandled = initUnidimensionalArray(Z_classLit, { 10: 1, 4: 1, 1: 1 }, 5, fragmentCount, 16, 1);
67613
+ this.mBondsBetweenFragments = initUnidimensionalArray(I_classLit, { 4: 1, 1: 1, 7: 1 }, 26, fragmentCount, 0, 3);
67614
+ for (f1 = 1; f1 < fragmentCount; f1++) {
67506
67615
  this.mBondsBetweenFragments[f1] = initUnidimensionalArray(I_classLit, { 26: 1, 4: 1, 1: 1, 7: 1 }, 6, f1, 0, 2);
67507
67616
  for (f2 = 0; f2 < f1; f2++)
67508
67617
  this.mBondsBetweenFragments[f1][f2] = this.getRotatableBondsBetween(f1, f2);
@@ -67529,7 +67638,7 @@ function getExports($wnd) {
67529
67638
  }
67530
67639
  function lambda$0_17(ts_0) {
67531
67640
  $clinit_TorsionSetStrategy();
67532
- return castTo(ts_0, 72).getCollisionStrainSum();
67641
+ return castTo(ts_0, 70).getCollisionStrainSum();
67533
67642
  }
67534
67643
  defineClass(258, 1, { 1: 1 });
67535
67644
  _.$init_419 = function $init_419() {
@@ -67560,7 +67669,7 @@ function getExports($wnd) {
67560
67669
  if (this.mSecondChoiceList.size_1() == 0)
67561
67670
  return null;
67562
67671
  index_0 = instanceOf(this, 76) ? castTo(this, 76).getRandom().nextInt_0(this.mSecondChoiceList.size_1()) : 0;
67563
- ts = castTo(this.mSecondChoiceList.get_3(index_0), 72);
67672
+ ts = castTo(this.mSecondChoiceList.get_3(index_0), 70);
67564
67673
  this.mSecondChoiceList.remove_0(index_0);
67565
67674
  return ts;
67566
67675
  };
@@ -67641,7 +67750,7 @@ function getExports($wnd) {
67641
67750
  if (isNull(ts)) {
67642
67751
  if (this.mSecondChoiceList.size_1() != 0) {
67643
67752
  this.mUsingSecondChoices = true;
67644
- while (this.mSecondChoiceList.size_1() != 0 && castTo(this.mSecondChoiceList.get_3(this.mSecondChoiceList.size_1() - 1), 72).getCollisionStrainSum() > this.mLowestCollisionStrain + 3)
67753
+ while (this.mSecondChoiceList.size_1() != 0 && castTo(this.mSecondChoiceList.get_3(this.mSecondChoiceList.size_1() - 1), 70).getCollisionStrainSum() > this.mLowestCollisionStrain + 3)
67645
67754
  this.mSecondChoiceList.remove_0(this.mSecondChoiceList.size_1() - 1);
67646
67755
  ts = this.getBestSecondChoice();
67647
67756
  }
@@ -67749,7 +67858,6 @@ function getExports($wnd) {
67749
67858
  this.mMaxTotalCount = $wnd.Math.min(maxTotalCount, this.mPermutationCount);
67750
67859
  };
67751
67860
  _.mCollisionCount = 0;
67752
- _.mFragmentCount = 0;
67753
67861
  _.mLowestCollisionStrain = 0;
67754
67862
  _.mMaxTotalCount = 0;
67755
67863
  _.mPermutationCount = 0;
@@ -67765,7 +67873,7 @@ function getExports($wnd) {
67765
67873
  }
67766
67874
  defineClass(441, 1, { 1: 1 }, TorsionSetStrategy$lambda$0$Type);
67767
67875
  _.applyAsDouble = function applyAsDouble(arg0) {
67768
- return lambda$0_17(arg0);
67876
+ return lambda$0_17(castTo(arg0, 70));
67769
67877
  };
67770
67878
  var Lorg_openmolecules_chem_conf_gen_TorsionSetStrategy$lambda$0$Type_2_classLit = createForClass("org.openmolecules.chem.conf.gen", "TorsionSetStrategy/lambda$0$Type", 441, Ljava_lang_Object_2_classLit);
67771
67879
  function $clinit_TorsionSetStrategyRandom() {
@@ -67783,6 +67891,9 @@ function getExports($wnd) {
67783
67891
  _.$init_420 = function $init_420() {
67784
67892
  };
67785
67893
  _.createTorsionSet = function createTorsionSet_0(previousTorsionSet) {
67894
+ return this.createTorsionSet_1(this.mPreferLikelyTorsions);
67895
+ };
67896
+ _.createTorsionSet_1 = function createTorsionSet_1(startWithMostProbable) {
67786
67897
  var baseConformer, conformerIndex, count, j, j0, progress, rb, rf, torsionIndex, ts;
67787
67898
  if (this.getTorsionSetCount() == this.getPermutationCount_0())
67788
67899
  return null;
@@ -67792,7 +67903,13 @@ function getExports($wnd) {
67792
67903
  do {
67793
67904
  if (count++ == 64)
67794
67905
  return null;
67795
- if (this.mPreferLikelyTorsions) {
67906
+ if (startWithMostProbable && this.getTorsionSetCount() == 0) {
67907
+ for (rf = 0; rf < this.mRigidFragment.length; rf++)
67908
+ conformerIndex[rf] = this.mRigidFragment[rf].getMostLikelyConformerIndex();
67909
+ baseConformer = this.mConformerGenerator.getBaseConformer(conformerIndex);
67910
+ for (rb = 0; rb < this.mRotatableBond.length; rb++)
67911
+ torsionIndex[rb] = baseConformer.getMostLikelyTorsionIndexes()[rb];
67912
+ } else if (this.mPreferLikelyTorsions) {
67796
67913
  progress = count / 64;
67797
67914
  for (rf = 0; rf < this.mRigidFragment.length; rf++)
67798
67915
  conformerIndex[rf] = this.mRigidFragment[rf].getLikelyRandomConformerIndex(this.mRandom.nextDouble(), progress);
@@ -67828,14 +67945,10 @@ function getExports($wnd) {
67828
67945
  defineClass(236, 76, { 1: 1, 76: 1 }, TorsionSetStrategyAdaptiveRandom);
67829
67946
  _.$init_421 = function $init_421() {
67830
67947
  };
67831
- _.createTorsionSet = function createTorsionSet_1(previousTorsionSet) {
67948
+ _.createTorsionSet = function createTorsionSet_2(previousTorsionSet) {
67832
67949
  var collidingConformerIndex, collidingTorsionIndex, collisionIntensitySum, conformerIndex, count, i, i0, index_0, indexTried, j, random, rigidFragment, rigidFragment$array, rigidFragment$index, rigidFragment$max, torsionIndex, ts;
67833
- if (isNull(previousTorsionSet)) {
67834
- if (this.mStartWithMostProbable)
67835
- return this.createTorsionSet_0(initUnidimensionalArray(I_classLit, { 6: 1, 4: 1, 1: 1 }, 5, this.mRotatableBond.length, 15, 1), initUnidimensionalArray(I_classLit, { 6: 1, 4: 1, 1: 1 }, 5, this.mRigidFragment.length, 15, 1));
67836
- else
67837
- return getClassPrototype(76).createTorsionSet.call(this, null);
67838
- }
67950
+ if (isNull(previousTorsionSet))
67951
+ return getClassPrototype(76).createTorsionSet_1.call(this, this.mStartWithMostProbable);
67839
67952
  if (previousTorsionSet.getCollisionStrainSum() == 0)
67840
67953
  return getClassPrototype(76).createTorsionSet.call(this, previousTorsionSet);
67841
67954
  collisionIntensitySum = this.getBondAndFragmentCollisionIntensities(previousTorsionSet);
@@ -67908,7 +68021,7 @@ function getExports($wnd) {
67908
68021
  this.$init_422();
67909
68022
  this.mCurrentMaxTorsionIndex = initUnidimensionalArray(I_classLit, { 6: 1, 4: 1, 1: 1 }, 5, this.mRotatableBond.length, 15, 1);
67910
68023
  this.mCurrentMaxConformerIndex = initUnidimensionalArray(I_classLit, { 6: 1, 4: 1, 1: 1 }, 5, this.mRigidFragment.length, 15, 1);
67911
- this.mAvailableTorsionSet = initUnidimensionalArray(Lorg_openmolecules_chem_conf_gen_TorsionSet_2_classLit, { 4: 1, 1: 1, 7: 1 }, 72, 1, 0, 1);
68024
+ this.mAvailableTorsionSet = initUnidimensionalArray(Lorg_openmolecules_chem_conf_gen_TorsionSet_2_classLit, { 4: 1, 1: 1, 7: 1 }, 70, 1, 0, 1);
67912
68025
  setCheck(this.mAvailableTorsionSet, 0, this.createTorsionSet_0(initUnidimensionalArray(I_classLit, { 6: 1, 4: 1, 1: 1 }, 5, this.mRotatableBond.length, 15, 1), initUnidimensionalArray(I_classLit, { 6: 1, 4: 1, 1: 1 }, 5, this.mRigidFragment.length, 15, 1)));
67913
68026
  this.mAvailableTorsionSetIndex = -1;
67914
68027
  }
@@ -67957,7 +68070,7 @@ function getExports($wnd) {
67957
68070
  for (i1 = 0; i1 < this.mCurrentMaxConformerIndex.length; i1++)
67958
68071
  if (!isConformerIndex || i1 != bestIndex)
67959
68072
  count *= this.mCurrentMaxConformerIndex[i1] + 1;
67960
- this.mAvailableTorsionSet = initUnidimensionalArray(Lorg_openmolecules_chem_conf_gen_TorsionSet_2_classLit, { 4: 1, 1: 1, 7: 1 }, 72, count, 0, 1);
68073
+ this.mAvailableTorsionSet = initUnidimensionalArray(Lorg_openmolecules_chem_conf_gen_TorsionSet_2_classLit, { 4: 1, 1: 1, 7: 1 }, 70, count, 0, 1);
67961
68074
  if (isConformerIndex)
67962
68075
  this.mCurrentMaxConformerIndex[bestIndex]++;
67963
68076
  else
@@ -67993,7 +68106,7 @@ function getExports($wnd) {
67993
68106
  sort_7(this.mAvailableTorsionSet, new TorsionSetStrategyLikelySystematic$lambda$0$Type());
67994
68107
  this.mAvailableTorsionSetIndex = -1;
67995
68108
  };
67996
- _.createTorsionSet = function createTorsionSet_2(previousTorsionSet) {
68109
+ _.createTorsionSet = function createTorsionSet_3(previousTorsionSet) {
67997
68110
  if (jsEquals(this.mAvailableTorsionSet, null))
67998
68111
  return null;
67999
68112
  if (this.mAvailableTorsionSetIndex + 1 == this.mAvailableTorsionSet.length)
@@ -68013,7 +68126,7 @@ function getExports($wnd) {
68013
68126
  }
68014
68127
  defineClass(450, 1, { 1: 1, 36: 1 }, TorsionSetStrategyLikelySystematic$lambda$0$Type);
68015
68128
  _.compare_0 = function compare_40(arg0, arg1) {
68016
- return lambda$0_18(castTo(arg0, 72), castTo(arg1, 72));
68129
+ return lambda$0_18(castTo(arg0, 70), castTo(arg1, 70));
68017
68130
  };
68018
68131
  _.equals_0 = function equals_52(other) {
68019
68132
  return getClassPrototype(1).equals_0.call(this, other);
@@ -68970,9 +69083,9 @@ function getExports($wnd) {
68970
69083
  var angle, angle1, angle2, atom, atom0, atom1, atom2, atom3, atom4, bond, bond0, bondAngleSet, bondLength1, bondLength2, bondLengthSet, conn1, conn2, connAngle, connAtom, connAtom1, connAtom2, connBond, connBond1, connBond2, connIndex, distance, doubleBondOpponentIndex, dx, dy, dz, i, i0, i1, i2, i3, isE, j, j0, j1, notAtom, opponentIndex, outerAtom, rule;
68971
69084
  bondLengthSet = new BondLengthSet(mol);
68972
69085
  bondAngleSet = new BondAngleSet(mol, bondLengthSet);
68973
- rule = initUnidimensionalArray(Lorg_openmolecules_chem_conf_so_DistanceRule_2_classLit, { 4: 1, 1: 1, 7: 1 }, 871, mol.getAllAtoms_0(), 0, 2);
69086
+ rule = initUnidimensionalArray(Lorg_openmolecules_chem_conf_so_DistanceRule_2_classLit, { 4: 1, 1: 1, 7: 1 }, 873, mol.getAllAtoms_0(), 0, 2);
68974
69087
  for (i0 = 1; i0 < mol.getAllAtoms_0(); i0++)
68975
- setCheck(rule, i0, initUnidimensionalArray(Lorg_openmolecules_chem_conf_so_DistanceRule_2_classLit, { 4: 1, 1: 1, 7: 1, 871: 1 }, 103, i0, 0, 1));
69088
+ setCheck(rule, i0, initUnidimensionalArray(Lorg_openmolecules_chem_conf_so_DistanceRule_2_classLit, { 4: 1, 1: 1, 7: 1, 873: 1 }, 103, i0, 0, 1));
68976
69089
  for (bond0 = 0; bond0 < mol.getAllBonds_0(); bond0++) {
68977
69090
  atom0 = combineAtoms(mol.getBondAtom_0(0, bond0), mol.getBondAtom_0(1, bond0));
68978
69091
  setFixedDistance(rule, atom0, atom0, bondLengthSet.getLength_0(bond0), 10);
@@ -70831,7 +70944,7 @@ function getExports($wnd) {
70831
70944
  $sendStats("moduleStartup", "end");
70832
70945
  $gwt && $gwt.permProps && __gwtModuleFunction.__moduleStartupDone($gwt.permProps);
70833
70946
  const toReturn = $wnd["OCL"];
70834
- toReturn.version = "9.20.0";
70947
+ toReturn.version = "9.20.1";
70835
70948
  return toReturn;
70836
70949
  }
70837
70950
  var isBrowserWindow = typeof window !== "undefined" && typeof window.document !== "undefined";
@@ -70976,8 +71089,8 @@ export {
70976
71089
  };
70977
71090
  /**
70978
71091
  * openchemlib - Manipulate molecules
70979
- * @version v9.20.0
70980
- * @date 2026-02-13T13:13:15.774Z
71092
+ * @version v9.20.1
71093
+ * @date 2026-03-10T16:02:22.907Z
70981
71094
  * @link https://github.com/cheminfo/openchemlib-js
70982
71095
  * @license BSD-3-Clause
70983
71096
  */