This is the complete list of members for Db, including all inherited members.
addColumns(const VectorDouble &tab, const String &radix="New", const ELoc &locatorType=ELoc::fromKey("UNKNOWN"), int locatorIndex=0, bool useSel=false, double valinit=0., int nvar=1) | Db | |
addColumnsByConstant(int nadd=1, double valinit=0., const String &radix="New", const ELoc &locatorType=ELoc::fromKey("UNKNOWN"), int locatorIndex=0, int nechInit=0) | Db | |
addColumnsByVVD(const VectorVectorDouble &tab, const String &radix, const ELoc &locatorType, int locatorIndex=0, bool useSel=false) | Db | |
addColumnsRandom(int nadd, const String &radix="New", const ELoc &locatorType=ELoc::fromKey("Z"), int locatorIndex=0, int seed=1352, int nechInit=0) | Db | |
addSamples(int nadd, double valinit=TEST) | Db | |
addSelection(const VectorDouble &tab=VectorDouble(), const String &name="NewSel", const String &combine="set") | Db | |
addSelectionByLimit(const String &testvar, const Limits &limits=Limits(), const String &name="NewSel", const String &combine="set") | Db | |
addSelectionByRanks(const VectorInt &ranks, const String &name="NewSel", const String &combine="set") | Db | |
addSelectionFromDbByConvexHull(Db *db, double dilate=0., bool verbose=false, const NamingConvention &namconv=NamingConvention("Hull", true, true, true, ELoc::fromKey("SEL"))) | Db | |
addSelectionRandom(double prop, int seed=138213, const String &name="NewSel", const String &combine="set") | Db | |
areSame(const String &name1, const String &name2, double eps=EPSILON3, bool useSel=true, bool verbose=false) const | Db | |
ASerializable() | ASerializable | |
ASerializable(const ASerializable &r) | ASerializable | |
AStringable() | AStringable | |
AStringable(const AStringable &r) | AStringable | |
buildFileName(int status, const String &filename, bool ensureDirExist=false) | ASerializable | static |
clearLocators(const ELoc &locatorType) | Db | |
clearSelection() | Db | inline |
clone() const =0 | ICloneable | pure virtual |
combineSelection(VectorDouble &sel, const String &combine="set") const | Db | |
copyByCol(int icolIn, int icolOut) | Db | |
copyByUID(int iuidIn, int iuidOut) | Db | |
create() | Db | static |
createDirectory(const String &dir) | ASerializable | static |
createFillRandom(int ndat, int ndim=2, int nvar=1, int nfex=0, int ncode=0, double varmax=0., double selRatio=0., const VectorDouble &heteroRatio=VectorDouble(), const VectorDouble &coormin=VectorDouble(), const VectorDouble &coormax=VectorDouble(), int seed=124234, bool flagAddSampleRank=true) | Db | static |
createFromBox(int nech, const VectorDouble &coormin, const VectorDouble &coormax, int seed=43241, bool flag_exact=true, bool flag_repulsion=false, double range=0., double beta=0., double extend=0., bool flagAddSampleRank=true) | Db | static |
createFromCSV(const String &filename, const CSVformat &csv=CSVformat(), bool verbose=false, int ncol_max=-1, int nrow_max=-1, bool flagAddSampleRank=true) | Db | static |
createFromDbGrid(int nech, DbGrid *dbgrid, int seed=432423, bool flag_exact=true, bool flag_repulsion=false, double range=0., double beta=0., bool flagAddSampleRank=true) | Db | static |
createFromNF(const String &neutralFilename, bool verbose=true) | Db | static |
createFromOnePoint(const VectorDouble &tab=VectorDouble(), bool flagAddSampleRank=true) | Db | static |
createFromSamples(int nech, const ELoadBy &order=ELoadBy::fromKey("SAMPLE"), const VectorDouble &tab=VectorDouble(), const VectorString &names=VectorString(), const VectorString &locatorNames=VectorString(), bool flagAddSampleRank=true) | Db | static |
createReduce(const Db *dbin, const VectorString &names=VectorString(), const VectorInt &ranks=VectorInt(), bool verbose=false) | Db | static |
createSamplingDb(const Db *dbin, double proportion=0., int number=0, const VectorString &names=VectorString(), int seed=23241, bool verbose=false, bool flagAddSampleRank=true) | Db | static |
Db() | Db | |
Db(const Db &r) | Db | |
DECLARE_TOTL | Db | |
deleteColumn(const String &name) | Db | |
deleteColumnByColIdx(int icol_del) | Db | |
deleteColumnByUID(int iuid_del) | Db | |
deleteColumns(const VectorString &names) | Db | |
deleteColumnsByColIdx(const VectorInt &icols) | Db | |
deleteColumnsByLocator(const ELoc &locatorType) | Db | |
deleteColumnsByUID(const VectorInt &iuids) | Db | |
deleteColumnsByUIDRange(int i_del, int n_del) | Db | |
deleteSample(int e_del) | Db | |
deleteSamples(const VectorInt &e_dels) | Db | |
deserialize(std::istream &is, bool verbose=true) | ASerializable | |
display(const AStringFormat *strfmt=nullptr) const final | AStringable | virtual |
display(int level) const final | AStringable | virtual |
dumpToNF(const String &neutralFilename, bool verbose=false) const | ASerializable | |
duplicateColumnByUID(int iuid_in, int iuid_out) | Db | |
expandNameList(const VectorString &names) const | Db | |
expandNameList(const String &names) const | Db | |
filter(const String &name, const Interval &interval, int belowRow=ITEST, int aboveRow=ITEST) const | Db | |
generateRank(const String &radix="rank") | Db | |
getActiveAndDefinedNumber(int item) const | Db | |
getActiveAndDefinedNumber(const String &name) const | Db | |
getActiveArray() const | Db | |
getActiveSampleNumber() const | Db | |
getAllColumns(bool useSel=false, bool flagCompress=true) const | Db | |
getAllCoordinates(bool useSel=false) const | Db | |
getAllCoordinatesMat() const | Db | |
getAllNames(bool excludeRankAndCoordinates=false, bool verbose=false) const | Db | |
getAllUIDs() const | Db | |
getArray(int iech, int iuid) const | Db | |
getArrayBySample(int iech) const | Db | |
getArrayByUID(int iuid, bool useSel=false) const | Db | |
getArrays() const | Db | inline |
getArrayVec(const VectorInt &iechs, int iuid, VectorDouble &values) const | Db | |
getCenter(int idim, bool useSel=false) const | Db | |
getCenters(bool useSel=false) const | Db | |
getCodeList(void) const | Db | |
getColIdx(const String &name) const | Db | |
getColIdxByLocator(const ELoc &locatorType, int locatorIndex=0) const | Db | |
getColIdxByUID(int iuid) const | Db | |
getColIdxs(const String &name) const | Db | |
getColIdxs(const VectorString &names) const | Db | |
getColIdxsByLocator(const ELoc &locatorType) const | Db | |
getColIdxsByUID(const VectorInt &iuids) const | Db | |
getColumn(const String &name, bool useSel=false, bool flagCompress=true) const | Db | |
getColumnByColIdx(int icol, bool useSel=false, bool flagCompress=true) const | Db | |
getColumnByLocator(const ELoc &locatorType, int locatorIndex=0, bool useSel=false, bool flagCompress=true) const | Db | |
getColumnByUID(int iuid, bool useSel=false, bool flagCompress=true) const | Db | |
getColumnNumber() const | Db | inline |
getColumns(const VectorString &names=VectorString(), bool useSel=false, bool flagCompress=true, const VectorDouble &origins=VectorDouble()) const | Db | |
getColumnsActiveAndDefined(const ELoc &locatorType, const VectorDouble &origins=VectorDouble()) const | Db | |
getColumnsAsMatrix(const VectorString &names, bool useSel=false, bool flagCompress=true) const | Db | |
getColumnsAsVVD(const VectorString &names=VectorString(), bool useSel=false, bool flagCompress=true) const | Db | |
getColumnsByColIdx(const VectorInt &icols=VectorInt(), bool useSel=false, bool flagCompress=true, const VectorDouble &origins=VectorDouble()) const | Db | |
getColumnsByColIdxInterval(int icol_beg, int icol_end, bool useSel=false, bool flagCompress=true) const | Db | |
getColumnsByLocator(const ELoc &locatorType, bool useSel=false, bool flagCompress=true, const VectorDouble &origins=VectorDouble()) const | Db | |
getColumnsByUID(const VectorInt &iuids, bool useSel=false, bool flagCompress=true, const VectorDouble &origins=VectorDouble()) const | Db | |
getColumnsByUIDInterval(int iuid_beg, int iuid_end, bool useSel=false, bool flagCompress=true) const | Db | |
getContainerName() | ASerializable | static |
getCoordinate(int iech, int idim, bool flag_rotate=true) const | Db | virtual |
getCoordinates(int idim, bool useSel=false, bool flag_rotate=true) const | Db | |
getCoordinatesPerSampleInPlace(int iech, VectorDouble &coor, bool flag_rotate=true) const | Db | virtual |
getCoorMaximum(bool useSel=false) const | Db | |
getCoorMinimum(bool useSel=false) const | Db | |
getCorrelation(const String &name1, const String &name2, bool useSel=false) const | Db | |
getCosineToDirection(int iech1, int iech2, const VectorDouble &codir) const | Db | |
getDirectory(const String &path) | ASerializable | static |
getDistance(int iech, int jech) const | Db | |
getDistance1D(int iech, int jech, int idim=0, bool flagAbs=false) const | Db | |
getDistanceVecInPlace(int iech, int jech, VectorDouble &dd, const Db *db2=nullptr) const | Db | |
getExecDirectory() | ASerializable | static |
getExtension(int idim, bool useSel=false) const | Db | |
getExtensionDiagonal(bool useSel=false) const | Db | |
getExtensionInPlace(VectorDouble &mini, VectorDouble &maxi, bool flagPreserve=false, bool useSel=false) const | Db | |
getExtrema(int idim, bool useSel=false) const | Db | |
getExtremas(bool useSel=false) const | Db | |
getFaciesNumber(void) const | Db | |
getFileIdentity(const String &filename, bool verbose=false) | ASerializable | static |
getFromLocator(const ELoc &locatorType, int iech, int locatorIndex=0) const | Db | |
getFromLocatorNumber(const ELoc &locatorType) const | Db | |
getGradient(int item, bool useSel=false) const | Db | |
getHomeDirectory(const String &sub="") | ASerializable | static |
getIncrements(const VectorInt &iechs, const VectorInt &jechs) const | Db | |
getIntervalNumber() const | Db | |
getItem(const VectorInt &rows, const VectorString &colnames, bool useSel=false) const | Db | |
getItem(const VectorInt &rows, const String &colname, bool useSel=false) const | Db | |
getItem(const VectorInt &rows, const ELoc &locatorType, bool useSel=false) const | Db | |
getItem(const VectorString &colnames, bool useSel=false) const | Db | |
getItem(const String &colname, bool useSel=false) const | Db | |
getItem(const ELoc &locatorType, bool useSel=false) const | Db | |
getItemNames(const VectorString &colnames) const | Db | |
getItemNames(const String &colname) const | Db | |
getItemNames(const ELoc &locatorType) const | Db | |
getLastName(int number=0) const | Db | |
getLastUID(int number=0) const | Db | |
getLocator(const String &name, ELoc *ret_locatorType, int *ret_locatorIndex) const | Db | |
getLocatorByColIdx(int icol, ELoc *ret_locatorType, int *ret_locatorIndex) const | Db | |
getLocatorByUID(int iuid, ELoc *ret_locatorType, int *ret_locatorIndex) const | Db | |
getLocatorNumber(const ELoc &locatorType) const | Db | |
getLocators(bool anyLocator=true, const ELoc &locatorType=ELoc::fromKey("UNKNOWN")) const | Db | |
getLocNumber(const ELoc &loctype) const | Db | |
getLocVariable(const ELoc &loctype, int iech, int item) const | Db | |
getLocVariables(const ELoc &loctype, int iech, int nitemax=0) const | Db | |
getMaximum(const String &name, bool useSel=false) const | Db | |
getMean(const String &name, bool useSel=false) const | Db | |
getMinimum(const String &name, bool useSel=false) const | Db | |
getMultipleRanks(const VectorVectorInt &index, const VectorInt &ivars=VectorInt(), const VectorInt &nbgh=VectorInt()) | Db | static |
getMultipleRanksActive(const VectorInt &ivars=VectorInt(), const VectorInt &nbgh=VectorInt(), bool useSel=true, bool useVerr=false) const | Db | |
getMultipleValuesActive(const VectorInt &ivars=VectorInt(), const VectorInt &nbgh=VectorInt(), const VectorDouble &means=VectorDouble(), bool useSel=true, bool useVerr=false) const | Db | |
getName(const String &name) const | Db | |
getNameByColIdx(int icol) const | Db | |
getNameByLocator(const ELoc &locatorType, int locatorIndex=0) const | Db | |
getNameByUID(int iuid) const | Db | |
getNames(const VectorString &names) const | Db | |
getNamesByColIdx(const VectorInt &icols) const | Db | |
getNamesByLocator(const ELoc &locatorType) const | Db | |
getNamesByUID(const VectorInt &iuids) const | Db | |
getNDim() const | Db | virtual |
getNEloc() | Db | static |
getNumberActiveAndDefined(int item) const | Db | |
getPrefixName() | ASerializable | static |
getRange(const String &name, bool useSel=false) const | Db | |
getRankAbsoluteToRelative(int iabs) const | Db | |
getRankRelativeToAbsolute(int irel) const | Db | |
getRanksActive(const VectorInt &nbgh=VectorInt(), int item=-1, bool useSel=true, bool useVerr=false) const | Db | |
getSampleAsSPInPlace(int iech, SpacePoint &P) const | Db | |
getSampleAsSTInPlace(int iech, SpaceTarget &P) const | Db | virtual |
getSampleCoordinates(int iech) const | Db | |
getSampleCoordinatesInPlace(int iech, VectorDouble &coor) const | Db | |
getSampleLocators(const ELoc &locatorType, int iech) const | Db | |
getSampleNumber(bool useSel=false) const | Db | |
getSampleRanks() const | Db | |
getSamplesAsSP(bool useSel=false) const | Db | |
getSelection(int iech) const | Db | |
getSelections(void) const | Db | |
getSimRank(int isimu, int ivar, int icase, int nbsimu, int nvar) | Db | static |
getSimvar(const ELoc &locatorType, int iech, int isimu, int ivar, int icase, int nbsimu, int nvar) const | Db | |
getSortArray() const | Db | |
getStdv(const String &name, bool useSel=false) const | Db | |
getTangent(int item, bool useSel=false) const | Db | |
getTestData(const String &subdir, const String &filename) | ASerializable | static |
getUID(const String &name) const | Db | |
getUIDByColIdx(int icol) const | Db | |
getUIDByLocator(const ELoc &locatorType, int locatorIndex=0) const | Db | |
getUIDMaxNumber() const | Db | inline |
getUIDs(const VectorString &names) const | Db | |
getUIDsByColIdx(const VectorInt &icols) const | Db | |
getUIDsByLocator(const ELoc &locatorType) const | Db | |
getUnit(int idim=0) const | Db | virtual |
getValue(const String &name, int iech) const | Db | |
getValueByColIdx(int iech, int icol) const | Db | |
getValuesByColIdx(const VectorInt &iechs, const VectorInt &icols, bool bySample=false) const | Db | |
getValuesByNames(const VectorInt &iechs, const VectorString &names, bool bySample=false) const | Db | |
getVariance(const String &name, bool useSel=false) const | Db | |
getWeight(int iech) const | Db | |
getWeights(bool useSel=false) const | Db | |
getWithinBounds(int item, bool useSel=false) const | Db | |
getWorkingDirectory() | ASerializable | static |
getZNumber() const | Db | |
getZVariable(int iech, int item) const | Db | |
hasLargerDimension(const Db *dbaux) const | Db | |
hasLocator(const ELoc &locatorType) const | Db | |
hasLocatorDefined(const String &name, const ELoc &locatorType, int locatorIndex=0) const | Db | |
hasLocVariable(const ELoc &loctype) const | Db | |
hasSameDimension(const Db *dbaux) const | Db | |
hasZVariable() const | Db | |
ICloneable() | ICloneable | inline |
identifyNames(const VectorString &names) const | Db | |
isActive(int iech) const | Db | |
isActiveAndDefined(int iech, int item) const | Db | |
isActiveDomain(int iech) const | Db | |
isAllIsotopic() const | Db | |
isAllUndefined(int iech) const | Db | |
isAllUndefinedByType(const ELoc &loctype, int iech) const | Db | |
isColIdxValid(int icol) const | Db | |
isConsistent() const | Db | inlinevirtual |
isDimensionIndexValid(int idim) const | Db | |
isGrid() const | Db | inlinevirtual |
isIsotopic(int iech, int nvar_max=-1) const | Db | |
isLine() const | Db | inlinevirtual |
isLocatorIndexValid(const ELoc &locatorType, int locatorIndex) const | Db | |
isMesh() const | Db | inlinevirtual |
isSampleIndexValid(int iech) const | Db | |
isSampleIndicesValid(const VectorInt &iechs, bool useSel=false) const | Db | |
isUIDDefined(int iuid) const | Db | |
isUIDValid(int iuid) const | Db | |
isVariableNumberComparedTo(int nvar, int compare=0) const | Db | |
mayChangeSampleNumber() const | Db | inlinevirtual |
operator=(const Db &r) | Db | |
AStringable::operator=(const AStringable &r) | AStringable | |
ASerializable::operator=(const ASerializable &r) | ASerializable | |
printOneSample(int iech, const VectorString &names=VectorString(), bool excludeCoordinates=true, bool skipTitle=false) const | Db | |
resetDims(int ncol, int nech) | Db | virtual |
resetFromBox(int nech, const VectorDouble &coormin, const VectorDouble &coormax, int ndim=2, double extend=0., int seed=321415, bool flagAddSampleRank=true) | Db | |
resetFromCSV(const String &filename, bool verbose, const CSVformat &csvfmt, int ncol_max=-1, int nrow_max=-1, bool flagAddSampleRank=true) | Db | |
resetFromOnePoint(const VectorDouble &tab=VectorDouble(), bool flagAddSampleRank=true) | Db | |
resetFromSamples(int nech, const ELoadBy &order=ELoadBy::fromKey("SAMPLE"), const VectorDouble &tab=VectorDouble(), const VectorString &names=VectorString(), const VectorString &locatorNames=VectorString(), bool flagAddSampleRank=true) | Db | |
resetReduce(const Db *dbin, const VectorString &names=VectorString(), const VectorInt &ranks=VectorInt(), bool verbose=false) | Db | |
resetSamplingDb(const Db *dbin, double proportion=0, int number=0, const VectorString &names=VectorString(), int seed=23241, bool verbose=false, bool flagAddSampleRank=true) | Db | |
serialize(std::ostream &os, bool verbose=true) const | ASerializable | |
setAllColumns(const VectorVectorDouble &tabs) | Db | |
setArray(int iech, int iuid, double value) | Db | |
setArrayBySample(int iech, const VectorDouble &vec) | Db | |
setArrayVec(const VectorInt &iechs, int iuid, const VectorDouble &values) | Db | |
setBound(int iech, int item, double lower=TEST, double upper=TEST) | Db | |
setColumn(const VectorDouble &tab, const String &name, const ELoc &locatorType=ELoc::fromKey("UNKNOWN"), int locatorIndex=0, bool useSel=false) | Db | |
setColumnByColIdx(const VectorDouble &tab, int icol, bool useSel=false) | Db | |
setColumnByColIdxOldStyle(const double *tab, int icol, bool useSel=false) | Db | |
setColumnByUID(const VectorDouble &tab, int iuid, bool useSel=false) | Db | |
setColumnByUIDOldStyle(const double *tab, int iuid, bool useSel=false) | Db | |
setColumnsByColIdx(const VectorDouble &tabs, const VectorInt &icols, bool useSel=false) | Db | |
setContainerName(bool useDefault, const String &containerName="", bool verbose=false) | ASerializable | static |
setCoordinate(int iech, int idim, double value) | Db | |
setCoordinates(int idim, const VectorDouble &coor, bool useSel=false) | Db | |
setFromLocator(const ELoc &locatorType, int iech, int locatorIndex, double value) | Db | |
setInterval(int iech, int item, double rklow=TEST, double rkup=TEST) | Db | |
setItem(const VectorInt &rows, const VectorString &colnames, const VectorVectorDouble &values, bool useSel=false) | Db | |
setItem(const VectorInt &rows, const ELoc &locatorType, const VectorVectorDouble &values, bool useSel=false) | Db | |
setItem(const VectorString &colnames, const VectorVectorDouble &values, bool useSel=false) | Db | |
setItem(const ELoc &locatorType, const VectorVectorDouble &values, bool useSel=false) | Db | |
setItem(const VectorInt &rows, const String &colname, const VectorDouble &values, bool useSel=false) | Db | |
setItem(const String &colname, const VectorDouble &values, bool useSel=false) | Db | |
setLocator(const String &name, const ELoc &locatorType=ELoc::fromKey("UNKNOWN"), int locatorIndex=0, bool cleanSameLocator=false) | Db | |
setLocatorByColIdx(int icol, const ELoc &locatorType=ELoc::fromKey("UNKNOWN"), int locatorIndex=0, bool cleanSameLocator=false) | Db | |
setLocatorByUID(int iuid, const ELoc &locatorType=ELoc::fromKey("UNKNOWN"), int locatorIndex=0, bool cleanSameLocator=false) | Db | |
setLocators(const VectorString &names, const ELoc &locatorType=ELoc::fromKey("UNKNOWN"), int locatorIndex=0, bool cleanSameLocator=false) | Db | |
setLocatorsByColIdx(const VectorInt &icols, const ELoc &locatorType=ELoc::fromKey("UNKNOWN"), int locatorIndex=0, bool cleanSameLocator=false) | Db | |
setLocatorsByUID(int number, int iuid, const ELoc &locatorType=ELoc::fromKey("UNKNOWN"), int locatorIndex=0, bool cleanSameLocator=false) | Db | |
setLocatorsByUID(const VectorInt &iuids, const ELoc &locatorType=ELoc::fromKey("UNKNOWN"), int locatorIndex=0, bool cleanSameLocator=false) | Db | |
setLocVariable(const ELoc &loctype, int iech, int item, double value) | Db | |
setLocVariables(const ELoc &loctype, int iech, const VectorDouble &values) | Db | |
setName(const String &old_name, const String &name) | Db | |
setName(const VectorString &list, const String &name) | Db | |
setNameByColIdx(int icol, const String &name) | Db | |
setNameByLocator(const ELoc &locatorType, const String &name) | Db | |
setNameByUID(int iuid, const String &name) | Db | |
setPrefixName(const String &prefixName) | ASerializable | static |
setSampleCoordinates(int iech, const VectorDouble &coor) | Db | |
setSimvar(const ELoc &locatorType, int iech, int isimu, int ivar, int icase, int nbsimu, int nvar, double value) | Db | |
setValue(const String &name, int iech, double value) | Db | |
setValueByColIdx(int iech, int icol, double value) | Db | |
setValuesByColIdx(const VectorInt &iechs, const VectorInt &icols, const VectorDouble &values, bool bySample=false) | Db | |
setValuesByNames(const VectorInt &iechs, const VectorString &names, const VectorDouble &values, bool bySample=false) | Db | |
setZVariable(int iech, int item, double value) | Db | |
shrinkToValidCols(const VectorInt &cols) const | Db | |
shrinkToValidRows(const VectorInt &rows) const | Db | |
statisticsBySample(const VectorString &names, const std::vector< EStatOption > &opers=EStatOption::fromKeys({"MEAN"}), bool flagIso=true, double proba=TEST, double vmin=TEST, double vmax=TEST, const NamingConvention &namconv=NamingConvention("Stats")) | Db | |
statisticsMulti(const VectorString &names, bool flagIso=true, bool verbose=false, const String &title="") | Db | |
switchLocator(const ELoc &locatorType_in, const ELoc &locatorType_out) | Db | |
toString(const AStringFormat *strfmt=nullptr) const override | Db | virtual |
unsetContainerName() | ASerializable | static |
unsetPrefixName() | ASerializable | static |
updArray(int iech, int iuid, const EOperator &oper, double value) | Db | |
updArrayVec(const VectorInt &iechs, int iuid, const EOperator &oper, VectorDouble &values) | Db | |
updLocVariable(const ELoc &loctype, int iech, int item, const EOperator &oper, double value) | Db | |
updSimvar(const ELoc &locatorType, int iech, int isimu, int ivar, int icase, int nbsimu, int nvar, const EOperator &oper, double value) | Db | |
updZVariable(int iech, int item, const EOperator &oper, double value) | Db | |
~ASerializable() | ASerializable | virtual |
~AStringable() | AStringable | virtual |
~Db() | Db | virtual |
~ICloneable() | ICloneable | inlinevirtual |