@gipisistemas/ng-core 1.1.15 → 1.1.16
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/bundles/gipisistemas-ng-core.umd.js +600 -38
- package/bundles/gipisistemas-ng-core.umd.js.map +1 -1
- package/bundles/gipisistemas-ng-core.umd.min.js +6 -6
- package/bundles/gipisistemas-ng-core.umd.min.js.map +1 -1
- package/core/utils/acbr-validator-ie.d.ts +36 -0
- package/core/utils/document.util.d.ts +6 -4
- package/esm2015/core/utils/acbr-validator-ie.js +582 -0
- package/esm2015/core/utils/document.util.js +6 -39
- package/esm5/core/utils/acbr-validator-ie.js +598 -0
- package/esm5/core/utils/document.util.js +6 -39
- package/fesm2015/gipisistemas-ng-core.js +587 -39
- package/fesm2015/gipisistemas-ng-core.js.map +1 -1
- package/fesm5/gipisistemas-ng-core.js +601 -39
- package/fesm5/gipisistemas-ng-core.js.map +1 -1
- package/gipisistemas-ng-core.metadata.json +1 -1
- package/package.json +1 -1
@@ -1,4 +1,5 @@
|
|
1
1
|
import * as BrasilianUtil from '@brazilian-utils/brazilian-utils';
|
2
|
+
import { ACBrValidadorIE } from './acbr-validator-ie';
|
2
3
|
import { StringUtil } from './string.util';
|
3
4
|
/** @dynamic */
|
4
5
|
var DocumentUtil = /** @class */ (function () {
|
@@ -104,20 +105,12 @@ var DocumentUtil = /** @class */ (function () {
|
|
104
105
|
};
|
105
106
|
DocumentUtil.isValidStateRegistration = function (acronymState, stateRegistration) {
|
106
107
|
if (StringUtil.isEmpty(acronymState) || StringUtil.isEmpty(stateRegistration)) {
|
107
|
-
return false;
|
108
|
-
}
|
109
|
-
else if (stateRegistration.toUpperCase() === 'ISENTO') {
|
110
|
-
return true;
|
108
|
+
return { ie: stateRegistration, isValid: false, error: 'É nescessário informar a UF e a inscrição estadual para a validação' };
|
111
109
|
}
|
112
|
-
|
113
|
-
|
114
|
-
var digits = BrasilianUtil.onlyNumbers(stateRegistration);
|
115
|
-
return this.calcDigit(digits);
|
116
|
-
}
|
117
|
-
else {
|
118
|
-
return BrasilianUtil.isValidIE(acronymState, stateRegistration);
|
119
|
-
}
|
110
|
+
if (stateRegistration.toUpperCase() === 'ISENTO') {
|
111
|
+
return { ie: stateRegistration, isValid: true, error: '' };
|
120
112
|
}
|
113
|
+
return (new ACBrValidadorIE().isValid(stateRegistration, acronymState, './-'));
|
121
114
|
};
|
122
115
|
DocumentUtil.isValidCep = function (cep) {
|
123
116
|
if (StringUtil.isEmpty(cep)) {
|
@@ -125,33 +118,7 @@ var DocumentUtil = /** @class */ (function () {
|
|
125
118
|
}
|
126
119
|
return BrasilianUtil.isValidCEP(cep);
|
127
120
|
};
|
128
|
-
DocumentUtil.calcDigit = function (ie) {
|
129
|
-
var length = ie.length;
|
130
|
-
var position = length - 1;
|
131
|
-
var weight = length;
|
132
|
-
var body = ie.substring(0, position);
|
133
|
-
// const bodyInt: number = parseInt(body, 10);
|
134
|
-
var sum = 0;
|
135
|
-
body.split('').forEach(function (digit) {
|
136
|
-
sum += parseInt(digit, 10) * weight;
|
137
|
-
weight--;
|
138
|
-
});
|
139
|
-
var rest = sum % 11;
|
140
|
-
var dig = 11 - rest;
|
141
|
-
var fatorG = 0;
|
142
|
-
if ((Number(ie) >= 101031050) && (Number(ie) <= 101199979)) {
|
143
|
-
fatorG = 1;
|
144
|
-
}
|
145
|
-
if (dig === 10) {
|
146
|
-
dig = fatorG;
|
147
|
-
}
|
148
|
-
else if (dig === 11) {
|
149
|
-
dig = 0;
|
150
|
-
}
|
151
|
-
var digIe = parseInt(ie.charAt(position), 10);
|
152
|
-
return dig === digIe;
|
153
|
-
};
|
154
121
|
return DocumentUtil;
|
155
122
|
}());
|
156
123
|
export { DocumentUtil };
|
157
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQudXRpbC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BnaXBpc2lzdGVtYXMvbmctY29yZS8iLCJzb3VyY2VzIjpbImNvcmUvdXRpbHMvZG9jdW1lbnQudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssYUFBYSxNQUFNLGtDQUFrQyxDQUFDO0FBRWxFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJM0MsZUFBZTtBQUNmO0lBQUE7SUE2S0EsQ0FBQztJQTNLaUIsd0JBQVcsR0FBekIsVUFBMEIsS0FBYTtRQUNuQyxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDM0IsT0FBTyxFQUFFLENBQUM7U0FDYjtRQUNELE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVhLHVCQUFVLEdBQXhCLFVBQXlCLEdBQVc7UUFDaEMsSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3pCLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBRUQsR0FBRyxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFcEMsSUFBSSxHQUFHLENBQUMsTUFBTSxLQUFLLEVBQUU7ZUFDZCxHQUFHLEtBQUssYUFBYTtlQUNyQixHQUFHLEtBQUssYUFBYTtlQUNyQixHQUFHLEtBQUssYUFBYTtlQUNyQixHQUFHLEtBQUssYUFBYTtlQUNyQixHQUFHLEtBQUssYUFBYTtlQUNyQixHQUFHLEtBQUssYUFBYTtlQUNyQixHQUFHLEtBQUssYUFBYTtlQUNyQixHQUFHLEtBQUssYUFBYTtlQUNyQixHQUFHLEtBQUssYUFBYTtlQUNyQixHQUFHLEtBQUssYUFBYSxFQUFFO1lBQzFCLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBRUQsSUFBSSxHQUFHLEdBQVcsQ0FBQyxDQUFDO1FBQ3BCLEtBQUssSUFBSSxD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LElBQUksR0FBVyxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQzlCLElBQUksR0FBRyxHQUFXLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFFNUIsSUFBSSxNQUFNLEdBQVcsQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksU0FBUyxDQUFDLEVBQUU7WUFDeEQsTUFBTSxHQUFHLENBQUMsQ0FBQztTQUNkO1FBRUQsSUFBSSxHQUFHLEtBQUssRUFBRSxFQUFFO1lBQ1osR0FBRyxHQUFHLE1BQU0sQ0FBQztTQUNoQjthQUFNLElBQUksR0FBRyxLQUFLLEVBQUUsRUFBRTtZQUNuQixHQUFHLEdBQUcsQ0FBQyxDQUFDO1NBQ1g7UUFFRCxJQUFNLEtBQUssR0FBVyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN4RCxPQUFPLEdBQUcsS0FBSyxLQUFLLENBQUM7SUFDekIsQ0FBQztJQUVMLG1CQUFDO0FBQUQsQ0FBQyxBQTdLRCxJQTZLQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIEJyYXNpbGlhblV0aWwgZnJvbSAnQGJyYXppbGlhbi11dGlscy9icmF6aWxpYW4tdXRpbHMnO1xuaW1wb3J0IHsgU1RBVEVTX0RBVEEgfSBmcm9tICdAYnJhemlsaWFuLXV0aWxzL2JyYXppbGlhbi11dGlscy9kaXN0L2NvbW1vbi9zdGF0ZXMnO1xuaW1wb3J0IHsgU3RyaW5nVXRpbCB9IGZyb20gJy4vc3RyaW5nLnV0aWwnO1xuXG5leHBvcnQgdHlwZSBBY3JvbnltU3RhdGUgPSBrZXlvZiB0eXBlb2YgU1RBVEVTX0RBVEE7XG5cbi8qKiBAZHluYW1pYyAqL1xuZXhwb3J0IGNsYXNzIERvY3VtZW50VXRpbCB7XG5cbiAgICBwdWJsaWMgc3RhdGljIGNsZWFyRm9ybWF0KHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBpZiAoU3RyaW5nVXRpbC5pc0VtcHR5KHZhbHVlKSkge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKC9cXEQvZywgJycpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgaXNWYWxpZENwZihjcGY6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoU3RyaW5nVXRpbC5pc0VtcHR5KGNwZikpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNwZiA9IFN0cmluZ1V0aWwucmVtb3ZlQWNjZW50cyhjcGYpO1xuXG4gICAgICAgIGlmIChjcGYubGVuZ3RoICE9PSAxMVxuICAgICAgICAgICAgfHwgY3BmID09PSAnMDAwMDAwMDAwMDAnXG4gICAgICAgICAgICB8fCBjcGYgPT09ICcxMTExMTExMTExMSdcbiAgICAgICAgICAgIHx8IGNwZiA9PT0gJzIyMjIyMjIyMjIyJ1xuICAgICAgICAgICAgfHwgY3BmID09PSAnMzMzMzMzMzMzMzMnXG4gICAgICAgICAgICB8fCBjcGYgPT09ICc0NDQ0NDQ0NDQ0NCdcbiAgICAgICAgICAgIHx8IGNwZiA9PT0gJzU1NTU1NTU1NTU1J1xuICAgICAgICAgICAgfHwgY3BmID09PSAnNjY2NjY2NjY2NjYnXG4gICAgICAgICAgICB8fCBjcGYgPT09ICc3Nzc3Nzc3Nzc3NydcbiAgICAgICAgICAgIHx8IGNwZiA9PT0gJzg4ODg4ODg4ODg4J1xuICAgICAgICAgICAgfHwgY3BmID09PSAnOTk5OTk5OTk5OTknKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgYWRkOiBudW1iZXIgPSAwO1xuICAgICAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwOyBpIDwgOTsgaSsrKSB7XG4gICAgICAgICAgICBhZGQgKz0gK2NwZi5jaGFyQXQoaSkgKiAoMTAgLSBpKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgcmV2OiBudW1iZXIgPSAxMSAtIChhZGQgJSAxMSk7XG5cbiAgICAgICAgaWYgKHJldiA9PT0gMTAgfHwgcmV2ID09PSAxMSkge1xuICAgICAgICAgICAgcmV2ID0gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChyZXYgIT09ICtjcGYuY2hhckF0KDkpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBhZGQgPSAwO1xuICAgICAgICBmb3IgKGxldCBpOiBudW1iZXIgPSAwOyBpIDwgMTA7IGkrKykge1xuICAgICAgICAgICAgYWRkICs9ICtjcGYuY2hhckF0KGkpICogKDExIC0gaSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV2ID0gMTEgLSAoYWRkICUgMTEpO1xuXG4gICAgICAgIGlmIChyZXYgPT09IDEwIHx8IHJldiA9PT0gMTEpIHtcbiAgICAgICAgICAgIHJldiA9IDA7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocmV2ICE9PSArY3BmLmNoYXJBdCgxMCkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgaXNWYWxpZENucGooY25wajogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGlmIChTdHJpbmdVdGlsLmlzRW1wdHkoY25waikpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNucGogPSBTdHJpbmdVdGlsLnJlbW92ZUFjY2VudHMoY25waik7XG5cbiAgICAgICAgaWYgKFN0cmluZ1V0aWwuaXNFbXB0eShjbnBqKVxuICAgICAgICAgICAgfHwgY25wai5sZW5ndGggIT09IDE0XG4gICAgICAgICAgICB8fCBjbnBqID09PSAnMDAwMDAwMDAwMDAwMDAnXG4gICAgICAgICAgICB8fCBjbnBqID09PSAnMTExMTExMTExMTExMTEnXG4gICAgICAgICAgICB8fCBjbnBqID09PSAnMjIyMjIyMjIyMjIyMjInXG4gICAgICAgICAgICB8fCBjbnBqID09PSAnMzMzMzMzMzMzMzMzMzMnXG4gICAgICAgICAgICB8fCBjbnBqID09PSAnNDQ0NDQ0NDQ0NDQ0NDQnXG4gICAgICAgICAgICB8fCBjbnBqID09PSAnNTU1NTU1NTU1NTU1NTUnXG4gICAgICAgICAgICB8fCBjbnBqID09PSAnNjY2NjY2NjY2NjY2NjYnXG4gICAgICAgICAgICB8fCBjbnBqID09PSAnNzc3Nzc3Nzc3Nzc3NzcnXG4gICAgICAgICAgICB8fCBjbnBqID09PSAnODg4ODg4ODg4ODg4ODgnXG4gICAgICAgICAgICB8fCBjbnBqID09PSAnOTk5OTk5OTk5OTk5OTknKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgbGVuZ3RoOiBudW1iZXIgPSBjbnBqLmxlbmd0aCAtIDI7XG4gICAgICAgIGxldCBudW1iZXJzID0gY25wai5zdWJzdHJpbmcoMCwgbGVuZ3RoKTtcbiAgICAgICAgY29uc3QgZGlnaXRzID0gY25wai5zdWJzdHJpbmcobGVuZ3RoKTtcbiAgICAgICAgbGV0IHN1bTogbnVtYmVyID0gMDtcbiAgICAgICAgbGV0IHBvczogbnVtYmVyID0gbGVuZ3RoIC0gNztcblxuICAgICAgICBmb3IgKGxldCBpOiBudW1iZXIgPSBsZW5ndGg7IGkgPj0gMTsgaS0tKSB7XG4gICAgICAgICAgICBzdW0gKz0gK251bWJlcnMuY2hhckF0KGxlbmd0aCAtIGkpICogcG9zLS07XG4gICAgICAgICAgICBpZiAocG9zIDwgMikge1xuICAgICAgICAgICAgICAgIHBvcyA9IDk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHJlc3VsdGFkbzogbnVtYmVyID0gc3VtICUgMTEgPCAyID8gMCA6IDExIC0gc3VtICUgMTE7XG4gICAgICAgIGlmIChyZXN1bHRhZG8gIT09ICtkaWdpdHMuY2hhckF0KDApKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBsZW5ndGggPSBsZW5ndGggKyAxO1xuICAgICAgICBudW1iZXJzID0gY25wai5zdWJzdHJpbmcoMCwgbGVuZ3RoKTtcbiAgICAgICAgc3VtID0gMDtcbiAgICAgICAgcG9zID0gbGVuZ3RoIC0gNztcbiAgICAgICAgZm9yIChsZXQgaTogbnVtYmVyID0gbGVuZ3RoOyBpID49IDE7IGktLSkge1xuICAgICAgICAgICAgc3VtICs9ICtudW1iZXJzLmNoYXJBdChsZW5ndGggLSBpKSAqIHBvcy0tO1xuICAgICAgICAgICAgaWYgKHBvcyA8IDIpIHtcbiAgICAgICAgICAgICAgICBwb3MgPSA5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJlc3VsdGFkbyA9IHN1bSAlIDExIDwgMiA/IDAgOiAxMSAtIHN1bSAlIDExO1xuXG4gICAgICAgIGlmIChyZXN1bHRhZG8gIT09ICtkaWdpdHMuY2hhckF0KDEpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGlzVmFsaWRTdGF0ZVJlZ2lzdHJhdGlvbihhY3JvbnltU3RhdGU6IEFjcm9ueW1TdGF0ZSwgc3RhdGVSZWdpc3RyYXRpb246IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoU3RyaW5nVXRpbC5pc0VtcHR5KGFjcm9ueW1TdGF0ZSkgfHwgU3RyaW5nVXRpbC5pc0VtcHR5KHN0YXRlUmVnaXN0cmF0aW9uKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9IGVsc2UgaWYgKHN0YXRlUmVnaXN0cmF0aW9uLnRvVXBwZXJDYXNlKCkgPT09ICdJU0VOVE8nKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChhY3JvbnltU3RhdGUgPT09ICdHTycpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBkaWdpdHM6IHN0cmluZyA9IEJyYXNpbGlhblV0aWwub25seU51bWJlcnMoc3RhdGVSZWdpc3RyYXRpb24pO1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNhbGNEaWdpdChkaWdpdHMpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gQnJhc2lsaWFuVXRpbC5pc1ZhbGlkSUUoYWNyb255bVN0YXRlLCBzdGF0ZVJlZ2lzdHJhdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGlzVmFsaWRDZXAoY2VwOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKFN0cmluZ1V0aWwuaXNFbXB0eShjZXApKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gQnJhc2lsaWFuVXRpbC5pc1ZhbGlkQ0VQKGNlcCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgY2FsY0RpZ2l0KGllOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgbGVuZ3RoOiBudW1iZXIgPSBpZS5sZW5ndGg7XG4gICAgICAgIGNvbnN0IHBvc2l0aW9uOiBudW1iZXIgPSBsZW5ndGggLSAxO1xuICAgICAgICBsZXQgd2VpZ2h0OiBudW1iZXIgPSBsZW5ndGg7XG4gICAgICAgIGNvbnN0IGJvZHk6IHN0cmluZyA9IGllLnN1YnN0cmluZygwLCBwb3NpdGlvbik7XG4gICAgICAgIC8vIGNvbnN0IGJvZHlJbnQ6IG51bWJlciA9IHBhcnNlSW50KGJvZHksIDEwKTtcbiAgICAgICAgbGV0IHN1bTogbnVtYmVyID0gMDtcblxuICAgICAgICBib2R5LnNwbGl0KCcnKS5mb3JFYWNoKChkaWdpdCkgPT4ge1xuICAgICAgICAgICAgc3VtICs9IHBhcnNlSW50KGRpZ2l0LCAxMCkgKiB3ZWlnaHQ7XG4gICAgICAgICAgICB3ZWlnaHQtLTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc3QgcmVzdDogbnVtYmVyID0gc3VtICUgMTE7XG4gICAgICAgIGxldCBkaWc6IG51bWJlciA9IDExIC0gcmVzdDtcblxuICAgICAgICBsZXQgZmF0b3JHOiBudW1iZXIgPSAwO1xuICAgICAgICBpZiAoKE51bWJlcihpZSkgPj0gMTAxMDMxMDUwKSAmJiAoTnVtYmVyKGllKSA8PSAxMDExOTk5NzkpKSB7XG4gICAgICAgICAgICBmYXRvckcgPSAxO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGRpZyA9PT0gMTApIHtcbiAgICAgICAgICAgIGRpZyA9IGZhdG9yRztcbiAgICAgICAgfSBlbHNlIGlmIChkaWcgPT09IDExKSB7XG4gICAgICAgICAgICBkaWcgPSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZGlnSWU6IG51bWJlciA9IHBhcnNlSW50KGllLmNoYXJBdChwb3NpdGlvbiksIDEwKTtcbiAgICAgICAgcmV0dXJuIGRpZyA9PT0gZGlnSWU7XG4gICAgfVxuXG59XG4iXX0=
|
124
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQudXRpbC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BnaXBpc2lzdGVtYXMvbmctY29yZS8iLCJzb3VyY2VzIjpbImNvcmUvdXRpbHMvZG9jdW1lbnQudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssYUFBYSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xFLE9BQU8sRUFBWSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLGVBQWU7QUFDZjtJQUFBO0lBMElBLENBQUM7SUF4SWlCLHdCQUFXLEdBQXpCLFVBQTBCLEtBQWE7UUFDbkMsSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzNCLE9BQU8sRUFBRSxDQUFDO1NBQ2I7UUFDRCxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFYSx1QkFBVSxHQUF4QixVQUF5QixHQUFXO1FBQ2hDLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN6QixPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUVELEdBQUcsR0FBRyxVQUFVLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXBDLElBQUksR0FBRyxDQUFDLE1BQU0sS0FBSyxFQUFFO2VBQ2QsR0FBRyxLQUFLLGFBQWE7ZUFDckIsR0FBRyxLQUFLLGFBQWE7ZUFDckIsR0FBRyxLQUFLLGFBQWE7ZUFDckIsR0FBRyxLQUFLLGFBQWE7ZUFDckIsR0FBRyxLQUFLLGFBQWE7ZUFDckIsR0FBRyxLQUFLLGFBQWE7ZUFDckIsR0FBRyxLQUFLLGFBQWE7ZUFDckIsR0FBRyxLQUFLLGFBQWE7ZUFDckIsR0FBRyxLQUFLLGFBQWE7ZUFDckIsR0FBRyxLQUFLLGFBQWEsRUFBRTtZQUMxQixPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUVE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QUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFO1lBQzNFLE9BQU8sRUFBRSxFQUFFLEVBQUUsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUscUVBQXFFLEVBQUUsQ0FBQztTQUNsSTtRQUNELElBQUksaUJBQWlCLENBQUMsV0FBVyxFQUFFLEtBQUssUUFBUSxFQUFFO1lBQzlDLE9BQU8sRUFBRSxFQUFFLEVBQUUsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUM7U0FDOUQ7UUFFRCxPQUFPLENBQUMsSUFBSSxlQUFlLEVBQUUsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVhLHVCQUFVLEdBQXhCLFVBQXlCLEdBQVc7UUFDaEMsSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3pCLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBRUQsT0FBTyxhQUFhLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFTCxtQkFBQztBQUFELENBQUMsQUExSUQsSUEwSUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBCcmFzaWxpYW5VdGlsIGZyb20gJ0BicmF6aWxpYW4tdXRpbHMvYnJhemlsaWFuLXV0aWxzJztcbmltcG9ydCB7IEFDQlJfVUZzLCBBQ0JyVmFsaWRhZG9ySUUgfSBmcm9tICcuL2FjYnItdmFsaWRhdG9yLWllJztcbmltcG9ydCB7IFN0cmluZ1V0aWwgfSBmcm9tICcuL3N0cmluZy51dGlsJztcblxuLyoqIEBkeW5hbWljICovXG5leHBvcnQgY2xhc3MgRG9jdW1lbnRVdGlsIHtcblxuICAgIHB1YmxpYyBzdGF0aWMgY2xlYXJGb3JtYXQodmFsdWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGlmIChTdHJpbmdVdGlsLmlzRW1wdHkodmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZhbHVlLnJlcGxhY2UoL1xcRC9nLCAnJyk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBpc1ZhbGlkQ3BmKGNwZjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGlmIChTdHJpbmdVdGlsLmlzRW1wdHkoY3BmKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgY3BmID0gU3RyaW5nVXRpbC5yZW1vdmVBY2NlbnRzKGNwZik7XG5cbiAgICAgICAgaWYgKGNwZi5sZW5ndGggIT09IDExXG4gICAgICAgICAgICB8fCBjcGYgPT09ICcwMDAwMDAwMDAwMCdcbiAgICAgICAgICAgIHx8IGNwZiA9PT0gJzExMTExMTExMTExJ1xuICAgICAgICAgICAgfHwgY3BmID09PSAnMjIyMjIyMjIyMjInXG4gICAgICAgICAgICB8fCBjcGYgPT09ICczMzMzMzMzMzMzMydcbiAgICAgICAgICAgIHx8IGNwZiA9PT0gJzQ0NDQ0NDQ0NDQ0J1xuICAgICAgICAgICAgfHwgY3BmID09PSAnNTU1NTU1NTU1NTUnXG4gICAgICAgICAgICB8fCBjcGYgPT09ICc2NjY2NjY2NjY2NidcbiAgICAgICAgICAgIHx8IGNwZiA9PT0gJzc3Nzc3Nzc3Nzc3J1xuICAgICAgICAgICAgfHwgY3BmID09PSAnODg4ODg4ODg4ODgnXG4gICAgICAgICAgICB8fCBjcGYgPT09ICc5OTk5OTk5OTk5OScpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBhZGQ6IG51bWJlciA9IDA7XG4gICAgICAgIGZvciAobGV0IGk6IG51bWJlciA9IDA7IGkgPCA5OyBpKyspIHtcbiAgICAgICAgICAgIGFkZCArPSArY3BmLmNoYXJBdChpKSAqICgxMCAtIGkpO1xuICAgICAgICB9XG4gICAgICAgIGxldCByZXY6IG51bWJlciA9IDExIC0gKGFkZCAlIDExKTtcblxuICAgICAgICBpZiAocmV2ID09PSAxMCB8fCByZXYgPT09IDExKSB7XG4gICAgICAgICAgICByZXYgPSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHJldiAhPT0gK2NwZi5jaGFyQXQoOSkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGFkZCA9IDA7XG4gICAgICAgIGZvciAobGV0IGk6IG51bWJlciA9IDA7IGkgPCAxMDsgaSsrKSB7XG4gICAgICAgICAgICBhZGQgKz0gK2NwZi5jaGFyQXQoaSkgKiAoMTEgLSBpKTtcbiAgICAgICAgfVxuICAgICAgICByZXYgPSAxMSAtIChhZGQgJSAxMSk7XG5cbiAgICAgICAgaWYgKHJldiA9PT0gMTAgfHwgcmV2ID09PSAxMSkge1xuICAgICAgICAgICAgcmV2ID0gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChyZXYgIT09ICtjcGYuY2hhckF0KDEwKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBpc1ZhbGlkQ25waihjbnBqOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKFN0cmluZ1V0aWwuaXNFbXB0eShjbnBqKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgY25waiA9IFN0cmluZ1V0aWwucmVtb3ZlQWNjZW50cyhjbnBqKTtcblxuICAgICAgICBpZiAoU3RyaW5nVXRpbC5pc0VtcHR5KGNucGopXG4gICAgICAgICAgICB8fCBjbnBqLmxlbmd0aCAhPT0gMTRcbiAgICAgICAgICAgIHx8IGNucGogPT09ICcwMDAwMDAwMDAwMDAwMCdcbiAgICAgICAgICAgIHx8IGNucGogPT09ICcxMTExMTExMTExMTExMSdcbiAgICAgICAgICAgIHx8IGNucGogPT09ICcyMjIyMjIyMjIyMjIyMidcbiAgICAgICAgICAgIHx8IGNucGogPT09ICczMzMzMzMzMzMzMzMzMydcbiAgICAgICAgICAgIHx8IGNucGogPT09ICc0NDQ0NDQ0NDQ0NDQ0NCdcbiAgICAgICAgICAgIHx8IGNucGogPT09ICc1NTU1NTU1NTU1NTU1NSdcbiAgICAgICAgICAgIHx8IGNucGogPT09ICc2NjY2NjY2NjY2NjY2NidcbiAgICAgICAgICAgIHx8IGNucGogPT09ICc3Nzc3Nzc3Nzc3Nzc3NydcbiAgICAgICAgICAgIHx8IGNucGogPT09ICc4ODg4ODg4ODg4ODg4OCdcbiAgICAgICAgICAgIHx8IGNucGogPT09ICc5OTk5OTk5OTk5OTk5OScpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBsZW5ndGg6IG51bWJlciA9IGNucGoubGVuZ3RoIC0gMjtcbiAgICAgICAgbGV0IG51bWJlcnMgPSBjbnBqLnN1YnN0cmluZygwLCBsZW5ndGgpO1xuICAgICAgICBjb25zdCBkaWdpdHMgPSBjbnBqLnN1YnN0cmluZyhsZW5ndGgpO1xuICAgICAgICBsZXQgc3VtOiBudW1iZXIgPSAwO1xuICAgICAgICBsZXQgcG9zOiBudW1iZXIgPSBsZW5ndGggLSA3O1xuXG4gICAgICAgIGZvciAobGV0IGk6IG51bWJlciA9IGxlbmd0aDsgaSA+PSAxOyBpLS0pIHtcbiAgICAgICAgICAgIHN1bSArPSArbnVtYmVycy5jaGFyQXQobGVuZ3RoIC0gaSkgKiBwb3MtLTtcbiAgICAgICAgICAgIGlmIChwb3MgPCAyKSB7XG4gICAgICAgICAgICAgICAgcG9zID0gOTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBsZXQgcmVzdWx0YWRvOiBudW1iZXIgPSBzdW0gJSAxMSA8IDIgPyAwIDogMTEgLSBzdW0gJSAxMTtcbiAgICAgICAgaWYgKHJlc3VsdGFkbyAhPT0gK2RpZ2l0cy5jaGFyQXQoMCkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxlbmd0aCA9IGxlbmd0aCArIDE7XG4gICAgICAgIG51bWJlcnMgPSBjbnBqLnN1YnN0cmluZygwLCBsZW5ndGgpO1xuICAgICAgICBzdW0gPSAwO1xuICAgICAgICBwb3MgPSBsZW5ndGggLSA3O1xuICAgICAgICBmb3IgKGxldCBpOiBudW1iZXIgPSBsZW5ndGg7IGkgPj0gMTsgaS0tKSB7XG4gICAgICAgICAgICBzdW0gKz0gK251bWJlcnMuY2hhckF0KGxlbmd0aCAtIGkpICogcG9zLS07XG4gICAgICAgICAgICBpZiAocG9zIDwgMikge1xuICAgICAgICAgICAgICAgIHBvcyA9IDk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmVzdWx0YWRvID0gc3VtICUgMTEgPCAyID8gMCA6IDExIC0gc3VtICUgMTE7XG5cbiAgICAgICAgaWYgKHJlc3VsdGFkbyAhPT0gK2RpZ2l0cy5jaGFyQXQoMSkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgaXNWYWxpZFN0YXRlUmVnaXN0cmF0aW9uKGFjcm9ueW1TdGF0ZTogQUNCUl9VRnMsIHN0YXRlUmVnaXN0cmF0aW9uOiBzdHJpbmcpOiB7IGllOiBzdHJpbmcsIGlzVmFsaWQ6IGJvb2xlYW47IGVycm9yOiBzdHJpbmc7IH0ge1xuICAgICAgICBpZiAoU3RyaW5nVXRpbC5pc0VtcHR5KGFjcm9ueW1TdGF0ZSkgfHwgU3RyaW5nVXRpbC5pc0VtcHR5KHN0YXRlUmVnaXN0cmF0aW9uKSkge1xuICAgICAgICAgICAgcmV0dXJuIHsgaWU6IHN0YXRlUmVnaXN0cmF0aW9uLCBpc1ZhbGlkOiBmYWxzZSwgZXJyb3I6ICfDiSBuZXNjZXNzw6FyaW8gaW5mb3JtYXIgYSBVRiBlIGEgaW5zY3Jpw6fDo28gZXN0YWR1YWwgcGFyYSBhIHZhbGlkYcOnw6NvJyB9O1xuICAgICAgICB9XG4gICAgICAgIGlmIChzdGF0ZVJlZ2lzdHJhdGlvbi50b1VwcGVyQ2FzZSgpID09PSAnSVNFTlRPJykge1xuICAgICAgICAgICAgcmV0dXJuIHsgaWU6IHN0YXRlUmVnaXN0cmF0aW9uLCBpc1ZhbGlkOiB0cnVlLCBlcnJvcjogJycgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAobmV3IEFDQnJWYWxpZGFkb3JJRSgpLmlzVmFsaWQoc3RhdGVSZWdpc3RyYXRpb24sIGFjcm9ueW1TdGF0ZSwgJy4vLScpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGlzVmFsaWRDZXAoY2VwOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKFN0cmluZ1V0aWwuaXNFbXB0eShjZXApKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gQnJhc2lsaWFuVXRpbC5pc1ZhbGlkQ0VQKGNlcCk7XG4gICAgfVxuXG59XG4iXX0=
|