UNPKG

imng-odata-client

Version:

This library was generated with [Nx](https://nx.dev).

1 lines 83.6 kB
{"version":3,"file":"imng-odata-client.mjs","sources":["../tmp-esm2022/lib/models/child-filter.js","../tmp-esm2022/lib/models/composite-filter.js","../tmp-esm2022/lib/models/computation-operators.js","../tmp-esm2022/lib/models/computation.js","../tmp-esm2022/lib/models/expander.js","../tmp-esm2022/lib/helpers/filter-serializers.js","../tmp-esm2022/lib/models/filter-operators.js","../tmp-esm2022/lib/models/odata-result.js","../tmp-esm2022/lib/helpers/get-filter-operator.js","../tmp-esm2022/lib/operators/map-data.js","../tmp-esm2022/lib/services/odata-client.service.js","../tmp-esm2022/lib/imng-odata-client.module.js","../tmp-esm2022/lib/helpers/create-odata-result.js","../tmp-esm2022/imng-odata-client.js"],"sourcesContent":["export function isChildFilter(source) {\n return !!source?.childTable;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpbGQtZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9pbW5nLW9kYXRhLWNsaWVudC9zcmMvbGliL21vZGVscy9jaGlsZC1maWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0JBLE1BQU0sVUFBVSxhQUFhLENBQzNCLE1BQThDO0lBRTlDLE9BQU8sQ0FBQyxDQUFFLE1BQXNCLEVBQUUsVUFBVSxDQUFDO0FBQy9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb3NpdGVGaWx0ZXIgfSBmcm9tICcuL2NvbXBvc2l0ZS1maWx0ZXInO1xuaW1wb3J0IHsgRmlsdGVyIH0gZnJvbSAnLi9maWx0ZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIENoaWxkRmlsdGVyIGV4dGVuZHMgRmlsdGVyIHtcbiAgLyoqXG4gICAqIFVzZWQgdG8gc3VwcG9ydCBjaGlsZCBlbnRpdHkgZmlsdGVyaW5nOlxuICAgKiBDaGlsZCB0YWJsZSBuYW1lL25hdmlnYXRpb24gcHJvcGVydHlcbiAgICogKi9cbiAgY2hpbGRUYWJsZTogc3RyaW5nO1xuICAvKipcbiAgICogVXNlZCB0byBzdXBwb3J0IGNoaWxkIGVudGl0eSBmaWx0ZXJpbmc6XG4gICAqIFNwZWNpZmllcyB3aGV0aGVyIGFsbCBvciBzb21lIG9mIHRoZSBjaGlsZCByZWNvcmRzIGhhdmUgdG8gbWF0Y2ggdGhlIGdpdmVuIGNyaXRlcmlhXG4gICAqICovXG4gIGxpbnFPcGVyYXRpb246ICdhbGwnIHwgJ2FueSc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0NoaWxkRmlsdGVyKFxuICBzb3VyY2U6IENvbXBvc2l0ZUZpbHRlciB8IEZpbHRlciB8IENoaWxkRmlsdGVyLFxuKTogc291cmNlIGlzIENoaWxkRmlsdGVyIHtcbiAgcmV0dXJuICEhKHNvdXJjZSBhcyBDaGlsZEZpbHRlcik/LmNoaWxkVGFibGU7XG59XG4iXX0=","export function isCompositeFilter(source) {\n return !!source?.filters;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9zaXRlLWZpbHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvaW1uZy1vZGF0YS1jbGllbnQvc3JjL2xpYi9tb2RlbHMvY29tcG9zaXRlLWZpbHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxQkEsTUFBTSxVQUFVLGlCQUFpQixDQUMvQixNQUE4QztJQUU5QyxPQUFPLENBQUMsQ0FBRSxNQUEwQixFQUFFLE9BQU8sQ0FBQztBQUNoRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hpbGRGaWx0ZXIgfSBmcm9tICcuL2NoaWxkLWZpbHRlcic7XG5pbXBvcnQgeyBGaWx0ZXIgfSBmcm9tICcuL2ZpbHRlcic7XG5cbi8qKlxuICogQSBjb21wbGV4IGZpbHRlciBleHByZXNzaW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbXBvc2l0ZUZpbHRlciB7XG4gIC8qKlxuICAgKiBUaGUgbG9naWNhbCBvcGVyYXRpb24gdG8gdXNlIHdoZW4gdGhlIGBmaWx0ZXIuZmlsdGVyc2Agb3B0aW9uIGlzIHNldC5cbiAgICpcbiAgICogVGhlIHN1cHBvcnRlZCB2YWx1ZXMgYXJlOlxuICAgKiAqIGBcImFuZFwiYFxuICAgKiAqIGBcIm9yXCJgXG4gICAqL1xuICBsb2dpYzogJ29yJyB8ICdhbmQnO1xuICAvKipcbiAgICogVGhlIG5lc3RlZCBmaWx0ZXIgZXhwcmVzc2lvbnNcbiAgICovXG4gIGZpbHRlcnM6IEFycmF5PEZpbHRlciB8IENoaWxkRmlsdGVyIHwgQ29tcG9zaXRlRmlsdGVyPjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQ29tcG9zaXRlRmlsdGVyKFxuICBzb3VyY2U6IENvbXBvc2l0ZUZpbHRlciB8IEZpbHRlciB8IENoaWxkRmlsdGVyLFxuKTogc291cmNlIGlzIENvbXBvc2l0ZUZpbHRlciB7XG4gIHJldHVybiAhIShzb3VyY2UgYXMgQ29tcG9zaXRlRmlsdGVyKT8uZmlsdGVycztcbn1cbiJdfQ==","export var ComputationOperators;\n(function (ComputationOperators) {\n ComputationOperators[\"Multiply\"] = \"mul\";\n ComputationOperators[\"Divide\"] = \"div\";\n ComputationOperators[\"Add\"] = \"add\";\n ComputationOperators[\"Subtract\"] = \"sub\";\n ComputationOperators[\"Modulus\"] = \"mod\";\n})(ComputationOperators || (ComputationOperators = {}));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0YXRpb24tb3BlcmF0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9pbW5nLW9kYXRhLWNsaWVudC9zcmMvbGliL21vZGVscy9jb21wdXRhdGlvbi1vcGVyYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksb0JBTVg7QUFORCxXQUFZLG9CQUFvQjtJQUM5Qix3Q0FBZ0IsQ0FBQTtJQUNoQixzQ0FBYyxDQUFBO0lBQ2QsbUNBQVcsQ0FBQTtJQUNYLHdDQUFnQixDQUFBO0lBQ2hCLHVDQUFlLENBQUE7QUFDakIsQ0FBQyxFQU5XLG9CQUFvQixLQUFwQixvQkFBb0IsUUFNL0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBDb21wdXRhdGlvbk9wZXJhdG9ycyB7XG4gIE11bHRpcGx5ID0gJ211bCcsXG4gIERpdmlkZSA9ICdkaXYnLFxuICBBZGQgPSAnYWRkJyxcbiAgU3VidHJhY3QgPSAnc3ViJyxcbiAgTW9kdWx1cyA9ICdtb2QnLFxufVxuIl19","export function isComputation(source) {\n return !!source?.operator;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0YXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ltbmctb2RhdGEtY2xpZW50L3NyYy9saWIvbW9kZWxzL2NvbXB1dGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWFBLE1BQU0sVUFBVSxhQUFhLENBQzNCLE1BQTRCO0lBRTVCLE9BQU8sQ0FBQyxDQUFFLE1BQXNCLEVBQUUsUUFBUSxDQUFDO0FBQzdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wdXRhdGlvbk9wZXJhdG9ycyB9IGZyb20gJy4vY29tcHV0YXRpb24tb3BlcmF0b3JzJztcblxuZXhwb3J0IGludGVyZmFjZSBDb21wdXRhdGlvbiB7XG4gIC8qKiBUaGlzIGlzIHRoZSBmaXJzdCB2YWx1ZSB0byBiZSB1c2VkIGluIHRoZSBjb21wdXRhdGlvbiAqL1xuICBmaWVsZEE6IHN0cmluZyB8IG51bWJlcjtcbiAgLyoqIFRoaXMgaXMgdGhlIHNlY29uZCB2YWx1ZSB0byBiZSB1c2VkIGluIHRoZSBjb21wdXRhdGlvbiAqL1xuICBmaWVsZEI6IHN0cmluZyB8IG51bWJlcjtcbiAgb3BlcmF0b3I6IENvbXB1dGF0aW9uT3BlcmF0b3JzIHwgc3RyaW5nOyAvL05PU09OQVJcblxuICAvKiogVGhpcyBNVVNUIGRpZmZlciBmcm9tIHRoZSBuYW1lcyBvZiBkZWNsYXJlZCBvciBkeW5hbWljIHByb3BlcnRpZXMgb2YgdGhlIGlkZW50aWZpZWQgcmVzb3VyY2VzLiAqL1xuICBhbGlhczogc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNDb21wdXRhdGlvbihcbiAgc291cmNlOiBzdHJpbmcgfCBDb21wdXRhdGlvbixcbik6IHNvdXJjZSBpcyBDb21wdXRhdGlvbiB7XG4gIHJldHVybiAhIShzb3VyY2UgYXMgQ29tcHV0YXRpb24pPy5vcGVyYXRvcjtcbn1cbiJdfQ==","export function isExpander(source) {\n return !!source?.table;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5kZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ltbmctb2RhdGEtY2xpZW50L3NyYy9saWIvbW9kZWxzL2V4cGFuZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE1BQU0sVUFBVSxVQUFVLENBQUMsTUFBeUI7SUFDbEQsT0FBTyxDQUFDLENBQUUsTUFBbUIsRUFBRSxLQUFLLENBQUM7QUFDdkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9EYXRhUXVlcnkgfSBmcm9tICcuL29kYXRhLXF1ZXJ5JztcblxuZXhwb3J0IGludGVyZmFjZSBFeHBhbmRlciBleHRlbmRzIE9EYXRhUXVlcnkge1xuICB0YWJsZTogc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNFeHBhbmRlcihzb3VyY2U6IHN0cmluZyB8IEV4cGFuZGVyKTogc291cmNlIGlzIEV4cGFuZGVyIHtcbiAgcmV0dXJuICEhKHNvdXJjZSBhcyBFeHBhbmRlcik/LnRhYmxlO1xufVxuIl19","export function serializeValue(value) {\n if (typeof value === 'string') {\n return `'${value}'`;\n }\n return value instanceof Date\n ? `${value.toISOString().split('T')[0]}`\n : `${value}`;\n}\nexport const serializeSimpleFilter = (field, operator, value) => `${field}+${operator}+${serializeValue(value)}`;\nexport const serializeArrayFilter = (field, operator, values) => values\n ? `${field}+${operator}+(${values.map((m) => serializeValue(m)).join(',')})`\n : '';\nexport const serializeFunctionFilter = (field, func, value) => (value ? `${func}(${field},${serializeValue(value)})` : '');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXNlcmlhbGl6ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9pbW5nLW9kYXRhLWNsaWVudC9zcmMvbGliL2hlbHBlcnMvZmlsdGVyLXNlcmlhbGl6ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sVUFBVSxjQUFjLENBQUMsS0FBYztJQUMzQyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzlCLE9BQU8sSUFBSSxLQUFLLEdBQUcsQ0FBQztJQUN0QixDQUFDO0lBQ0QsT0FBTyxLQUFLLFlBQVksSUFBSTtRQUMxQixDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1FBQ3hDLENBQUMsQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDO0FBQ2pCLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxDQUNuQyxLQUFhLEVBQ2IsUUFBZ0IsRUFDaEIsS0FBYyxFQUNOLEVBQUUsQ0FBQyxHQUFHLEtBQUssSUFBSSxRQUFRLElBQUksY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7QUFFN0QsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsQ0FDbEMsS0FBYSxFQUNiLFFBQWdCLEVBQ2hCLE1BQWlCLEVBQ1QsRUFBRSxDQUNWLE1BQU07SUFDSixDQUFDLENBQUMsR0FBRyxLQUFLLElBQUksUUFBUSxLQUFLLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRztJQUM1RSxDQUFDLENBQUMsRUFBRSxDQUFDO0FBRVQsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsQ0FDckMsS0FBYSxFQUNiLElBQVksRUFDWixLQUFjLEVBQ04sRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksSUFBSSxLQUFLLElBQUksY0FBYyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSWRUeXBlIH0gZnJvbSAnaW1uZy1ucnNyeC1jbGllbnQtdXRpbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gc2VyaWFsaXplVmFsdWUodmFsdWU/OiBJZFR5cGUpOiBzdHJpbmcge1xuICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBgJyR7dmFsdWV9J2A7XG4gIH1cbiAgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgRGF0ZVxuICAgID8gYCR7dmFsdWUudG9JU09TdHJpbmcoKS5zcGxpdCgnVCcpWzBdfWBcbiAgICA6IGAke3ZhbHVlfWA7XG59XG5cbmV4cG9ydCBjb25zdCBzZXJpYWxpemVTaW1wbGVGaWx0ZXIgPSAoXG4gIGZpZWxkOiBzdHJpbmcsXG4gIG9wZXJhdG9yOiBzdHJpbmcsXG4gIHZhbHVlPzogSWRUeXBlLFxuKTogc3RyaW5nID0+IGAke2ZpZWxkfSske29wZXJhdG9yfSske3NlcmlhbGl6ZVZhbHVlKHZhbHVlKX1gO1xuXG5leHBvcnQgY29uc3Qgc2VyaWFsaXplQXJyYXlGaWx0ZXIgPSAoXG4gIGZpZWxkOiBzdHJpbmcsXG4gIG9wZXJhdG9yOiBzdHJpbmcsXG4gIHZhbHVlcz86IElkVHlwZVtdLFxuKTogc3RyaW5nID0+XG4gIHZhbHVlc1xuICAgID8gYCR7ZmllbGR9KyR7b3BlcmF0b3J9Kygke3ZhbHVlcy5tYXAoKG0pID0+IHNlcmlhbGl6ZVZhbHVlKG0pKS5qb2luKCcsJyl9KWBcbiAgICA6ICcnO1xuXG5leHBvcnQgY29uc3Qgc2VyaWFsaXplRnVuY3Rpb25GaWx0ZXIgPSAoXG4gIGZpZWxkOiBzdHJpbmcsXG4gIGZ1bmM6IHN0cmluZyxcbiAgdmFsdWU/OiBJZFR5cGUsXG4pOiBzdHJpbmcgPT4gKHZhbHVlID8gYCR7ZnVuY30oJHtmaWVsZH0sJHtzZXJpYWxpemVWYWx1ZSh2YWx1ZSl9KWAgOiAnJyk7XG4iXX0=","import { serializeArrayFilter, serializeFunctionFilter, serializeSimpleFilter, } from '../helpers/filter-serializers';\n/**\n * Represents the list of supported simple filter operators.\n */\nexport class FilterOperators {\n /**\n * The `eq` operator.\n */\n static { this.equals = {\n name: 'equals',\n toODataString: (field, value) => serializeSimpleFilter(field, 'eq', value),\n }; }\n /**\n * The `gt` operator.\n */\n static { this.greaterThan = {\n name: 'greaterThan',\n toODataString: (field, value) => serializeSimpleFilter(field, 'gt', value),\n }; }\n /**\n * The `ge` operator.\n */\n static { this.greaterThanOrEquals = {\n name: 'greaterThanOrEquals',\n toODataString: (field, value) => serializeSimpleFilter(field, 'ge', value),\n }; }\n /**\n * The `lt` operator.\n */\n static { this.lessThan = {\n name: 'lessThan',\n toODataString: (field, value) => serializeSimpleFilter(field, 'lt', value),\n }; }\n /**\n * The `le` operator.\n */\n static { this.lessThanOrEquals = {\n name: 'lessThanOrEquals',\n toODataString: (field, value) => serializeSimpleFilter(field, 'le', value),\n }; }\n /**\n * The `ne` operator.\n */\n static { this.notEquals = {\n name: 'notEquals',\n toODataString: (field, value) => serializeSimpleFilter(field, 'ne', value),\n }; }\n /**\n * The `in` operator.\n */\n static { this.in = {\n name: 'in',\n toODataString: (field, values) => serializeArrayFilter(field, 'in', values),\n }; }\n /**\n * The `not in` operator.\n */\n static { this.notIn = {\n name: 'notIn',\n toODataString: (field, values) => serializeArrayFilter(field, 'not+in', values),\n }; }\n /**\n * The `is not null` operator.\n */\n static { this.notNull = {\n name: 'notNull',\n toODataString: (field) => `${field}+ne+null`,\n }; }\n /**\n * The `is null` operator.\n */\n static { this.isNull = {\n name: 'isNull',\n toODataString: (field) => `${field}+eq+null`,\n }; }\n /**\n * The `contains` operator.\n */\n static { this.contains = {\n name: 'contains',\n toODataString: (field, value) => serializeFunctionFilter(field, 'contains', value),\n }; }\n /**\n * The `not contain` operator.\n */\n static { this.notContains = {\n name: 'notContains',\n toODataString: (field, value) => serializeFunctionFilter(field, 'not+contains', value),\n }; }\n /**\n * The `ends with` operator.\n */\n static { this.endsWith = {\n name: 'endswith',\n toODataString: (field, value) => serializeFunctionFilter(field, 'endswith', value),\n }; }\n /**\n * The `not ends with` operator.\n */\n static { this.notEndsWith = {\n name: 'notEndsWith',\n toODataString: (field, value) => serializeFunctionFilter(field, 'not+endswith', value),\n }; }\n /**\n * The `startswith` operator.\n */\n static { this.startsWith = {\n name: 'startsWith',\n toODataString: (field, value) => serializeFunctionFilter(field, 'startswith', value),\n }; }\n /**\n * The `not start with` operator.\n */\n static { this.notStartsWith = {\n name: 'notStartsWith',\n toODataString: (field, value) => serializeFunctionFilter(field, 'not+startswith', value),\n }; }\n /**\n * The `empty` operator.\n */\n static { this.isEmpty = {\n name: 'isEmpty',\n toODataString: (field) => serializeSimpleFilter(field, 'eq', ''),\n }; }\n /**\n * The `not empty` operator.\n */\n static { this.notEmpty = {\n name: 'notEmpty',\n toODataString: (field) => serializeSimpleFilter(field, 'ne', ''),\n }; }\n}\nexport const filterOperators = {\n contains: FilterOperators.contains,\n endsWith: FilterOperators.endsWith,\n equals: FilterOperators.equals,\n dateIs: FilterOperators.equals,\n greaterThan: FilterOperators.greaterThan,\n gt: FilterOperators.greaterThan,\n dateAfter: FilterOperators.greaterThan,\n greaterThanOrEquals: FilterOperators.greaterThanOrEquals,\n gte: FilterOperators.greaterThanOrEquals,\n in: FilterOperators.in,\n isEmpty: FilterOperators.isEmpty,\n isNull: FilterOperators.isNull,\n lessThan: FilterOperators.lessThan,\n lt: FilterOperators.lessThan,\n dateBefore: FilterOperators.lessThan,\n lessThanOrEquals: FilterOperators.lessThanOrEquals,\n lte: FilterOperators.lessThan,\n notContains: FilterOperators.notContains,\n notEmpty: FilterOperators.notEmpty,\n notEndsWith: FilterOperators.notEndsWith,\n notEquals: FilterOperators.notEquals,\n dateIsNot: FilterOperators.notEquals,\n notIn: FilterOperators.notIn,\n notNull: FilterOperators.notNull,\n notStartsWith: FilterOperators.notStartsWith,\n startsWith: FilterOperators.startsWith,\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLW9wZXJhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvaW1uZy1vZGF0YS1jbGllbnQvc3JjL2xpYi9tb2RlbHMvZmlsdGVyLW9wZXJhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLHVCQUF1QixFQUN2QixxQkFBcUIsR0FDdEIsTUFBTSwrQkFBK0IsQ0FBQztBQU12Qzs7R0FFRztBQUNILE1BQU0sT0FBTyxlQUFlO0lBQzFCOztPQUVHO2FBQ29CLFdBQU0sR0FBb0I7UUFDL0MsSUFBSSxFQUFFLFFBQVE7UUFDZCxhQUFhLEVBQUUsQ0FBQyxLQUFhLEVBQUUsS0FBYyxFQUFFLEVBQUUsQ0FDL0MscUJBQXFCLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUM7S0FDNUMsQ0FBQztJQUNGOztPQUVHO2FBQ29CLGdCQUFXLEdBQW9CO1FBQ3BELElBQUksRUFBRSxhQUFhO1FBQ25CLGFBQWEsRUFBRSxDQUFDLEtBQWEsRUFBRSxLQUFjLEVBQVUsRUFBRSxDQUN2RCxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQztLQUM1QyxDQUFDO0lBQ0Y7O09BRUc7YUFDb0Isd0JBQW1CLEdBQW9CO1FBQzVELElBQUksRUFBRSxxQkFBcUI7UUFDM0IsYUFBYSxFQUFFLENBQUMsS0FBYSxFQUFFLEtBQWMsRUFBVSxFQUFFLENBQ3ZELHFCQUFxQixDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDO0tBQzVDLENBQUM7SUFDRjs7T0FFRzthQUNvQixhQUFRLEdBQW9CO1FBQ2pELElBQUksRUFBRSxVQUFVO1FBQ2hCLGFBQWEsRUFBRSxDQUFDLEtBQWEsRUFBRSxLQUFjLEVBQVUsRUFBRSxDQUN2RCxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQztLQUM1QyxDQUFDO0lBQ0Y7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QVcsRUFBRSxlQUFlLENBQUMsV0FBVztJQUN4QyxTQUFTLEVBQUUsZUFBZSxDQUFDLFNBQVM7SUFDcEMsU0FBUyxFQUFFLGVBQWUsQ0FBQyxTQUFTO0lBQ3BDLEtBQUssRUFBRSxlQUFlLENBQUMsS0FBSztJQUM1QixPQUFPLEVBQUUsZUFBZSxDQUFDLE9BQU87SUFDaEMsYUFBYSxFQUFFLGVBQWUsQ0FBQyxhQUFhO0lBQzVDLFVBQVUsRUFBRSxlQUFlLENBQUMsVUFBVTtDQUN2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSWRUeXBlIH0gZnJvbSAnaW1uZy1ucnNyeC1jbGllbnQtdXRpbHMnO1xuaW1wb3J0IHsgSUZpbHRlck9wZXJhdG9yIH0gZnJvbSAnLi9maWx0ZXItb3BlcmF0b3InO1xuaW1wb3J0IHtcbiAgc2VyaWFsaXplQXJyYXlGaWx0ZXIsXG4gIHNlcmlhbGl6ZUZ1bmN0aW9uRmlsdGVyLFxuICBzZXJpYWxpemVTaW1wbGVGaWx0ZXIsXG59IGZyb20gJy4uL2hlbHBlcnMvZmlsdGVyLXNlcmlhbGl6ZXJzJztcblxuZXhwb3J0IGludGVyZmFjZSBJRmlsdGVyT3BlcmF0b3JzIHtcbiAgW2tleTogc3RyaW5nXTogSUZpbHRlck9wZXJhdG9yO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIGxpc3Qgb2Ygc3VwcG9ydGVkIHNpbXBsZSBmaWx0ZXIgb3BlcmF0b3JzLlxuICovXG5leHBvcnQgY2xhc3MgRmlsdGVyT3BlcmF0b3JzIHtcbiAgLyoqXG4gICAqIFRoZSBgZXFgIG9wZXJhdG9yLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBlcXVhbHM6IElGaWx0ZXJPcGVyYXRvciA9IHtcbiAgICBuYW1lOiAnZXF1YWxzJyxcbiAgICB0b09EYXRhU3RyaW5nOiAoZmllbGQ6IHN0cmluZywgdmFsdWU/OiBJZFR5cGUpID0+XG4gICAgICBzZXJpYWxpemVTaW1wbGVGaWx0ZXIoZmllbGQsICdlcScsIHZhbHVlKSxcbiAgfTtcbiAgLyoqXG4gICAqIFRoZSBgZ3RgIG9wZXJhdG9yLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBncmVhdGVyVGhhbjogSUZpbHRlck9wZXJhdG9yID0ge1xuICAgIG5hbWU6ICdncmVhdGVyVGhhbicsXG4gICAgdG9PRGF0YVN0cmluZzogKGZpZWxkOiBzdHJpbmcsIHZhbHVlPzogSWRUeXBlKTogc3RyaW5nID0+XG4gICAgICBzZXJpYWxpemVTaW1wbGVGaWx0ZXIoZmllbGQsICdndCcsIHZhbHVlKSxcbiAgfTtcbiAgLyoqXG4gICAqIFRoZSBgZ2VgIG9wZXJhdG9yLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBncmVhdGVyVGhhbk9yRXF1YWxzOiBJRmlsdGVyT3BlcmF0b3IgPSB7XG4gICAgbmFtZTogJ2dyZWF0ZXJUaGFuT3JFcXVhbHMnLFxuICAgIHRvT0RhdGFTdHJpbmc6IChmaWVsZDogc3RyaW5nLCB2YWx1ZT86IElkVHlwZSk6IHN0cmluZyA9PlxuICAgICAgc2VyaWFsaXplU2ltcGxlRmlsdGVyKGZpZWxkLCAnZ2UnLCB2YWx1ZSksXG4gIH07XG4gIC8qKlxuICAgKiBUaGUgYGx0YCBvcGVyYXRvci5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgbGVzc1RoYW46IElGaWx0ZXJPcGVyYXRvciA9IHtcbiAgICBuYW1lOiAnbGVzc1RoYW4nLFxuICAgIHRvT0RhdGFTdHJpbmc6IChmaWVsZDogc3RyaW5nLCB2YWx1ZT86IElkVHlwZSk6IHN0cmluZyA9PlxuICAgICAgc2VyaWFsaXplU2ltcGxlRmlsdGVyKGZpZWxkLCAnbHQnLCB2YWx1ZSksXG4gIH07XG4gIC8qKlxuICAgKiBUaGUgYGxlYCBvcGVyYXRvci5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgbGVzc1RoYW5PckVxdWFsczogSUZpbHRlck9wZXJhdG9yID0ge1xuICAgIG5hbWU6ICdsZXNzVGhhbk9yRXF1YWxzJyxcbiAgICB0b09EYXRhU3RyaW5nOiAoZmllbGQ6IHN0cmluZywgdmFsdWU/OiBJZFR5cGUpOiBzdHJpbmcgPT5cbiAgICAgIHNlcmlhbGl6ZVNpbXBsZUZpbHRlcihmaWVsZCwgJ2xlJywgdmFsdWUpLFxuICB9O1xuICAvKipcbiAgICogVGhlIGBuZWAgb3BlcmF0b3IuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IG5vdEVxdWFsczogSUZpbHRlck9wZXJhdG9yID0ge1xuICAgIG5hbWU6ICdub3RFcXVhbHMnLFxuICAgIHRvT0RhdGFTdHJpbmc6IChmaWVsZDogc3RyaW5nLCB2YWx1ZT86IElkVHlwZSk6IHN0cmluZyA9PlxuICAgICAgc2VyaWFsaXplU2ltcGxlRmlsdGVyKGZpZWxkLCAnbmUnLCB2YWx1ZSksXG4gIH07XG4gIC8qKlxuICAgKiBUaGUgYGluYCBvcGVyYXRvci5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgaW46IElGaWx0ZXJPcGVyYXRvciA9IHtcbiAgICBuYW1lOiAnaW4nLFxuICAgIHRvT0RhdGFTdHJpbmc6IChmaWVsZDogc3RyaW5nLCB2YWx1ZXM/OiBJZFR5cGVbXSk6IHN0cmluZyA9PlxuICAgICAgc2VyaWFsaXplQXJyYXlGaWx0ZXIoZmllbGQsICdpbicsIHZhbHVlcyksXG4gIH07XG4gIC8qKlxuICAgKiBUaGUgYG5vdCBpbmAgb3BlcmF0b3IuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IG5vdEluOiBJRmlsdGVyT3BlcmF0b3IgPSB7XG4gICAgbmFtZTogJ25vdEluJyxcbiAgICB0b09EYXRhU3RyaW5nOiAoZmllbGQ6IHN0cmluZywgdmFsdWVzPzogSWRUeXBlW10pOiBzdHJpbmcgPT5cbiAgICAgIHNlcmlhbGl6ZUFycmF5RmlsdGVyKGZpZWxkLCAnbm90K2luJywgdmFsdWVzKSxcbiAgfTtcbiAgLyoqXG4gICAqIFRoZSBgaXMgbm90IG51bGxgIG9wZXJhdG9yLlxuICAgKi9cblxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IG5vdE51bGw6IElGaWx0ZXJPcGVyYXRvciA9IHtcbiAgICBuYW1lOiAnbm90TnVsbCcsXG4gICAgdG9PRGF0YVN0cmluZzogKGZpZWxkOiBzdHJpbmcpOiBzdHJpbmcgPT4gYCR7ZmllbGR9K25lK251bGxgLFxuICB9O1xuICAvKipcbiAgICogVGhlIGBpcyBudWxsYCBvcGVyYXRvci5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgaXNOdWxsOiBJRmlsdGVyT3BlcmF0b3IgPSB7XG4gICAgbmFtZTogJ2lzTnVsbCcsXG4gICAgdG9PRGF0YVN0cmluZzogKGZpZWxkOiBzdHJpbmcpOiBzdHJpbmcgPT4gYCR7ZmllbGR9K2VxK251bGxgLFxuICB9O1xuICAvKipcbiAgICogVGhlIGBjb250YWluc2Agb3BlcmF0b3IuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGNvbnRhaW5zOiBJRmlsdGVyT3BlcmF0b3IgPSB7XG4gICAgbmFtZTogJ2NvbnRhaW5zJyxcbiAgICB0b09EYXRhU3RyaW5nOiAoZmllbGQ6IHN0cmluZywgdmFsdWU/OiBJZFR5cGUpOiBzdHJpbmcgPT5cbiAgICAgIHNlcmlhbGl6ZUZ1bmN0aW9uRmlsdGVyKGZpZWxkLCAnY29udGFpbnMnLCB2YWx1ZSksXG4gIH07XG4gIC8qKlxuICAgKiBUaGUgYG5vdCBjb250YWluYCBvcGVyYXRvci5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgbm90Q29udGFpbnM6IElGaWx0ZXJPcGVyYXRvciA9IHtcbiAgICBuYW1lOiAnbm90Q29udGFpbnMnLFxuICAgIHRvT0RhdGFTdHJpbmc6IChmaWVsZDogc3RyaW5nLCB2YWx1ZT86IElkVHlwZSk6IHN0cmluZyA9PlxuICAgICAgc2VyaWFsaXplRnVuY3Rpb25GaWx0ZXIoZmllbGQsICdub3QrY29udGFpbnMnLCB2YWx1ZSksXG4gIH07XG4gIC8qKlxuICAgKiBUaGUgYGVuZHMgd2l0aGAgb3BlcmF0b3IuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGVuZHNXaXRoOiBJRmlsdGVyT3BlcmF0b3IgPSB7XG4gICAgbmFtZTogJ2VuZHN3aXRoJyxcbiAgICB0b09EYXRhU3RyaW5nOiAoZmllbGQ6IHN0cmluZywgdmFsdWU/OiBJZFR5cGUpOiBzdHJpbmcgPT5cbiAgICAgIHNlcmlhbGl6ZUZ1bmN0aW9uRmlsdGVyKGZpZWxkLCAnZW5kc3dpdGgnLCB2YWx1ZSksXG4gIH07XG4gIC8qKlxuICAgKiBUaGUgYG5vdCBlbmRzIHdpdGhgIG9wZXJhdG9yLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBub3RFbmRzV2l0aDogSUZpbHRlck9wZXJhdG9yID0ge1xuICAgIG5hbWU6ICdub3RFbmRzV2l0aCcsXG4gICAgdG9PRGF0YVN0cmluZzogKGZpZWxkOiBzdHJpbmcsIHZhbHVlPzogSWRUeXBlKTogc3RyaW5nID0+XG4gICAgICBzZXJpYWxpemVGdW5jdGlvbkZpbHRlcihmaWVsZCwgJ25vdCtlbmRzd2l0aCcsIHZhbHVlKSxcbiAgfTtcbiAgLyoqXG4gICAqIFRoZSBgc3RhcnRzd2l0aGAgb3BlcmF0b3IuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IHN0YXJ0c1dpdGg6IElGaWx0ZXJPcGVyYXRvciA9IHtcbiAgICBuYW1lOiAnc3RhcnRzV2l0aCcsXG4gICAgdG9PRGF0YVN0cmluZzogKGZpZWxkOiBzdHJpbmcsIHZhbHVlPzogSWRUeXBlKTogc3RyaW5nID0+XG4gICAgICBzZXJpYWxpemVGdW5jdGlvbkZpbHRlcihmaWVsZCwgJ3N0YXJ0c3dpdGgnLCB2YWx1ZSksXG4gIH07XG4gIC8qKlxuICAgKiBUaGUgYG5vdCBzdGFydCB3aXRoYCBvcGVyYXRvci5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgbm90U3RhcnRzV2l0aDogSUZpbHRlck9wZXJhdG9yID0ge1xuICAgIG5hbWU6ICdub3RTdGFydHNXaXRoJyxcbiAgICB0b09EYXRhU3RyaW5nOiAoZmllbGQ6IHN0cmluZywgdmFsdWU/OiBJZFR5cGUpOiBzdHJpbmcgPT5cbiAgICAgIHNlcmlhbGl6ZUZ1bmN0aW9uRmlsdGVyKGZpZWxkLCAnbm90K3N0YXJ0c3dpdGgnLCB2YWx1ZSksXG4gIH07XG4gIC8qKlxuICAgKiBUaGUgYGVtcHR5YCBvcGVyYXRvci5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgaXNFbXB0eTogSUZpbHRlck9wZXJhdG9yID0ge1xuICAgIG5hbWU6ICdpc0VtcHR5JyxcbiAgICB0b09EYXRhU3RyaW5nOiAoZmllbGQ6IHN0cmluZyk6IHN0cmluZyA9PlxuICAgICAgc2VyaWFsaXplU2ltcGxlRmlsdGVyKGZpZWxkLCAnZXEnLCAnJyksXG4gIH07XG4gIC8qKlxuICAgKiBUaGUgYG5vdCBlbXB0eWAgb3BlcmF0b3IuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IG5vdEVtcHR5OiBJRmlsdGVyT3BlcmF0b3IgPSB7XG4gICAgbmFtZTogJ25vdEVtcHR5JyxcbiAgICB0b09EYXRhU3RyaW5nOiAoZmllbGQ6IHN0cmluZyk6IHN0cmluZyA9PlxuICAgICAgc2VyaWFsaXplU2ltcGxlRmlsdGVyKGZpZWxkLCAnbmUnLCAnJyksXG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBmaWx0ZXJPcGVyYXRvcnM6IElGaWx0ZXJPcGVyYXRvcnMgPSB7XG4gIGNvbnRhaW5zOiBGaWx0ZXJPcGVyYXRvcnMuY29udGFpbnMsXG4gIGVuZHNXaXRoOiBGaWx0ZXJPcGVyYXRvcnMuZW5kc1dpdGgsXG4gIGVxdWFsczogRmlsdGVyT3BlcmF0b3JzLmVxdWFscyxcbiAgZGF0ZUlzOiBGaWx0ZXJPcGVyYXRvcnMuZXF1YWxzLFxuICBncmVhdGVyVGhhbjogRmlsdGVyT3BlcmF0b3JzLmdyZWF0ZXJUaGFuLFxuICBndDogRmlsdGVyT3BlcmF0b3JzLmdyZWF0ZXJUaGFuLFxuICBkYXRlQWZ0ZXI6IEZpbHRlck9wZXJhdG9ycy5ncmVhdGVyVGhhbixcbiAgZ3JlYXRlclRoYW5PckVxdWFsczogRmlsdGVyT3BlcmF0b3JzLmdyZWF0ZXJUaGFuT3JFcXVhbHMsXG4gIGd0ZTogRmlsdGVyT3BlcmF0b3JzLmdyZWF0ZXJUaGFuT3JFcXVhbHMsXG4gIGluOiBGaWx0ZXJPcGVyYXRvcnMuaW4sXG4gIGlzRW1wdHk6IEZpbHRlck9wZXJhdG9ycy5pc0VtcHR5LFxuICBpc051bGw6IEZpbHRlck9wZXJhdG9ycy5pc051bGwsXG4gIGxlc3NUaGFuOiBGaWx0ZXJPcGVyYXRvcnMubGVzc1RoYW4sXG4gIGx0OiBGaWx0ZXJPcGVyYXRvcnMubGVzc1RoYW4sXG4gIGRhdGVCZWZvcmU6IEZpbHRlck9wZXJhdG9ycy5sZXNzVGhhbixcbiAgbGVzc1RoYW5PckVxdWFsczogRmlsdGVyT3BlcmF0b3JzLmxlc3NUaGFuT3JFcXVhbHMsXG4gIGx0ZTogRmlsdGVyT3BlcmF0b3JzLmxlc3NUaGFuLFxuICBub3RDb250YWluczogRmlsdGVyT3BlcmF0b3JzLm5vdENvbnRhaW5zLFxuICBub3RFbXB0eTogRmlsdGVyT3BlcmF0b3JzLm5vdEVtcHR5LFxuICBub3RFbmRzV2l0aDogRmlsdGVyT3BlcmF0b3JzLm5vdEVuZHNXaXRoLFxuICBub3RFcXVhbHM6IEZpbHRlck9wZXJhdG9ycy5ub3RFcXVhbHMsXG4gIGRhdGVJc05vdDogRmlsdGVyT3BlcmF0b3JzLm5vdEVxdWFscyxcbiAgbm90SW46IEZpbHRlck9wZXJhdG9ycy5ub3RJbixcbiAgbm90TnVsbDogRmlsdGVyT3BlcmF0b3JzLm5vdE51bGwsXG4gIG5vdFN0YXJ0c1dpdGg6IEZpbHRlck9wZXJhdG9ycy5ub3RTdGFydHNXaXRoLFxuICBzdGFydHNXaXRoOiBGaWx0ZXJPcGVyYXRvcnMuc3RhcnRzV2l0aCxcbn07XG4iXX0=","export function createEmptyODataResult() {\n return { value: Array(), count: 0 };\n}\nexport function isODataResult(source) {\n return !!source?.value;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2RhdGEtcmVzdWx0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9pbW5nLW9kYXRhLWNsaWVudC9zcmMvbGliL21vZGVscy9vZGF0YS1yZXN1bHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsTUFBTSxVQUFVLHNCQUFzQjtJQUdwQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBSyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztBQUN6QyxDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FDM0IsTUFBZTtJQUVmLE9BQU8sQ0FBQyxDQUFFLE1BQXlCLEVBQUUsS0FBSyxDQUFDO0FBQzdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJZFR5cGUgfSBmcm9tICdpbW5nLW5yc3J4LWNsaWVudC11dGlscyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgT0RhdGFSZXN1bHQ8VCBleHRlbmRzIHsgaWQ/OiBJZFR5cGUgfSB8IHVua25vd24+IHtcbiAgdmFsdWU6IFRbXTtcbiAgY291bnQ/OiBudW1iZXI7XG4gICdAb2RhdGEuY291bnQnPzogbnVtYmVyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRW1wdHlPRGF0YVJlc3VsdDxcbiAgVCBleHRlbmRzIHsgaWQ/OiBJZFR5cGUgfSB8IHVua25vd24sXG4+KCk6IE9EYXRhUmVzdWx0PFQ+IHtcbiAgcmV0dXJuIHsgdmFsdWU6IEFycmF5PFQ+KCksIGNvdW50OiAwIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc09EYXRhUmVzdWx0PFQgZXh0ZW5kcyB7IGlkPzogSWRUeXBlIH0gfCB1bmtub3duPihcbiAgc291cmNlOiB1bmtub3duLFxuKTogc291cmNlIGlzIE9EYXRhUmVzdWx0PFQ+IHtcbiAgcmV0dXJuICEhKHNvdXJjZSBhcyBPRGF0YVJlc3VsdDxUPik/LnZhbHVlO1xufVxuIl19","import { filterOperators } from '../models';\nexport const getFilterOperator = (operatorName) => filterOperators[operatorName];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWZpbHRlci1vcGVyYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvaW1uZy1vZGF0YS1jbGllbnQvc3JjL2xpYi9oZWxwZXJzL2dldC1maWx0ZXItb3BlcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUc1QyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLFlBQW9CLEVBQW1CLEVBQUUsQ0FDekUsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZmlsdGVyT3BlcmF0b3JzIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IElGaWx0ZXJPcGVyYXRvciB9IGZyb20gJy4uL21vZGVscy9maWx0ZXItb3BlcmF0b3InO1xuXG5leHBvcnQgY29uc3QgZ2V0RmlsdGVyT3BlcmF0b3IgPSAob3BlcmF0b3JOYW1lOiBzdHJpbmcpOiBJRmlsdGVyT3BlcmF0b3IgPT5cbiAgZmlsdGVyT3BlcmF0b3JzW29wZXJhdG9yTmFtZV07XG4iXX0=","import { MILLI_SECS_PER_SEC } from 'imng-nrsrx-client-utils';\nimport { map } from 'rxjs/operators';\nexport const mapData = (options) => map((response) => {\n if (!response) {\n return { value: [], count: 0 };\n }\n return Array.isArray(response)\n ? {\n value: response,\n count: response.length,\n }\n : {\n value: parseDatesInCollection(response.value, options),\n count: response['@odata.count'],\n };\n});\nexport function parseDatesInCollection(collection, options) {\n if (collection.length > 0) {\n const utcProps = Object.keys(collection[0]).filter((x) => x.endsWith('Utc'));\n const dateProps = Object.keys(collection[0]).filter((x) => x.endsWith('Date') || x === 'date');\n options.utcNullableProps?.forEach((t) => {\n if (utcProps.indexOf(t) === -1) {\n utcProps.push(t);\n }\n });\n options.dateNullableProps?.forEach((t) => {\n if (dateProps.indexOf(t) === -1) {\n dateProps.push(t);\n }\n });\n // prettier-ignore\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n collection.forEach((val) => {\n utcProps.filter((p) => val[p]).forEach((p) => (val[p] = new Date(val[p])));\n dateProps.filter((p) => val[p]).forEach((p) => (val[p] = toLocalDate(val[p])));\n });\n }\n return collection;\n}\nexport function toLocalDate(date) {\n const dt = new Date(date);\n return new Date(dt.getTime() + Math.abs(dt.getTimezoneOffset() * MILLI_SECS_PER_SEC));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ltbmctb2RhdGEtY2xpZW50L3NyYy9saWIvb3BlcmF0b3JzL21hcC1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdyQyxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsQ0FBbUIsT0FBcUIsRUFBRSxFQUFFLENBQ2pFLEdBQUcsQ0FBQyxDQUFDLFFBQThCLEVBQWtCLEVBQUU7SUFDckQsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2QsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQzVCLENBQUMsQ0FBQztZQUNFLEtBQUssRUFBRSxRQUFRO1lBQ2YsS0FBSyxFQUFFLFFBQVEsQ0FBQyxNQUFNO1NBQ3ZCO1FBQ0gsQ0FBQyxDQUFFO1lBQ0MsS0FBSyxFQUFFLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDO1lBQ3RELEtBQUssRUFBRSxRQUFRLENBQUMsY0FBYyxDQUFDO1NBQ2IsQ0FBQztBQUMzQixDQUFDLENBQUMsQ0FBQztBQUVMLE1BQU0sVUFBVSxzQkFBc0IsQ0FDcEMsVUFBb0IsRUFDcEIsT0FBcUI7SUFFckIsSUFBSSxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQzFCLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDdkQsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FDbEIsQ0FBQztRQUNGLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUNqRCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssTUFBTSxDQUMxQyxDQUFDO1FBRUYsT0FBTyxDQUFDLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3RDLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUMvQixRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ25CLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN2QyxJQUFJLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDaEMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNwQixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxrQkFBa0I7UUFDbEIsOERBQThEO1FBQzlELFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtZQUM5QixRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMzRSxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakYsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQztBQUNELE1BQU0sVUFBVSxXQUFXLENBQUMsSUFBWTtJQUN0QyxNQUFNLEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixPQUFPLElBQUksSUFBSSxDQUNiLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLGtCQUFrQixDQUFDLENBQ3JFLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTUlMTElfU0VDU19QRVJfU0VDIH0gZnJvbSAnaW1uZy1ucnNyeC1jbGllbnQtdXRpbHMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRmV0Y2hPcHRpb25zLCBPRGF0YVJlc3VsdCB9IGZyb20gJy4uL21vZGVscyc7XG5cbmV4cG9ydCBjb25zdCBtYXBEYXRhID0gPFQgZXh0ZW5kcyBvYmplY3Q+KG9wdGlvbnM6IEZldGNoT3B0aW9ucykgPT5cbiAgbWFwKChyZXNwb25zZTogT0RhdGFSZXN1bHQ8VD4gfCBUW10pOiBPRGF0YVJlc3VsdDxUPiA9PiB7XG4gICAgaWYgKCFyZXNwb25zZSkge1xuICAgICAgcmV0dXJuIHsgdmFsdWU6IFtdLCBjb3VudDogMCB9O1xuICAgIH1cbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheShyZXNwb25zZSlcbiAgICAgID8ge1xuICAgICAgICAgIHZhbHVlOiByZXNwb25zZSxcbiAgICAgICAgICBjb3VudDogcmVzcG9uc2UubGVuZ3RoLFxuICAgICAgICB9XG4gICAgICA6ICh7XG4gICAgICAgICAgdmFsdWU6IHBhcnNlRGF0ZXNJbkNvbGxlY3Rpb24ocmVzcG9uc2UudmFsdWUsIG9wdGlvbnMpLFxuICAgICAgICAgIGNvdW50OiByZXNwb25zZVsnQG9kYXRhLmNvdW50J10sXG4gICAgICAgIH0gYXMgT0RhdGFSZXN1bHQ8VD4pO1xuICB9KTtcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlRGF0ZXNJbkNvbGxlY3Rpb248VCBleHRlbmRzIG9iamVjdD4oXG4gIGNvbGxlY3Rpb246IEFycmF5PFQ+LFxuICBvcHRpb25zOiBGZXRjaE9wdGlvbnMsXG4pOiBBcnJheTxUPiB7XG4gIGlmIChjb2xsZWN0aW9uLmxlbmd0aCA+IDApIHtcbiAgICBjb25zdCB1dGNQcm9wcyA9IE9iamVjdC5rZXlzKGNvbGxlY3Rpb25bMF0pLmZpbHRlcigoeCkgPT5cbiAgICAgIHguZW5kc1dpdGgoJ1V0YycpLFxuICAgICk7XG4gICAgY29uc3QgZGF0ZVByb3BzID0gT2JqZWN0LmtleXMoY29sbGVjdGlvblswXSkuZmlsdGVyKFxuICAgICAgKHgpID0+IHguZW5kc1dpdGgoJ0RhdGUnKSB8fCB4ID09PSAnZGF0ZScsXG4gICAgKTtcblxuICAgIG9wdGlvbnMudXRjTnVsbGFibGVQcm9wcz8uZm9yRWFjaCgodCkgPT4ge1xuICAgICAgaWYgKHV0Y1Byb3BzLmluZGV4T2YodCkgPT09IC0xKSB7XG4gICAgICAgIHV0Y1Byb3BzLnB1c2godCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBvcHRpb25zLmRhdGVOdWxsYWJsZVByb3BzPy5mb3JFYWNoKCh0KSA9PiB7XG4gICAgICBpZiAoZGF0ZVByb3BzLmluZGV4T2YodCkgPT09IC0xKSB7XG4gICAgICAgIGRhdGVQcm9wcy5wdXNoKHQpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy8gcHJldHRpZXItaWdub3JlXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBjb2xsZWN0aW9uLmZvckVhY2goKHZhbDogYW55KSA9PiB7Ly9OT1NPTkFSXG4gICAgICB1dGNQcm9wcy5maWx0ZXIoKHApID0+IHZhbFtwXSkuZm9yRWFjaCgocCkgPT4gKHZhbFtwXSA9IG5ldyBEYXRlKHZhbFtwXSkpKTtcbiAgICAgIGRhdGVQcm9wcy5maWx0ZXIoKHApID0+IHZhbFtwXSkuZm9yRWFjaCgocCkgPT4gKHZhbFtwXSA9IHRvTG9jYWxEYXRlKHZhbFtwXSkpKTtcbiAgICB9KTtcbiAgfVxuICByZXR1cm4gY29sbGVjdGlvbjtcbn1cbmV4cG9ydCBmdW5jdGlvbiB0b0xvY2FsRGF0ZShkYXRlOiBzdHJpbmcpOiBEYXRlIHtcbiAgY29uc3QgZHQgPSBuZXcgRGF0ZShkYXRlKTtcbiAgcmV0dXJuIG5ldyBEYXRlKFxuICAgIGR0LmdldFRpbWUoKSArIE1hdGguYWJzKGR0LmdldFRpbWV6b25lT2Zmc2V0KCkgKiBNSUxMSV9TRUNTX1BFUl9TRUMpLFxuICApO1xufVxuIl19","import { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { getFilterOperator } from '../helpers/get-filter-operator';\nimport { isChildFilter, isCompositeFilter, isExpander, } from '../models';\nimport { mapData } from '../operators/map-data';\nimport * as i0 from \"@angular/core\";\nexport class ODataClientService {\n constructor() {\n this.httpClient = inject(HttpClient);\n }\n fetch(odataEndpoint, query, options = {}) {\n const queryStr = this.getODataString(query, options);\n return this.httpClient\n .get(`${odataEndpoint}?${queryStr}`)\n .pipe(mapData(options));\n }\n getODataString(query, options = {}) {\n let queryString = '';\n queryString = this.processFilters(query, options, queryString);\n queryString = this.processOrderBy(query, queryString);\n queryString = this.processSelectors(query, queryString);\n queryString = this.processExpanders(query, queryString);\n queryString = this.processSimpleParameters('top', query, queryString);\n queryString = this.processSimpleParameters('skip', query, queryString);\n queryString = this.processGuids(queryString);\n queryString = this.processDates(queryString);\n queryString = this.processCount(query, queryString);\n queryString = this.processCacheBusting(options, queryString);\n queryString = queryString.substring(1); // removing first &\n return queryString;\n }\n processExpanders(query, queryString) {\n if (query.expand && query.expand.length > 0) {\n const expansionStrings = query.expand.map((element) => this.getExpansionString(element));\n queryString += `&$expand=${expansionStrings.join(',')}`;\n }\n return queryString;\n }\n getExpansionString(element) {\n let result = '';\n if (!element) {\n return result;\n }\n if (typeof element === 'string') {\n result += element;\n }\n else {\n result += `${element.table}(`;\n const query = {\n ...element,\n count: element.count ?? false,\n expand: undefined,\n };\n result += `${this.getODataString(query).replace(/&/g, ';')};`;\n if (element.expand) {\n const expanders = element.expand.map((expander) => {\n if (isExpander(expander)) {\n return this.getExpansionString(expander);\n }\n return expander;\n });\n result += `$expand=${expanders.join(',')};`;\n }\n result += ')';\n result = result\n .replace(/\\(;\\$expand=/, '($expand=') //Replaces empty expand \"(;$expand=\" with \"($expand=\"\n .replace(/\\$expand=;?\\)$/, ')') //Replaces empty expand \";$expand=;)\" or \";$expand=)\" with \")\"\n .replace(/\\(;\\)$/, '') //Removes empty expansion clause \"(;)\"\n .replace(/;\\)$/, ')'); //Replaces \";)\" with \")\"\n }\n return result;\n }\n processOrderBy(query, queryString) {\n if (!query.orderBy?.length) {\n return queryString;\n }\n const sortString = query.orderBy\n .map((m) => `${m.field}${m.dir === 'desc' ? '+desc' : ''}`)\n .join(',');\n return `${queryString}&$orderby=${sortString}`;\n }\n processFilters(query, _options, queryString) {\n if (!query.filter?.filters?.length) {\n return queryString;\n }\n const filterString = this.serializeCompositeFilter(query.filter);\n return `${queryString}&$filter=${filterString}`;\n }\n serializeCompositeFilter(filter) {\n const filterLogicSeperator = `+${filter.logic}+`;\n return `(${filter.filters\n .map((m) => isCompositeFilter(m)\n ? this.serializeCompositeFilter(m)\n : this.serializeFilter(m))\n .filter((m) => m && m !== '()')\n .join(filterLogicSeperator)})`;\n }\n serializeFilter(filter) {\n const odataStringFunction = filter.operator?.toODataString ||\n getFilterOperator(filter.operator?.name || 'equals').toODataString;\n if (isChildFilter(filter)) {\n const childFieldName = `o/${filter.field}`;\n return `${filter.childTable}/${filter.linqOperation}(o: ${odataStringFunction(childFieldName, filter.value)})`;\n }\n else {\n return odataStringFunction(filter.field, filter.value);\n }\n }\n processSimpleParameters(parameterName, query, queryString) {\n if (query[parameterName] ||\n (parameterName === 'top' && query[parameterName] === 0)) {\n return `${queryString}&$${parameterName}=${query[parameterName]}`;\n }\n return queryString;\n }\n processCacheBusting(options, queryString) {\n if (options.bustCache) {\n const timeStamp = new Date().toISOString().replace(/[-:.TZ]/g, '');\n return `${queryString}&timestamp=${timeStamp}`;\n }\n return queryString;\n }\n processCount(query, queryString) {\n if (query.count === false) {\n return queryString;\n }\n return `${queryString}&$count=true`;\n }\n processDates(queryString) {\n const dateRegex = /Date [e-t]{2} \\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{3}Z/g;\n let m;\n const dateMatches = [];\n while ((m = dateRegex.exec(queryString)) !== null) {\n // This is necessary to avoid infinite loops with zero-width matches\n if (m.index === dateRegex.lastIndex) {\n dateRegex.lastIndex++;\n }\n m.forEach((match) => {\n dateMatches.push(match);\n });\n }\n dateMatches.forEach((date) => (queryString = queryString.replace(date, date.replace(/T\\d{2}:\\d{2}:\\d{2}.\\d{3}Z/g, ''))));\n return queryString;\n }\n processGuids(queryString) {\n const guidRegex = /'[\\dA-F]{8}-?[\\dA-F]{4}-?[\\dA-F]{4}-?[\\dA-F]{4}-?[\\dA-F]{12}'/gi;\n let m;\n const guidMatches = [];\n while ((m = guidRegex.exec(queryString)) !== null) {\n // This is necessary to avoid infinite loops with zero-width matches\n if (m.index === guidRegex.lastIndex) {\n guidRegex.lastIndex++;\n }\n m.forEach((match) => {\n guidMatches.push(match);\n });\n }\n guidMatches.forEach((guid) => (queryString = queryString.replace(guid, guid.replace(/'/g, ''))));\n return queryString;\n }\n processSelectors(state, queryString) {\n if (state.select && state.select.length > 0) {\n return `${queryString}&$select=${state.select.join()}`;\n }\n return queryString;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: ODataClientService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: ODataClientService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: ODataClientService, decorators: [{\n type: Injectable,\n args: [{\n providedIn: 'root',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2RhdGEtY2xpZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ltbmctb2RhdGEtY2xpZW50L3NyYy9saWIvc2VydmljZXMvb2RhdGEtY2xpZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sRUFNTCxhQUFhLEVBQ2IsaUJBQWlCLEVBQ2pCLFVBQVUsR0FHWCxNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBS2hELE1BQU0sT0FBTyxrQkFBa0I7SUFIL0I7UUFJbUIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztLQXFNbEQ7SUFuTVEsS0FBSyxDQUNWLGFBQXFCLEVBQ3JCLEtBQWlCLEVBQ2pCLFVBQXdCLEVBQUU7UUFFMUIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDckQsT0FBTyxJQUFJLENBQUMsVUFBVTthQUNuQixHQUFHLENBQXVCLEdBQUcsYUFBYSxJQUFJLFFBQVEsRUFBRSxDQUFDO2FBQ3pELElBQUksQ0FBQyxPQUFPLENBQUksT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRU0sY0FBYyxDQUFDLEtBQWlCLEVBQUUsVUFBd0IsRUFBRTtRQUNqRSxJQUFJLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDckIsV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQztRQUMvRCxXQUFX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