Index: trip-planner-front/node_modules/@fortawesome/angular-fontawesome/fesm2015/angular-fontawesome.js
===================================================================
--- trip-planner-front/node_modules/@fortawesome/angular-fontawesome/fesm2015/angular-fontawesome.js	(revision 59329aad30ff25ec5095bb7ffb78ddb59b7dc111)
+++ trip-planner-front/node_modules/@fortawesome/angular-fontawesome/fesm2015/angular-fontawesome.js	(revision 59329aad30ff25ec5095bb7ffb78ddb59b7dc111)
@@ -0,0 +1,572 @@
+import { ɵɵdefineInjectable, Injectable, Directive, Input, Component, Renderer2, ElementRef, Optional, HostBinding, NgModule } from '@angular/core';
+import { DomSanitizer } from '@angular/platform-browser';
+import { findIconDefinition, parse, icon, counter, text } from '@fortawesome/fontawesome-svg-core';
+
+class FaConfig {
+    constructor() {
+        /**
+         * Default prefix to use, when one is not provided with the icon name.
+         *
+         * @default 'fas'
+         */
+        this.defaultPrefix = 'fas';
+        /**
+         * Provides a fallback icon to use whilst main icon is being loaded asynchronously.
+         * When value is null, then fa-icon component will throw an error if icon input is missing.
+         * When value is not null, then the provided icon will be used as a fallback icon if icon input is missing.
+         *
+         * @default null
+         */
+        this.fallbackIcon = null;
+        /**
+         * Whether components should lookup icon definitions in the global icon
+         * library (the one available from
+         * `import { library } from '@fortawesome/fontawesome-svg-core')`.
+         *
+         * See https://github.com/FortAwesome/angular-fontawesome/blob/master/docs/usage/icon-library.md
+         * for detailed description of library modes.
+         *
+         * - 'unset' - Components should lookup icon definitions in the global library
+         * and emit warning if they find a definition there. This option is a default
+         * to assist existing applications with a migration. Applications are expected
+         * to switch to using {@link FaIconLibrary}.
+         * - true - Components should lookup icon definitions in the global library.
+         * Note that global icon library is deprecated and support for it will be
+         * removed. This option can be used to temporarily suppress warnings.
+         * - false - Components should not lookup icon definitions in the global
+         * library. Library will throw an error if missing icon is found in the global
+         * library.
+         *
+         * @deprecated This option is deprecated since 0.5.0. In 0.6.0 default will
+         * be changed to false. In 0.8.0 the option will be removed together with the
+         * support for the global icon library.
+         *
+         * @default false
+         */
+        this.globalLibrary = false;
+    }
+}
+FaConfig.ɵprov = ɵɵdefineInjectable({ factory: function FaConfig_Factory() { return new FaConfig(); }, token: FaConfig, providedIn: "root" });
+FaConfig.decorators = [
+    { type: Injectable, args: [{ providedIn: 'root' },] }
+];
+
+class FaIconLibrary {
+    constructor() {
+        this.definitions = {};
+    }
+    addIcons(...icons) {
+        for (const icon of icons) {
+            if (!(icon.prefix in this.definitions)) {
+                this.definitions[icon.prefix] = {};
+            }
+            this.definitions[icon.prefix][icon.iconName] = icon;
+        }
+    }
+    addIconPacks(...packs) {
+        for (const pack of packs) {
+            const icons = Object.keys(pack).map((key) => pack[key]);
+            this.addIcons(...icons);
+        }
+    }
+    getIconDefinition(prefix, name) {
+        if (prefix in this.definitions && name in this.definitions[prefix]) {
+            return this.definitions[prefix][name];
+        }
+        return null;
+    }
+}
+FaIconLibrary.ɵprov = ɵɵdefineInjectable({ factory: function FaIconLibrary_Factory() { return new FaIconLibrary(); }, token: FaIconLibrary, providedIn: "root" });
+FaIconLibrary.decorators = [
+    { type: Injectable, args: [{ providedIn: 'root' },] }
+];
+
+const faWarnIfIconDefinitionMissing = (iconSpec) => {
+    throw new Error(`Could not find icon with iconName=${iconSpec.iconName} and prefix=${iconSpec.prefix} in the icon library.`);
+};
+
+const faWarnIfIconSpecMissing = () => {
+    throw new Error('Property `icon` is required for `fa-icon`/`fa-duotone-icon` components.');
+};
+
+/**
+ * Fontawesome class list.
+ * Returns classes array by props.
+ */
+const faClassList = (props) => {
+    const classes = {
+        'fa-spin': props.spin,
+        'fa-pulse': props.pulse,
+        'fa-fw': props.fixedWidth,
+        'fa-border': props.border,
+        'fa-inverse': props.inverse,
+        'fa-layers-counter': props.counter,
+        'fa-flip-horizontal': props.flip === 'horizontal' || props.flip === 'both',
+        'fa-flip-vertical': props.flip === 'vertical' || props.flip === 'both',
+        [`fa-${props.size}`]: props.size !== null,
+        [`fa-rotate-${props.rotate}`]: props.rotate !== null,
+        [`fa-pull-${props.pull}`]: props.pull !== null,
+        [`fa-stack-${props.stackItemSize}`]: props.stackItemSize != null,
+    };
+    return Object.keys(classes)
+        .map((key) => (classes[key] ? key : null))
+        .filter((key) => key);
+};
+
+/**
+ * Returns if is IconLookup or not.
+ */
+const isIconLookup = (i) => {
+    return i.prefix !== undefined && i.iconName !== undefined;
+};
+
+/**
+ * Normalizing icon spec.
+ */
+const faNormalizeIconSpec = (iconSpec, defaultPrefix) => {
+    if (isIconLookup(iconSpec)) {
+        return iconSpec;
+    }
+    if (Array.isArray(iconSpec) && iconSpec.length === 2) {
+        return { prefix: iconSpec[0], iconName: iconSpec[1] };
+    }
+    if (typeof iconSpec === 'string') {
+        return { prefix: defaultPrefix, iconName: iconSpec };
+    }
+};
+
+class FaStackItemSizeDirective {
+    constructor() {
+        /**
+         * Specify whether icon inside {@link FaStackComponent} should be rendered in
+         * regular size (1x) or as a larger icon (2x).
+         */
+        this.stackItemSize = '1x';
+    }
+    ngOnChanges(changes) {
+        if ('size' in changes) {
+            throw new Error('fa-icon is not allowed to customize size when used inside fa-stack. ' +
+                'Set size on the enclosing fa-stack instead: <fa-stack size="4x">...</fa-stack>.');
+        }
+    }
+}
+FaStackItemSizeDirective.decorators = [
+    { type: Directive, args: [{
+                // tslint:disable-next-line:directive-selector
+                selector: 'fa-icon[stackItemSize],fa-duotone-icon[stackItemSize]',
+            },] }
+];
+FaStackItemSizeDirective.propDecorators = {
+    stackItemSize: [{ type: Input }],
+    size: [{ type: Input }]
+};
+
+class FaStackComponent {
+    constructor(renderer, elementRef) {
+        this.renderer = renderer;
+        this.elementRef = elementRef;
+    }
+    ngOnInit() {
+        this.renderer.addClass(this.elementRef.nativeElement, 'fa-stack');
+    }
+    ngOnChanges(changes) {
+        if ('size' in changes) {
+            if (changes.size.currentValue != null) {
+                this.renderer.addClass(this.elementRef.nativeElement, `fa-${changes.size.currentValue}`);
+            }
+            if (changes.size.previousValue != null) {
+                this.renderer.removeClass(this.elementRef.nativeElement, `fa-${changes.size.previousValue}`);
+            }
+        }
+    }
+}
+FaStackComponent.decorators = [
+    { type: Component, args: [{
+                selector: 'fa-stack',
+                template: `<ng-content></ng-content>`
+            },] }
+];
+FaStackComponent.ctorParameters = () => [
+    { type: Renderer2 },
+    { type: ElementRef }
+];
+FaStackComponent.propDecorators = {
+    size: [{ type: Input }]
+};
+
+class FaIconComponent {
+    constructor(sanitizer, config, iconLibrary, stackItem, stack) {
+        this.sanitizer = sanitizer;
+        this.config = config;
+        this.iconLibrary = iconLibrary;
+        this.stackItem = stackItem;
+        this.classes = [];
+        if (stack != null && stackItem == null) {
+            console.error('FontAwesome: fa-icon and fa-duotone-icon elements must specify stackItemSize attribute when wrapped into ' +
+                'fa-stack. Example: <fa-icon stackItemSize="2x"></fa-icon>.');
+        }
+    }
+    ngOnChanges(changes) {
+        if (this.icon == null && this.config.fallbackIcon == null) {
+            return faWarnIfIconSpecMissing();
+        }
+        let iconToBeRendered = null;
+        if (this.icon == null) {
+            iconToBeRendered = this.config.fallbackIcon;
+        }
+        else {
+            iconToBeRendered = this.icon;
+        }
+        if (changes) {
+            const iconDefinition = this.findIconDefinition(iconToBeRendered);
+            if (iconDefinition != null) {
+                const params = this.buildParams();
+                this.renderIcon(iconDefinition, params);
+            }
+        }
+    }
+    /**
+     * Programmatically trigger rendering of the icon.
+     *
+     * This method is useful, when creating {@link FaIconComponent} dynamically or
+     * changing its inputs programmatically as in these cases icon won't be
+     * re-rendered automatically.
+     */
+    render() {
+        this.ngOnChanges({});
+    }
+    findIconDefinition(i) {
+        const lookup = faNormalizeIconSpec(i, this.config.defaultPrefix);
+        if ('icon' in lookup) {
+            return lookup;
+        }
+        const definition = this.iconLibrary.getIconDefinition(lookup.prefix, lookup.iconName);
+        if (definition != null) {
+            return definition;
+        }
+        const globalDefinition = findIconDefinition(lookup);
+        if (globalDefinition != null) {
+            const message = 'Global icon library is deprecated. ' +
+                'Consult https://github.com/FortAwesome/angular-fontawesome/blob/master/UPGRADING.md ' +
+                'for the migration instructions.';
+            if (this.config.globalLibrary === 'unset') {
+                console.error('FontAwesome: ' + message);
+            }
+            else if (!this.config.globalLibrary) {
+                throw new Error(message);
+            }
+            return globalDefinition;
+        }
+        faWarnIfIconDefinitionMissing(lookup);
+        return null;
+    }
+    buildParams() {
+        const classOpts = {
+            flip: this.flip,
+            spin: this.spin,
+            pulse: this.pulse,
+            border: this.border,
+            inverse: this.inverse,
+            size: this.size || null,
+            pull: this.pull || null,
+            rotate: this.rotate || null,
+            fixedWidth: typeof this.fixedWidth === 'boolean' ? this.fixedWidth : this.config.fixedWidth,
+            stackItemSize: this.stackItem != null ? this.stackItem.stackItemSize : null,
+        };
+        const parsedTransform = typeof this.transform === 'string' ? parse.transform(this.transform) : this.transform;
+        return {
+            title: this.title,
+            transform: parsedTransform,
+            classes: [...faClassList(classOpts), ...this.classes],
+            mask: this.mask != null ? this.findIconDefinition(this.mask) : null,
+            styles: this.styles != null ? this.styles : {},
+            symbol: this.symbol,
+            attributes: {
+                role: this.a11yRole,
+            },
+        };
+    }
+    renderIcon(definition, params) {
+        const renderedIcon = icon(definition, params);
+        this.renderedIconHTML = this.sanitizer.bypassSecurityTrustHtml(renderedIcon.html.join('\n'));
+    }
+}
+FaIconComponent.decorators = [
+    { type: Component, args: [{
+                selector: 'fa-icon',
+                template: ``,
+                host: {
+                    class: 'ng-fa-icon',
+                    '[attr.title]': 'title',
+                }
+            },] }
+];
+FaIconComponent.ctorParameters = () => [
+    { type: DomSanitizer },
+    { type: FaConfig },
+    { type: FaIconLibrary },
+    { type: FaStackItemSizeDirective, decorators: [{ type: Optional }] },
+    { type: FaStackComponent, decorators: [{ type: Optional }] }
+];
+FaIconComponent.propDecorators = {
+    icon: [{ type: Input }],
+    title: [{ type: Input }],
+    spin: [{ type: Input }],
+    pulse: [{ type: Input }],
+    mask: [{ type: Input }],
+    styles: [{ type: Input }],
+    flip: [{ type: Input }],
+    size: [{ type: Input }],
+    pull: [{ type: Input }],
+    border: [{ type: Input }],
+    inverse: [{ type: Input }],
+    symbol: [{ type: Input }],
+    rotate: [{ type: Input }],
+    fixedWidth: [{ type: Input }],
+    classes: [{ type: Input }],
+    transform: [{ type: Input }],
+    a11yRole: [{ type: Input }],
+    renderedIconHTML: [{ type: HostBinding, args: ['innerHTML',] }]
+};
+
+class FaDuotoneIconComponent extends FaIconComponent {
+    findIconDefinition(i) {
+        const definition = super.findIconDefinition(i);
+        if (definition != null && !Array.isArray(definition.icon[4])) {
+            throw new Error('The specified icon does not appear to be a Duotone icon. ' +
+                'Check that you specified the correct style: ' +
+                `<fa-duotone-icon [icon]="['fad', '${definition.iconName}']"></fa-duotone-icon> ` +
+                `or use: <fa-icon icon="${definition.iconName}"></fa-icon> instead.`);
+        }
+        return definition;
+    }
+    buildParams() {
+        const params = super.buildParams();
+        if (this.swapOpacity === true || this.swapOpacity === 'true') {
+            params.classes.push('fa-swap-opacity');
+        }
+        if (this.primaryOpacity != null) {
+            params.styles['--fa-primary-opacity'] = this.primaryOpacity.toString();
+        }
+        if (this.secondaryOpacity != null) {
+            params.styles['--fa-secondary-opacity'] = this.secondaryOpacity.toString();
+        }
+        if (this.primaryColor != null) {
+            params.styles['--fa-primary-color'] = this.primaryColor;
+        }
+        if (this.secondaryColor != null) {
+            params.styles['--fa-secondary-color'] = this.secondaryColor;
+        }
+        return params;
+    }
+}
+FaDuotoneIconComponent.decorators = [
+    { type: Component, args: [{
+                selector: 'fa-duotone-icon',
+                template: ``
+            },] }
+];
+FaDuotoneIconComponent.propDecorators = {
+    swapOpacity: [{ type: Input }],
+    primaryOpacity: [{ type: Input }],
+    secondaryOpacity: [{ type: Input }],
+    primaryColor: [{ type: Input }],
+    secondaryColor: [{ type: Input }]
+};
+
+/**
+ * Warns if parent component not existing.
+ */
+const faWarnIfParentNotExist = (parent, parentName, childName) => {
+    if (!parent) {
+        throw new Error(`${childName} should be used as child of ${parentName} only.`);
+    }
+};
+
+/**
+ * Fontawesome layers.
+ */
+class FaLayersComponent {
+    constructor(renderer, elementRef, config) {
+        this.renderer = renderer;
+        this.elementRef = elementRef;
+        this.config = config;
+    }
+    ngOnInit() {
+        this.renderer.addClass(this.elementRef.nativeElement, 'fa-layers');
+        this.fixedWidth = typeof this.fixedWidth === 'boolean' ? this.fixedWidth : this.config.fixedWidth;
+    }
+    ngOnChanges(changes) {
+        if ('size' in changes) {
+            if (changes.size.currentValue != null) {
+                this.renderer.addClass(this.elementRef.nativeElement, `fa-${changes.size.currentValue}`);
+            }
+            if (changes.size.previousValue != null) {
+                this.renderer.removeClass(this.elementRef.nativeElement, `fa-${changes.size.previousValue}`);
+            }
+        }
+    }
+}
+FaLayersComponent.decorators = [
+    { type: Component, args: [{
+                selector: 'fa-layers',
+                template: `<ng-content></ng-content>`
+            },] }
+];
+FaLayersComponent.ctorParameters = () => [
+    { type: Renderer2 },
+    { type: ElementRef },
+    { type: FaConfig }
+];
+FaLayersComponent.propDecorators = {
+    size: [{ type: Input }],
+    fixedWidth: [{ type: Input }, { type: HostBinding, args: ['class.fa-fw',] }]
+};
+
+class FaLayersCounterComponent {
+    constructor(parent, sanitizer) {
+        this.parent = parent;
+        this.sanitizer = sanitizer;
+        this.classes = [];
+        faWarnIfParentNotExist(this.parent, 'FaLayersComponent', this.constructor.name);
+    }
+    ngOnChanges(changes) {
+        if (changes) {
+            const params = this.buildParams();
+            this.updateContent(params);
+        }
+    }
+    buildParams() {
+        return {
+            title: this.title,
+            classes: this.classes,
+            styles: this.styles,
+        };
+    }
+    updateContent(params) {
+        this.renderedHTML = this.sanitizer.bypassSecurityTrustHtml(counter(this.content || '', params).html.join(''));
+    }
+}
+FaLayersCounterComponent.decorators = [
+    { type: Component, args: [{
+                selector: 'fa-layers-counter',
+                template: '',
+                host: {
+                    class: 'ng-fa-layers-counter',
+                }
+            },] }
+];
+FaLayersCounterComponent.ctorParameters = () => [
+    { type: FaLayersComponent, decorators: [{ type: Optional }] },
+    { type: DomSanitizer }
+];
+FaLayersCounterComponent.propDecorators = {
+    content: [{ type: Input }],
+    title: [{ type: Input }],
+    styles: [{ type: Input }],
+    classes: [{ type: Input }],
+    renderedHTML: [{ type: HostBinding, args: ['innerHTML',] }]
+};
+
+class FaLayersTextComponent {
+    constructor(parent, sanitizer) {
+        this.parent = parent;
+        this.sanitizer = sanitizer;
+        this.classes = [];
+        faWarnIfParentNotExist(this.parent, 'FaLayersComponent', this.constructor.name);
+    }
+    ngOnChanges(changes) {
+        if (changes) {
+            const params = this.buildParams();
+            this.updateContent(params);
+        }
+    }
+    /**
+     * Updating params by component props.
+     */
+    buildParams() {
+        const classOpts = {
+            flip: this.flip,
+            spin: this.spin,
+            pulse: this.pulse,
+            border: this.border,
+            inverse: this.inverse,
+            size: this.size || null,
+            pull: this.pull || null,
+            rotate: this.rotate || null,
+            fixedWidth: this.fixedWidth,
+        };
+        const parsedTransform = typeof this.transform === 'string' ? parse.transform(this.transform) : this.transform;
+        return {
+            transform: parsedTransform,
+            classes: [...faClassList(classOpts), ...this.classes],
+            title: this.title,
+            styles: this.styles,
+        };
+    }
+    updateContent(params) {
+        this.renderedHTML = this.sanitizer.bypassSecurityTrustHtml(text(this.content || '', params).html.join('\n'));
+    }
+}
+FaLayersTextComponent.decorators = [
+    { type: Component, args: [{
+                selector: 'fa-layers-text',
+                template: '',
+                host: {
+                    class: 'ng-fa-layers-text',
+                }
+            },] }
+];
+FaLayersTextComponent.ctorParameters = () => [
+    { type: FaLayersComponent, decorators: [{ type: Optional }] },
+    { type: DomSanitizer }
+];
+FaLayersTextComponent.propDecorators = {
+    content: [{ type: Input }],
+    title: [{ type: Input }],
+    styles: [{ type: Input }],
+    classes: [{ type: Input }],
+    spin: [{ type: Input }],
+    pulse: [{ type: Input }],
+    flip: [{ type: Input }],
+    size: [{ type: Input }],
+    pull: [{ type: Input }],
+    border: [{ type: Input }],
+    inverse: [{ type: Input }],
+    rotate: [{ type: Input }],
+    fixedWidth: [{ type: Input }],
+    transform: [{ type: Input }],
+    renderedHTML: [{ type: HostBinding, args: ['innerHTML',] }]
+};
+
+class FontAwesomeModule {
+}
+FontAwesomeModule.decorators = [
+    { type: NgModule, args: [{
+                declarations: [
+                    FaIconComponent,
+                    FaDuotoneIconComponent,
+                    FaLayersComponent,
+                    FaLayersTextComponent,
+                    FaLayersCounterComponent,
+                    FaStackComponent,
+                    FaStackItemSizeDirective,
+                ],
+                exports: [
+                    FaIconComponent,
+                    FaDuotoneIconComponent,
+                    FaLayersComponent,
+                    FaLayersTextComponent,
+                    FaLayersCounterComponent,
+                    FaStackComponent,
+                    FaStackItemSizeDirective,
+                ],
+            },] }
+];
+
+/**
+ * Generated bundle index. Do not edit.
+ */
+
+export { FaConfig, FaDuotoneIconComponent, FaIconComponent, FaIconLibrary, FaLayersComponent, FaLayersCounterComponent, FaLayersTextComponent, FaStackComponent, FaStackItemSizeDirective, FontAwesomeModule };
+//# sourceMappingURL=angular-fontawesome.js.map
Index: trip-planner-front/node_modules/@fortawesome/angular-fontawesome/fesm2015/angular-fontawesome.js.map
===================================================================
--- trip-planner-front/node_modules/@fortawesome/angular-fontawesome/fesm2015/angular-fontawesome.js.map	(revision 59329aad30ff25ec5095bb7ffb78ddb59b7dc111)
+++ trip-planner-front/node_modules/@fortawesome/angular-fontawesome/fesm2015/angular-fontawesome.js.map	(revision 59329aad30ff25ec5095bb7ffb78ddb59b7dc111)
@@ -0,0 +1,1 @@
+{"version":3,"file":"angular-fontawesome.js","sources":["../../../src/lib/config.ts","../../../src/lib/icon-library.ts","../../../src/lib/shared/errors/warn-if-icon-html-missing.ts","../../../src/lib/shared/errors/warn-if-icon-spec-missing.ts","../../../src/lib/shared/utils/classlist.util.ts","../../../src/lib/shared/utils/is-icon-lookup.util.ts","../../../src/lib/shared/utils/normalize-icon-spec.util.ts","../../../src/lib/stack/stack-item-size.directive.ts","../../../src/lib/stack/stack.component.ts","../../../src/lib/icon/icon.component.ts","../../../src/lib/icon/duotone-icon.component.ts","../../../src/lib/shared/errors/warn-if-parent-not-exist.ts","../../../src/lib/layers/layers.component.ts","../../../src/lib/layers/layers-counter.component.ts","../../../src/lib/layers/layers-text.component.ts","../../../src/lib/fontawesome.module.ts","../../../src/lib/angular-fontawesome.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { IconDefinition, IconPrefix } from '@fortawesome/fontawesome-common-types';\nimport { FaIconLibrary } from './icon-library';\n\n@Injectable({ providedIn: 'root' })\nexport class FaConfig {\n  /**\n   * Default prefix to use, when one is not provided with the icon name.\n   *\n   * @default 'fas'\n   */\n  defaultPrefix: IconPrefix = 'fas';\n\n  /**\n   * Provides a fallback icon to use whilst main icon is being loaded asynchronously.\n   * When value is null, then fa-icon component will throw an error if icon input is missing.\n   * When value is not null, then the provided icon will be used as a fallback icon if icon input is missing.\n   *\n   * @default null\n   */\n  fallbackIcon: IconDefinition = null;\n\n  /**\n   * Set icons to the same fixed width.\n   * @see {@link: https://fontawesome.com/how-to-use/on-the-web/styling/fixed-width-icons}\n   * @default false\n   */\n  fixedWidth?: boolean;\n\n  /**\n   * Whether components should lookup icon definitions in the global icon\n   * library (the one available from\n   * `import { library } from '@fortawesome/fontawesome-svg-core')`.\n   *\n   * See https://github.com/FortAwesome/angular-fontawesome/blob/master/docs/usage/icon-library.md\n   * for detailed description of library modes.\n   *\n   * - 'unset' - Components should lookup icon definitions in the global library\n   * and emit warning if they find a definition there. This option is a default\n   * to assist existing applications with a migration. Applications are expected\n   * to switch to using {@link FaIconLibrary}.\n   * - true - Components should lookup icon definitions in the global library.\n   * Note that global icon library is deprecated and support for it will be\n   * removed. This option can be used to temporarily suppress warnings.\n   * - false - Components should not lookup icon definitions in the global\n   * library. Library will throw an error if missing icon is found in the global\n   * library.\n   *\n   * @deprecated This option is deprecated since 0.5.0. In 0.6.0 default will\n   * be changed to false. In 0.8.0 the option will be removed together with the\n   * support for the global icon library.\n   *\n   * @default false\n   */\n  globalLibrary: boolean | 'unset' = false;\n}\n","import { Injectable } from '@angular/core';\nimport { IconDefinition, IconName, IconPack, IconPrefix } from '@fortawesome/fontawesome-svg-core';\n\nexport interface FaIconLibraryInterface {\n  addIcons(...icons: IconDefinition[]): void;\n  addIconPacks(...packs: IconPack[]): void;\n  getIconDefinition(prefix: IconPrefix, name: IconName): IconDefinition | null;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class FaIconLibrary implements FaIconLibraryInterface {\n  private definitions: { [prefix: string]: { [name: string]: IconDefinition } } = {};\n\n  addIcons(...icons: IconDefinition[]) {\n    for (const icon of icons) {\n      if (!(icon.prefix in this.definitions)) {\n        this.definitions[icon.prefix] = {};\n      }\n      this.definitions[icon.prefix][icon.iconName] = icon;\n    }\n  }\n\n  addIconPacks(...packs: IconPack[]) {\n    for (const pack of packs) {\n      const icons = Object.keys(pack).map((key) => pack[key]);\n      this.addIcons(...icons);\n    }\n  }\n\n  getIconDefinition(prefix: IconPrefix, name: IconName): IconDefinition | null {\n    if (prefix in this.definitions && name in this.definitions[prefix]) {\n      return this.definitions[prefix][name];\n    }\n    return null;\n  }\n}\n","import { IconLookup } from '@fortawesome/fontawesome-svg-core';\n\nexport const faWarnIfIconDefinitionMissing = (iconSpec: IconLookup) => {\n  throw new Error(\n    `Could not find icon with iconName=${iconSpec.iconName} and prefix=${iconSpec.prefix} in the icon library.`,\n  );\n};\n","export const faWarnIfIconSpecMissing = () => {\n  throw new Error('Property `icon` is required for `fa-icon`/`fa-duotone-icon` components.');\n};\n","import { FaProps } from '../models/props.model';\n\n/**\n * Fontawesome class list.\n * Returns classes array by props.\n */\nexport const faClassList = (props: FaProps): string[] => {\n  const classes = {\n    'fa-spin': props.spin,\n    'fa-pulse': props.pulse,\n    'fa-fw': props.fixedWidth,\n    'fa-border': props.border,\n    'fa-inverse': props.inverse,\n    'fa-layers-counter': props.counter,\n    'fa-flip-horizontal': props.flip === 'horizontal' || props.flip === 'both',\n    'fa-flip-vertical': props.flip === 'vertical' || props.flip === 'both',\n    [`fa-${props.size}`]: props.size !== null,\n    [`fa-rotate-${props.rotate}`]: props.rotate !== null,\n    [`fa-pull-${props.pull}`]: props.pull !== null,\n    [`fa-stack-${props.stackItemSize}`]: props.stackItemSize != null,\n  };\n\n  return Object.keys(classes)\n    .map((key) => (classes[key] ? key : null))\n    .filter((key) => key);\n};\n","import { IconLookup, IconProp } from '@fortawesome/fontawesome-svg-core';\n\n/**\n * Returns if is IconLookup or not.\n */\nexport const isIconLookup = (i: IconProp): i is IconLookup => {\n  return (i as IconLookup).prefix !== undefined && (i as IconLookup).iconName !== undefined;\n};\n","import { IconDefinition, IconLookup, IconPrefix, IconProp } from '@fortawesome/fontawesome-svg-core';\nimport { isIconLookup } from './is-icon-lookup.util';\n\n/**\n * Normalizing icon spec.\n */\nexport const faNormalizeIconSpec = (\n  iconSpec: IconProp | IconDefinition,\n  defaultPrefix: IconPrefix,\n): IconLookup | IconDefinition => {\n  if (isIconLookup(iconSpec)) {\n    return iconSpec;\n  }\n\n  if (Array.isArray(iconSpec) && (iconSpec as string[]).length === 2) {\n    return { prefix: iconSpec[0], iconName: iconSpec[1] };\n  }\n\n  if (typeof iconSpec === 'string') {\n    return { prefix: defaultPrefix, iconName: iconSpec };\n  }\n};\n","import { Directive, Input, OnChanges, SimpleChanges } from '@angular/core';\nimport { SizeProp } from '@fortawesome/fontawesome-svg-core';\nimport { FaStackComponent } from './stack.component';\n\n@Directive({\n  // tslint:disable-next-line:directive-selector\n  selector: 'fa-icon[stackItemSize],fa-duotone-icon[stackItemSize]',\n})\nexport class FaStackItemSizeDirective implements OnChanges {\n  /**\n   * Specify whether icon inside {@link FaStackComponent} should be rendered in\n   * regular size (1x) or as a larger icon (2x).\n   */\n  @Input() stackItemSize: '1x' | '2x' = '1x';\n\n  /**\n   * @internal\n   */\n  @Input() size?: SizeProp;\n\n  ngOnChanges(changes: SimpleChanges) {\n    if ('size' in changes) {\n      throw new Error(\n        'fa-icon is not allowed to customize size when used inside fa-stack. ' +\n          'Set size on the enclosing fa-stack instead: <fa-stack size=\"4x\">...</fa-stack>.',\n      );\n    }\n  }\n}\n","import { Component, ElementRef, Input, OnChanges, OnInit, Renderer2, SimpleChanges } from '@angular/core';\nimport { SizeProp } from '@fortawesome/fontawesome-svg-core';\n\n@Component({\n  selector: 'fa-stack',\n  template: `<ng-content></ng-content>`,\n})\nexport class FaStackComponent implements OnInit, OnChanges {\n  /**\n   * Size of the stacked icon.\n   * Note that stacked icon is by default 2 times bigger, than non-stacked icon.\n   * You'll need to set size using custom CSS to align stacked icon with a\n   * simple one. E.g. `fa-stack { font-size: 0.5em; }`.\n   */\n  @Input() size?: SizeProp;\n\n  constructor(private renderer: Renderer2, private elementRef: ElementRef) {}\n\n  ngOnInit() {\n    this.renderer.addClass(this.elementRef.nativeElement, 'fa-stack');\n  }\n\n  ngOnChanges(changes: SimpleChanges) {\n    if ('size' in changes) {\n      if (changes.size.currentValue != null) {\n        this.renderer.addClass(this.elementRef.nativeElement, `fa-${changes.size.currentValue}`);\n      }\n      if (changes.size.previousValue != null) {\n        this.renderer.removeClass(this.elementRef.nativeElement, `fa-${changes.size.previousValue}`);\n      }\n    }\n  }\n}\n","import { Component, HostBinding, Input, OnChanges, Optional, SimpleChanges } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport {\n  FaSymbol,\n  findIconDefinition,\n  FlipProp,\n  icon,\n  IconDefinition,\n  IconParams,\n  IconProp,\n  parse,\n  PullProp,\n  RotateProp,\n  SizeProp,\n  Styles,\n  Transform,\n} from '@fortawesome/fontawesome-svg-core';\nimport { FaConfig } from '../config';\nimport { FaIconLibrary } from '../icon-library';\nimport { faWarnIfIconDefinitionMissing } from '../shared/errors/warn-if-icon-html-missing';\nimport { faWarnIfIconSpecMissing } from '../shared/errors/warn-if-icon-spec-missing';\nimport { FaProps } from '../shared/models/props.model';\nimport { faClassList } from '../shared/utils/classlist.util';\nimport { faNormalizeIconSpec } from '../shared/utils/normalize-icon-spec.util';\nimport { FaStackItemSizeDirective } from '../stack/stack-item-size.directive';\nimport { FaStackComponent } from '../stack/stack.component';\n\n@Component({\n  selector: 'fa-icon',\n  template: ``,\n  host: {\n    class: 'ng-fa-icon',\n    '[attr.title]': 'title',\n  },\n})\nexport class FaIconComponent implements OnChanges {\n  @Input() icon: IconProp;\n\n  /**\n   * Specify a title for the icon.\n   * This text will be displayed in a tooltip on hover and presented to the\n   * screen readers.\n   */\n  @Input() title?: string;\n  @Input() spin?: boolean;\n  @Input() pulse?: boolean;\n  @Input() mask?: IconProp;\n  @Input() styles?: Styles;\n  @Input() flip?: FlipProp;\n  @Input() size?: SizeProp;\n  @Input() pull?: PullProp;\n  @Input() border?: boolean;\n  @Input() inverse?: boolean;\n  @Input() symbol?: FaSymbol;\n  @Input() rotate?: RotateProp;\n  @Input() fixedWidth?: boolean;\n  @Input() classes?: string[] = [];\n  @Input() transform?: string | Transform;\n\n  /**\n   * Specify the `role` attribute for the rendered <svg> element.\n   *\n   * @default 'img'\n   */\n  @Input() a11yRole: string;\n\n  @HostBinding('innerHTML') renderedIconHTML: SafeHtml;\n\n  constructor(\n    private sanitizer: DomSanitizer,\n    private config: FaConfig,\n    private iconLibrary: FaIconLibrary,\n    @Optional() private stackItem: FaStackItemSizeDirective,\n    @Optional() stack: FaStackComponent,\n  ) {\n    if (stack != null && stackItem == null) {\n      console.error(\n        'FontAwesome: fa-icon and fa-duotone-icon elements must specify stackItemSize attribute when wrapped into ' +\n          'fa-stack. Example: <fa-icon stackItemSize=\"2x\"></fa-icon>.',\n      );\n    }\n  }\n\n  ngOnChanges(changes: SimpleChanges) {\n    if (this.icon == null && this.config.fallbackIcon == null) {\n      return faWarnIfIconSpecMissing();\n    }\n\n    let iconToBeRendered: IconProp = null;\n    if (this.icon == null) {\n      iconToBeRendered = this.config.fallbackIcon;\n    } else {\n      iconToBeRendered = this.icon;\n    }\n\n    if (changes) {\n      const iconDefinition = this.findIconDefinition(iconToBeRendered);\n      if (iconDefinition != null) {\n        const params = this.buildParams();\n        this.renderIcon(iconDefinition, params);\n      }\n    }\n  }\n\n  /**\n   * Programmatically trigger rendering of the icon.\n   *\n   * This method is useful, when creating {@link FaIconComponent} dynamically or\n   * changing its inputs programmatically as in these cases icon won't be\n   * re-rendered automatically.\n   */\n  render() {\n    this.ngOnChanges({});\n  }\n\n  protected findIconDefinition(i: IconProp | IconDefinition): IconDefinition | null {\n    const lookup = faNormalizeIconSpec(i, this.config.defaultPrefix);\n    if ('icon' in lookup) {\n      return lookup;\n    }\n\n    const definition = this.iconLibrary.getIconDefinition(lookup.prefix, lookup.iconName);\n    if (definition != null) {\n      return definition;\n    }\n\n    const globalDefinition = findIconDefinition(lookup);\n    if (globalDefinition != null) {\n      const message =\n        'Global icon library is deprecated. ' +\n        'Consult https://github.com/FortAwesome/angular-fontawesome/blob/master/UPGRADING.md ' +\n        'for the migration instructions.';\n      if (this.config.globalLibrary === 'unset') {\n        console.error('FontAwesome: ' + message);\n      } else if (!this.config.globalLibrary) {\n        throw new Error(message);\n      }\n\n      return globalDefinition;\n    }\n\n    faWarnIfIconDefinitionMissing(lookup);\n    return null;\n  }\n\n  protected buildParams() {\n    const classOpts: FaProps = {\n      flip: this.flip,\n      spin: this.spin,\n      pulse: this.pulse,\n      border: this.border,\n      inverse: this.inverse,\n      size: this.size || null,\n      pull: this.pull || null,\n      rotate: this.rotate || null,\n      fixedWidth: typeof this.fixedWidth === 'boolean' ? this.fixedWidth : this.config.fixedWidth,\n      stackItemSize: this.stackItem != null ? this.stackItem.stackItemSize : null,\n    };\n\n    const parsedTransform = typeof this.transform === 'string' ? parse.transform(this.transform) : this.transform;\n\n    return {\n      title: this.title,\n      transform: parsedTransform,\n      classes: [...faClassList(classOpts), ...this.classes],\n      mask: this.mask != null ? this.findIconDefinition(this.mask) : null,\n      styles: this.styles != null ? this.styles : {},\n      symbol: this.symbol,\n      attributes: {\n        role: this.a11yRole,\n      },\n    };\n  }\n\n  private renderIcon(definition: IconDefinition, params: IconParams) {\n    const renderedIcon = icon(definition, params);\n    this.renderedIconHTML = this.sanitizer.bypassSecurityTrustHtml(renderedIcon.html.join('\\n'));\n  }\n}\n","import { Component, Input } from '@angular/core';\nimport { IconDefinition, IconProp } from '@fortawesome/fontawesome-svg-core';\nimport { FaIconComponent } from './icon.component';\n\n@Component({\n  selector: 'fa-duotone-icon',\n  template: ``,\n})\nexport class FaDuotoneIconComponent extends FaIconComponent {\n  /**\n   * Swap the default opacity of each duotone icon’s layers. This will make an\n   * icon’s primary layer have the default opacity of 40% rather than its\n   * secondary layer.\n   *\n   * @default false\n   */\n  @Input() swapOpacity?: 'true' | 'false' | boolean;\n\n  /**\n   * Customize the opacity of the primary icon layer.\n   * Valid values are in range [0, 1.0].\n   *\n   * @default 1.0\n   */\n  @Input() primaryOpacity?: string | number;\n\n  /**\n   * Customize the opacity of the secondary icon layer.\n   * Valid values are in range [0, 1.0].\n   *\n   * @default 0.4\n   */\n  @Input() secondaryOpacity?: string | number;\n\n  /**\n   * Customize the color of the primary icon layer.\n   * Accepts any valid CSS color value.\n   *\n   * @default CSS inherited color\n   */\n  @Input() primaryColor?: string;\n\n  /**\n   * Customize the color of the secondary icon layer.\n   * Accepts any valid CSS color value.\n   *\n   * @default CSS inherited color\n   */\n  @Input() secondaryColor?: string;\n\n  protected findIconDefinition(i: IconProp | IconDefinition): IconDefinition | null {\n    const definition = super.findIconDefinition(i);\n\n    if (definition != null && !Array.isArray(definition.icon[4])) {\n      throw new Error(\n        'The specified icon does not appear to be a Duotone icon. ' +\n          'Check that you specified the correct style: ' +\n          `<fa-duotone-icon [icon]=\"['fad', '${definition.iconName}']\"></fa-duotone-icon> ` +\n          `or use: <fa-icon icon=\"${definition.iconName}\"></fa-icon> instead.`,\n      );\n    }\n\n    return definition;\n  }\n\n  protected buildParams() {\n    const params = super.buildParams();\n\n    if (this.swapOpacity === true || this.swapOpacity === 'true') {\n      params.classes.push('fa-swap-opacity');\n    }\n    if (this.primaryOpacity != null) {\n      params.styles['--fa-primary-opacity'] = this.primaryOpacity.toString();\n    }\n    if (this.secondaryOpacity != null) {\n      params.styles['--fa-secondary-opacity'] = this.secondaryOpacity.toString();\n    }\n    if (this.primaryColor != null) {\n      params.styles['--fa-primary-color'] = this.primaryColor;\n    }\n    if (this.secondaryColor != null) {\n      params.styles['--fa-secondary-color'] = this.secondaryColor;\n    }\n\n    return params;\n  }\n}\n","/**\n * Warns if parent component not existing.\n */\nexport const faWarnIfParentNotExist = (parent: any, parentName: string, childName: string) => {\n  if (!parent) {\n    throw new Error(`${childName} should be used as child of ${parentName} only.`);\n  }\n};\n","import { Component, ElementRef, HostBinding, Input, OnChanges, OnInit, Renderer2, SimpleChanges } from '@angular/core';\nimport { SizeProp } from '@fortawesome/fontawesome-svg-core';\nimport { FaConfig } from '../config';\n\n/**\n * Fontawesome layers.\n */\n@Component({\n  selector: 'fa-layers',\n  template: `<ng-content></ng-content>`,\n})\nexport class FaLayersComponent implements OnInit, OnChanges {\n  @Input() size?: SizeProp;\n\n  @Input() @HostBinding('class.fa-fw') fixedWidth?: boolean;\n\n  constructor(private renderer: Renderer2, private elementRef: ElementRef, private config: FaConfig) {}\n\n  ngOnInit() {\n    this.renderer.addClass(this.elementRef.nativeElement, 'fa-layers');\n    this.fixedWidth = typeof this.fixedWidth === 'boolean' ? this.fixedWidth : this.config.fixedWidth;\n  }\n\n  ngOnChanges(changes: SimpleChanges) {\n    if ('size' in changes) {\n      if (changes.size.currentValue != null) {\n        this.renderer.addClass(this.elementRef.nativeElement, `fa-${changes.size.currentValue}`);\n      }\n      if (changes.size.previousValue != null) {\n        this.renderer.removeClass(this.elementRef.nativeElement, `fa-${changes.size.previousValue}`);\n      }\n    }\n  }\n}\n","import { Component, HostBinding, Input, OnChanges, Optional, SimpleChanges } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { counter, CounterParams, Styles } from '@fortawesome/fontawesome-svg-core';\nimport { faWarnIfParentNotExist } from '../shared/errors/warn-if-parent-not-exist';\nimport { FaLayersComponent } from './layers.component';\n\n@Component({\n  selector: 'fa-layers-counter',\n  template: '',\n  host: {\n    class: 'ng-fa-layers-counter',\n  },\n})\nexport class FaLayersCounterComponent implements OnChanges {\n  @Input() content: string;\n  @Input() title?: string;\n  @Input() styles?: Styles;\n  @Input() classes?: string[] = [];\n\n  @HostBinding('innerHTML') renderedHTML: SafeHtml;\n\n  constructor(@Optional() private parent: FaLayersComponent, private sanitizer: DomSanitizer) {\n    faWarnIfParentNotExist(this.parent, 'FaLayersComponent', this.constructor.name);\n  }\n\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes) {\n      const params = this.buildParams();\n      this.updateContent(params);\n    }\n  }\n\n  protected buildParams(): CounterParams {\n    return {\n      title: this.title,\n      classes: this.classes,\n      styles: this.styles,\n    };\n  }\n\n  private updateContent(params: CounterParams) {\n    this.renderedHTML = this.sanitizer.bypassSecurityTrustHtml(counter(this.content || '', params).html.join(''));\n  }\n}\n","import { Component, HostBinding, Input, OnChanges, Optional, SimpleChanges } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport {\n  FlipProp,\n  parse,\n  PullProp,\n  RotateProp,\n  SizeProp,\n  Styles,\n  text,\n  TextParams,\n  Transform,\n} from '@fortawesome/fontawesome-svg-core';\nimport { faWarnIfParentNotExist } from '../shared/errors/warn-if-parent-not-exist';\nimport { FaProps } from '../shared/models/props.model';\nimport { faClassList } from '../shared/utils/classlist.util';\nimport { FaLayersComponent } from './layers.component';\n\n@Component({\n  selector: 'fa-layers-text',\n  template: '',\n  host: {\n    class: 'ng-fa-layers-text',\n  },\n})\nexport class FaLayersTextComponent implements OnChanges {\n  @Input() content: string;\n  @Input() title?: string;\n  @Input() styles?: Styles;\n  @Input() classes?: string[] = [];\n  @Input() spin?: boolean;\n  @Input() pulse?: boolean;\n  @Input() flip?: FlipProp;\n  @Input() size?: SizeProp;\n  @Input() pull?: PullProp;\n  @Input() border?: boolean;\n  @Input() inverse?: boolean;\n  @Input() rotate?: RotateProp;\n  @Input() fixedWidth?: boolean;\n  @Input() transform?: string | Transform;\n\n  @HostBinding('innerHTML') renderedHTML: SafeHtml;\n\n  constructor(@Optional() private parent: FaLayersComponent, private sanitizer: DomSanitizer) {\n    faWarnIfParentNotExist(this.parent, 'FaLayersComponent', this.constructor.name);\n  }\n\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes) {\n      const params = this.buildParams();\n      this.updateContent(params);\n    }\n  }\n\n  /**\n   * Updating params by component props.\n   */\n  protected buildParams(): TextParams {\n    const classOpts: FaProps = {\n      flip: this.flip,\n      spin: this.spin,\n      pulse: this.pulse,\n      border: this.border,\n      inverse: this.inverse,\n      size: this.size || null,\n      pull: this.pull || null,\n      rotate: this.rotate || null,\n      fixedWidth: this.fixedWidth,\n    };\n\n    const parsedTransform = typeof this.transform === 'string' ? parse.transform(this.transform) : this.transform;\n\n    return {\n      transform: parsedTransform,\n      classes: [...faClassList(classOpts), ...this.classes],\n      title: this.title,\n      styles: this.styles,\n    };\n  }\n\n  private updateContent(params: TextParams) {\n    this.renderedHTML = this.sanitizer.bypassSecurityTrustHtml(text(this.content || '', params).html.join('\\n'));\n  }\n}\n","import { NgModule } from '@angular/core';\nimport { FaDuotoneIconComponent } from './icon/duotone-icon.component';\nimport { FaIconComponent } from './icon/icon.component';\nimport { FaLayersCounterComponent } from './layers/layers-counter.component';\nimport { FaLayersTextComponent } from './layers/layers-text.component';\nimport { FaLayersComponent } from './layers/layers.component';\nimport { FaStackItemSizeDirective } from './stack/stack-item-size.directive';\nimport { FaStackComponent } from './stack/stack.component';\n\n@NgModule({\n  declarations: [\n    FaIconComponent,\n    FaDuotoneIconComponent,\n    FaLayersComponent,\n    FaLayersTextComponent,\n    FaLayersCounterComponent,\n    FaStackComponent,\n    FaStackItemSizeDirective,\n  ],\n  exports: [\n    FaIconComponent,\n    FaDuotoneIconComponent,\n    FaLayersComponent,\n    FaLayersTextComponent,\n    FaLayersCounterComponent,\n    FaStackComponent,\n    FaStackItemSizeDirective,\n  ],\n})\nexport class FontAwesomeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
Index: trip-planner-front/node_modules/@fortawesome/angular-fontawesome/fesm2015/fortawesome-angular-fontawesome-testing.js
===================================================================
--- trip-planner-front/node_modules/@fortawesome/angular-fontawesome/fesm2015/fortawesome-angular-fontawesome-testing.js	(revision 59329aad30ff25ec5095bb7ffb78ddb59b7dc111)
+++ trip-planner-front/node_modules/@fortawesome/angular-fontawesome/fesm2015/fortawesome-angular-fontawesome-testing.js	(revision 59329aad30ff25ec5095bb7ffb78ddb59b7dc111)
@@ -0,0 +1,41 @@
+import { ɵɵdefineInjectable, Injectable, NgModule } from '@angular/core';
+import { FontAwesomeModule, FaIconLibrary } from '@fortawesome/angular-fontawesome';
+
+const dummyIcon = {
+    prefix: 'fad',
+    iconName: 'dummy',
+    icon: [512, 512, [], 'f030', 'M50 50 H462 V462 H50 Z'],
+};
+class MockFaIconLibrary {
+    addIcons() {
+        throw new Error('Attempt to add an icon to the MockFaIconLibrary.');
+    }
+    addIconPacks() {
+        throw new Error('Attempt to add an icon pack to the MockFaIconLibrary.');
+    }
+    getIconDefinition(prefix, name) {
+        return dummyIcon;
+    }
+}
+MockFaIconLibrary.ɵprov = ɵɵdefineInjectable({ factory: function MockFaIconLibrary_Factory() { return new MockFaIconLibrary(); }, token: MockFaIconLibrary, providedIn: "root" });
+MockFaIconLibrary.decorators = [
+    { type: Injectable, args: [{
+                providedIn: 'root',
+            },] }
+];
+
+class FontAwesomeTestingModule {
+}
+FontAwesomeTestingModule.decorators = [
+    { type: NgModule, args: [{
+                exports: [FontAwesomeModule],
+                providers: [{ provide: FaIconLibrary, useExisting: MockFaIconLibrary }],
+            },] }
+];
+
+/**
+ * Generated bundle index. Do not edit.
+ */
+
+export { FontAwesomeTestingModule, MockFaIconLibrary as ɵa };
+//# sourceMappingURL=fortawesome-angular-fontawesome-testing.js.map
Index: trip-planner-front/node_modules/@fortawesome/angular-fontawesome/fesm2015/fortawesome-angular-fontawesome-testing.js.map
===================================================================
--- trip-planner-front/node_modules/@fortawesome/angular-fontawesome/fesm2015/fortawesome-angular-fontawesome-testing.js.map	(revision 59329aad30ff25ec5095bb7ffb78ddb59b7dc111)
+++ trip-planner-front/node_modules/@fortawesome/angular-fontawesome/fesm2015/fortawesome-angular-fontawesome-testing.js.map	(revision 59329aad30ff25ec5095bb7ffb78ddb59b7dc111)
@@ -0,0 +1,1 @@
+{"version":3,"file":"fortawesome-angular-fontawesome-testing.js","sources":["../../../testing/src/icon/mock-icon-library.service.ts","../../../testing/src/testing.module.ts","../../../testing/src/fortawesome-angular-fontawesome-testing.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { FaIconLibraryInterface } from '@fortawesome/angular-fontawesome';\nimport { IconDefinition, IconName, IconPrefix } from '@fortawesome/fontawesome-svg-core';\n\nexport const dummyIcon: IconDefinition = {\n  prefix: 'fad',\n  iconName: 'dummy' as IconName,\n  icon: [512, 512, [], 'f030', 'M50 50 H462 V462 H50 Z'],\n};\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class MockFaIconLibrary implements FaIconLibraryInterface {\n  addIcons() {\n    throw new Error('Attempt to add an icon to the MockFaIconLibrary.');\n  }\n\n  addIconPacks() {\n    throw new Error('Attempt to add an icon pack to the MockFaIconLibrary.');\n  }\n\n  getIconDefinition(prefix: IconPrefix, name: IconName): IconDefinition {\n    return dummyIcon;\n  }\n}\n","import { NgModule } from '@angular/core';\nimport { FaIconLibrary, FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { MockFaIconLibrary } from './icon/mock-icon-library.service';\n\n@NgModule({\n  exports: [FontAwesomeModule],\n  providers: [{ provide: FaIconLibrary, useExisting: MockFaIconLibrary }],\n})\nexport class FontAwesomeTestingModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n\nexport {MockFaIconLibrary as ɵa} from './icon/mock-icon-library.service';"],"names":[],"mappings":";;;AAIO,MAAM,SAAS,GAAmB;IACvC,MAAM,EAAE,KAAK;IACb,QAAQ,EAAE,OAAmB;IAC7B,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,wBAAwB,CAAC;CACvD,CAAC;MAKW,iBAAiB;IAC5B,QAAQ;QACN,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;KACrE;IAED,YAAY;QACV,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;KAC1E;IAED,iBAAiB,CAAC,MAAkB,EAAE,IAAc;QAClD,OAAO,SAAS,CAAC;KAClB;;;;YAdF,UAAU,SAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;MCJY,wBAAwB;;;YAJpC,QAAQ,SAAC;gBACR,OAAO,EAAE,CAAC,iBAAiB,CAAC;gBAC5B,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;aACxE;;;ACPD;;;;;;"}
