topkat-utils 1.2.88 → 1.2.90
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -3
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/src/encryptionUtils.d.ts +2 -0
- package/dist/src/encryptionUtils.js +39 -0
- package/dist/src/encryptionUtils.js.map +1 -0
- package/dist/src/string-utils.d.ts +7 -0
- package/dist/src/string-utils.js +28 -1
- package/dist/src/string-utils.js.map +1 -1
- package/index.ts +1 -0
- package/package.json +1 -1
- package/src/encryptionUtils.ts +40 -0
- package/src/string-utils.ts +22 -1
package/README.md
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
|
-
# TOPKAT-UTILS
|
|
2
1
|
|
|
3
|
-
|
|
2
|
+
```
|
|
3
|
+
|\_____/| ▀▀▀█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ |\_____/|
|
|
4
|
+
| ||| | █ █▀▀█ █▀▀█ █ █ ▄▀▀▄ ▀▀█▀▀ █ █ ▀▀█▀▀ █ █ █▀▀▀ | ||| |
|
|
5
|
+
\◥■■◾■■◤/ █ █ █ █▀▀▀ █▀▀▄ █▀▀█ █ █ █ █ █ █ ▀▀▀█ \◥■■◾■■◤/
|
|
6
|
+
\__^__/ ▀ ▀▀▀▀ ▀ ▀ ▀ ▀ ▀ ▀ ▀▀▀▀ ▀ ▀ ▀▀▀ ▀▀▀▀ \__^__/
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
`« Got a task that’s a bore ? Look at topkat’s store »`
|
|
4
10
|
|
|
5
|
-
|
|
11
|
+
⚡️ Fast and typed utils ⚡️
|
|
6
12
|
|
|
7
13
|
``` javascript
|
|
8
14
|
const topkatUtils = {
|
package/dist/index.d.ts
CHANGED
|
@@ -18,6 +18,7 @@ export * from './src/remove-circular-json-stringify';
|
|
|
18
18
|
export * from './src/is-object';
|
|
19
19
|
export * from './src/regexp-utils';
|
|
20
20
|
export * from './src/clean-stack-trace';
|
|
21
|
+
export * from './src/encryptionUtils';
|
|
21
22
|
export { registerConfig } from './src/config';
|
|
22
23
|
import { moyenne } from './src/math-utils';
|
|
23
24
|
import { kebabCase, snakeCase } from './src/string-utils';
|
package/dist/index.js
CHANGED
|
@@ -35,6 +35,7 @@ __exportStar(require("./src/remove-circular-json-stringify"), exports);
|
|
|
35
35
|
__exportStar(require("./src/is-object"), exports);
|
|
36
36
|
__exportStar(require("./src/regexp-utils"), exports);
|
|
37
37
|
__exportStar(require("./src/clean-stack-trace"), exports);
|
|
38
|
+
__exportStar(require("./src/encryptionUtils"), exports);
|
|
38
39
|
var config_1 = require("./src/config");
|
|
39
40
|
Object.defineProperty(exports, "registerConfig", { enumerable: true, get: function () { return config_1.registerConfig; } });
|
|
40
41
|
const math_utils_1 = require("./src/math-utils");
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,oDAAiC;AACjC,mDAAgC;AAChC,kDAA+B;AAC/B,oDAAiC;AACjC,8CAA2B;AAC3B,qDAAkC;AAClC,mDAAgC;AAChC,mDAAgC;AAChC,oDAAiC;AACjC,qDAAkC;AAClC,qDAAkC;AAClC,kDAA+B;AAC/B,yDAAsC;AACtC,0DAAuC;AACvC,oDAAiC;AACjC,iDAA8B;AAC9B,uEAAoD;AACpD,kDAA+B;AAC/B,qDAAkC;AAClC,0DAAuC;AACvC,uCAA6C;AAApC,wGAAA,cAAc,OAAA;AAEvB,iDAA0C;AAC1C,qDAAyD;AACzD,mDAAmE;AACnE,6DAA2D;AAC3D,qDAAgE;AAChE,yFAAkF;AAClF,qDAAiD;AAEjD,sCAAsC;AAC/B,MAAM,GAAG,GAAG,CAAC,CAAkB,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;AAArE,QAAA,GAAG,OAAkE;AACrE,QAAA,OAAO,GAAG,oBAAO,CAAA;AACjB,QAAA,gBAAgB,GAAG,+BAAiB,CAAA;AAC1C,MAAM,gBAAgB,GAAG,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAA,4DAA2B,EAAC,CAAC,CAAC,CAAC,CAAA;AAAzE,QAAA,gBAAgB,oBAAyD;AACzE,QAAA,mBAAmB,GAAG,0CAA2B,CAAA;AACjD,QAAA,cAAc,GAAG,0BAAY,CAAA;AAC7B,QAAA,QAAQ,GAAG,wBAAS,CAAA;AACpB,QAAA,cAAc,GAAG,wBAAS,CAAA;AAC1B,QAAA,QAAQ,GAAG,4BAAS,CAAA;AACpB,QAAA,OAAO,GAAG,0BAAO,CAAA;AACjB,QAAA,WAAW,GAAG,2BAAY,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,oDAAiC;AACjC,mDAAgC;AAChC,kDAA+B;AAC/B,oDAAiC;AACjC,8CAA2B;AAC3B,qDAAkC;AAClC,mDAAgC;AAChC,mDAAgC;AAChC,oDAAiC;AACjC,qDAAkC;AAClC,qDAAkC;AAClC,kDAA+B;AAC/B,yDAAsC;AACtC,0DAAuC;AACvC,oDAAiC;AACjC,iDAA8B;AAC9B,uEAAoD;AACpD,kDAA+B;AAC/B,qDAAkC;AAClC,0DAAuC;AACvC,wDAAqC;AACrC,uCAA6C;AAApC,wGAAA,cAAc,OAAA;AAEvB,iDAA0C;AAC1C,qDAAyD;AACzD,mDAAmE;AACnE,6DAA2D;AAC3D,qDAAgE;AAChE,yFAAkF;AAClF,qDAAiD;AAEjD,sCAAsC;AAC/B,MAAM,GAAG,GAAG,CAAC,CAAkB,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;AAArE,QAAA,GAAG,OAAkE;AACrE,QAAA,OAAO,GAAG,oBAAO,CAAA;AACjB,QAAA,gBAAgB,GAAG,+BAAiB,CAAA;AAC1C,MAAM,gBAAgB,GAAG,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAA,4DAA2B,EAAC,CAAC,CAAC,CAAC,CAAA;AAAzE,QAAA,gBAAgB,oBAAyD;AACzE,QAAA,mBAAmB,GAAG,0CAA2B,CAAA;AACjD,QAAA,cAAc,GAAG,0BAAY,CAAA;AAC7B,QAAA,QAAQ,GAAG,wBAAS,CAAA;AACpB,QAAA,cAAc,GAAG,wBAAS,CAAA;AAC1B,QAAA,QAAQ,GAAG,4BAAS,CAAA;AACpB,QAAA,OAAO,GAAG,0BAAO,CAAA;AACjB,QAAA,WAAW,GAAG,2BAAY,CAAA"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.simpleEncryptionDecode = exports.simpleEncryptionEncode = void 0;
|
|
4
|
+
const possibleChars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_$';
|
|
5
|
+
const getCharAt = (n) => {
|
|
6
|
+
if (n >= possibleChars.length)
|
|
7
|
+
return possibleChars[n - possibleChars.length];
|
|
8
|
+
if (n < 0)
|
|
9
|
+
return possibleChars[n + possibleChars.length];
|
|
10
|
+
else
|
|
11
|
+
return possibleChars[n];
|
|
12
|
+
};
|
|
13
|
+
const getCharIndex = (char) => {
|
|
14
|
+
return possibleChars.indexOf(char);
|
|
15
|
+
};
|
|
16
|
+
/** simple and quick encoding, this is meant to obfuscate JWT encoding so we can
|
|
17
|
+
not decode it with something like https://jwt.io/
|
|
18
|
+
TODO put it in validationUtils
|
|
19
|
+
*/
|
|
20
|
+
function simpleEncryption(strR, secret, decode = false) {
|
|
21
|
+
const secretNb = secret.split('').map(char => char.charCodeAt(0) % 16 || -1);
|
|
22
|
+
const secretLength = secretNb.length;
|
|
23
|
+
const str = decode ? strR : strR.replace(/\./g, '$');
|
|
24
|
+
const parsed = str.split('').map((char, i) => {
|
|
25
|
+
const charI = getCharIndex(char); // convert character to number
|
|
26
|
+
const newIndex = charI + (secretNb[i % secretLength] * (decode ? -1 : 1)); // obfuscate
|
|
27
|
+
return getCharAt(newIndex);
|
|
28
|
+
}).join('');
|
|
29
|
+
return decode ? parsed.replace(/\$/g, '.') : parsed;
|
|
30
|
+
}
|
|
31
|
+
function simpleEncryptionEncode(str, secret) {
|
|
32
|
+
return simpleEncryption(str, secret, false);
|
|
33
|
+
}
|
|
34
|
+
exports.simpleEncryptionEncode = simpleEncryptionEncode;
|
|
35
|
+
function simpleEncryptionDecode(str, secret) {
|
|
36
|
+
return simpleEncryption(str, secret, true);
|
|
37
|
+
}
|
|
38
|
+
exports.simpleEncryptionDecode = simpleEncryptionDecode;
|
|
39
|
+
//# sourceMappingURL=encryptionUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encryptionUtils.js","sourceRoot":"","sources":["../../src/encryptionUtils.ts"],"names":[],"mappings":";;;AAGA,MAAM,aAAa,GAAG,mEAAmE,CAAA;AACzF,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,EAAE;IAC5B,IAAI,CAAC,IAAI,aAAa,CAAC,MAAM;QAAE,OAAO,aAAa,CAAC,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;IAC7E,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,aAAa,CAAC,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;;QACpD,OAAO,aAAa,CAAC,CAAC,CAAC,CAAA;AAChC,CAAC,CAAA;AACD,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,EAAE;IAClC,OAAO,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;AACtC,CAAC,CAAA;AAGD;;;GAGG;AACH,SAAS,gBAAgB,CAAC,IAAY,EAAE,MAAc,EAAE,MAAM,GAAG,KAAK;IAElE,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;IAC5E,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAA;IACpC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAEpD,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QACzC,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA,CAAC,8BAA8B;QAC/D,MAAM,QAAQ,GAAG,KAAK,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA,CAAC,YAAY;QACtF,OAAO,SAAS,CAAC,QAAQ,CAAC,CAAA;IAC9B,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEX,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;AACvD,CAAC;AAED,SAAgB,sBAAsB,CAAC,GAAW,EAAE,MAAc;IAC9D,OAAO,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;AAC/C,CAAC;AAFD,wDAEC;AAED,SAAgB,sBAAsB,CAAC,GAAW,EAAE,MAAc;IAC9D,OAAO,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;AAC9C,CAAC;AAFD,wDAEC"}
|
|
@@ -78,3 +78,10 @@ export declare function nbOccurenceInString(baseString: string, searchedString:
|
|
|
78
78
|
export declare function lowerCase<T extends string>(string: T): Lowercase<T>;
|
|
79
79
|
/** typed upper case. Eg: if you pass 'a' | 'b', the resulting type will be 'A' | 'B' */
|
|
80
80
|
export declare function upperCase<T extends string>(string: T): Uppercase<T>;
|
|
81
|
+
/** Parse strings like 'true', 'false', '123', 'null' to their real type equivalent. Actual string is returned if nothing matches.
|
|
82
|
+
* * /!\ for typing please profide a type parameter like `parseStringVariable<boolean>('true')` */
|
|
83
|
+
export declare function parseStringVariable<T = any>(val: any): T;
|
|
84
|
+
/** return val === 'true' || val === true */
|
|
85
|
+
export declare function parseStringAsBoolean(val: string | boolean | undefined): boolean;
|
|
86
|
+
/** return Number(val) */
|
|
87
|
+
export declare function parseStringAsNumber(val: string | number): number;
|
package/dist/src/string-utils.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.upperCase = exports.lowerCase = exports.nbOccurenceInString = exports.cln = exports.miniTemplater = exports.pathJoinSafe = exports.urlPathJoin = exports.generateObjectId = exports.generateToken = exports.convertAccentedCharacters = exports.getValuesBetweenStrings = exports.getValuesBetweenSeparator = exports.camelCaseToWords = exports.capitalize1st = exports.titleCase = exports.pascalCase = exports.kebabCase = exports.snakeCase = exports.camelCase = void 0;
|
|
3
|
+
exports.parseStringAsNumber = exports.parseStringAsBoolean = exports.parseStringVariable = exports.upperCase = exports.lowerCase = exports.nbOccurenceInString = exports.cln = exports.miniTemplater = exports.pathJoinSafe = exports.urlPathJoin = exports.generateObjectId = exports.generateToken = exports.convertAccentedCharacters = exports.getValuesBetweenStrings = exports.getValuesBetweenSeparator = exports.camelCaseToWords = exports.capitalize1st = exports.titleCase = exports.pascalCase = exports.kebabCase = exports.snakeCase = exports.camelCase = void 0;
|
|
4
4
|
//----------------------------------------
|
|
5
5
|
// STRING UTILS
|
|
6
6
|
//----------------------------------------
|
|
@@ -256,4 +256,31 @@ function upperCase(string) {
|
|
|
256
256
|
return string?.toLocaleUpperCase();
|
|
257
257
|
}
|
|
258
258
|
exports.upperCase = upperCase;
|
|
259
|
+
/** Parse strings like 'true', 'false', '123', 'null' to their real type equivalent. Actual string is returned if nothing matches.
|
|
260
|
+
* * /!\ for typing please profide a type parameter like `parseStringVariable<boolean>('true')` */
|
|
261
|
+
function parseStringVariable(val) {
|
|
262
|
+
if (val === 'undefined')
|
|
263
|
+
return undefined;
|
|
264
|
+
else if (val === 'true')
|
|
265
|
+
return true;
|
|
266
|
+
else if (val === 'false')
|
|
267
|
+
return false;
|
|
268
|
+
else if (val === 'null')
|
|
269
|
+
return null;
|
|
270
|
+
else if (/^[0-9]+$/.test(val))
|
|
271
|
+
return Number(val);
|
|
272
|
+
else
|
|
273
|
+
return val;
|
|
274
|
+
}
|
|
275
|
+
exports.parseStringVariable = parseStringVariable;
|
|
276
|
+
/** return val === 'true' || val === true */
|
|
277
|
+
function parseStringAsBoolean(val) {
|
|
278
|
+
return val === 'true' || val === true;
|
|
279
|
+
}
|
|
280
|
+
exports.parseStringAsBoolean = parseStringAsBoolean;
|
|
281
|
+
/** return Number(val) */
|
|
282
|
+
function parseStringAsNumber(val) {
|
|
283
|
+
return Number(val);
|
|
284
|
+
}
|
|
285
|
+
exports.parseStringAsNumber = parseStringAsNumber;
|
|
259
286
|
//# sourceMappingURL=string-utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string-utils.js","sourceRoot":"","sources":["../../src/string-utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"string-utils.js","sourceRoot":"","sources":["../../src/string-utils.ts"],"names":[],"mappings":"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"}
|
package/index.ts
CHANGED
|
@@ -18,6 +18,7 @@ export * from './src/remove-circular-json-stringify'
|
|
|
18
18
|
export * from './src/is-object'
|
|
19
19
|
export * from './src/regexp-utils'
|
|
20
20
|
export * from './src/clean-stack-trace'
|
|
21
|
+
export * from './src/encryptionUtils'
|
|
21
22
|
export { registerConfig } from './src/config'
|
|
22
23
|
|
|
23
24
|
import { moyenne } from './src/math-utils'
|
package/package.json
CHANGED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
const possibleChars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_$'
|
|
5
|
+
const getCharAt = (n: number) => {
|
|
6
|
+
if (n >= possibleChars.length) return possibleChars[n - possibleChars.length]
|
|
7
|
+
if (n < 0) return possibleChars[n + possibleChars.length]
|
|
8
|
+
else return possibleChars[n]
|
|
9
|
+
}
|
|
10
|
+
const getCharIndex = (char: string) => {
|
|
11
|
+
return possibleChars.indexOf(char)
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
/** simple and quick encoding, this is meant to obfuscate JWT encoding so we can
|
|
16
|
+
not decode it with something like https://jwt.io/
|
|
17
|
+
TODO put it in validationUtils
|
|
18
|
+
*/
|
|
19
|
+
function simpleEncryption(strR: string, secret: string, decode = false): string {
|
|
20
|
+
|
|
21
|
+
const secretNb = secret.split('').map(char => char.charCodeAt(0) % 16 || -1)
|
|
22
|
+
const secretLength = secretNb.length
|
|
23
|
+
const str = decode ? strR : strR.replace(/\./g, '$')
|
|
24
|
+
|
|
25
|
+
const parsed = str.split('').map((char, i) => {
|
|
26
|
+
const charI = getCharIndex(char) // convert character to number
|
|
27
|
+
const newIndex = charI + (secretNb[i % secretLength] * (decode ? -1 : 1)) // obfuscate
|
|
28
|
+
return getCharAt(newIndex)
|
|
29
|
+
}).join('')
|
|
30
|
+
|
|
31
|
+
return decode ? parsed.replace(/\$/g, '.') : parsed
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export function simpleEncryptionEncode(str: string, secret: string) {
|
|
35
|
+
return simpleEncryption(str, secret, false)
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export function simpleEncryptionDecode(str: string, secret: string) {
|
|
39
|
+
return simpleEncryption(str, secret, true)
|
|
40
|
+
}
|
package/src/string-utils.ts
CHANGED
|
@@ -255,4 +255,25 @@ export function lowerCase<T extends string>(string: T) {
|
|
|
255
255
|
/** typed upper case. Eg: if you pass 'a' | 'b', the resulting type will be 'A' | 'B' */
|
|
256
256
|
export function upperCase<T extends string>(string: T) {
|
|
257
257
|
return string?.toLocaleUpperCase() as Uppercase<T>
|
|
258
|
-
}
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
/** Parse strings like 'true', 'false', '123', 'null' to their real type equivalent. Actual string is returned if nothing matches.
|
|
261
|
+
* * /!\ for typing please profide a type parameter like `parseStringVariable<boolean>('true')` */
|
|
262
|
+
export function parseStringVariable<T = any>(val: any): T {
|
|
263
|
+
if (val === 'undefined') return undefined as any
|
|
264
|
+
else if (val === 'true') return true as any
|
|
265
|
+
else if (val === 'false') return false as any
|
|
266
|
+
else if (val === 'null') return null as any
|
|
267
|
+
else if (/^[0-9]+$/.test(val)) return Number(val) as any
|
|
268
|
+
else return val as any
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
/** return val === 'true' || val === true */
|
|
272
|
+
export function parseStringAsBoolean(val: string | boolean | undefined) {
|
|
273
|
+
return val === 'true' || val === true
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
/** return Number(val) */
|
|
277
|
+
export function parseStringAsNumber(val: string | number) {
|
|
278
|
+
return Number(val)
|
|
279
|
+
}
|