Skip to content
Snippets Groups Projects
Commit 9442319d authored by Mira Manninen's avatar Mira Manninen Committed by Markus Kaarto
Browse files

NXSTAGE-191 "Publish to npm" - automation

parent c6c899ac
No related branches found
No related tags found
No related merge requests found
---
## /* vim: set tabstop=2 softtabstop=2 shiftwidth=2 expandtab smarttab autoindent: */
default: default:
image: node:12.16.1 image: "node:12.16.1"
cache: cache:
paths: paths:
- node_modules/ - "node_modules/"
- .yarn
stages:
- build
- test
- deploy
build: build:
only: stage: build
- merge_request rules:
- if: '$CI_COMMIT_BRANCH == "master" && $CI_COMMIT_TAG != null'
when: always
- if: '$CI_MERGE_REQUEST_ID != null'
when: always
artifacts:
paths:
- "node_modules/"
- "dist/"
- "www/"
untracked: true
script:
- yarn "install" --immutable
test:
stage: test
rules:
- if: '$CI_COMMIT_BRANCH == "master" && $CI_COMMIT_TAG != null'
when: on_success
- if: '$CI_MERGE_REQUEST_ID != null'
when: on_success
script:
- yarn "test"
deploy_npm:
stage: deploy
rules:
- if: '$CI_COMMIT_BRANCH == "master" && $CI_COMMIT_TAG != null'
when: on_success
before_script: before_script:
- cp -RT /builds/julkiset-sivut/design-system-lib /usr/src/app/ ## Configure NPM with our token
- echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" >"${HOME}/.npmrc"
script: script:
- cd /usr/src/app - npm "publish" --access public
- yarn install
- yarn test
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
const index = require('./index-8ee21469.js');
const baselineCss = "div.hy-baseline{display:block;margin-bottom:1rem}div.hy-baseline>*+*{margin-top:1rem}";
const Baseline = class {
constructor(hostRef) {
index.registerInstance(this, hostRef);
}
render() {
return (index.h("div", { class: "hy-baseline" }, index.h("slot", null)));
}
};
Baseline.style = baselineCss;
exports.hy_baseline = Baseline;
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
const index = require('./index-8ee21469.js');
const defineCustomElements = (win, options) => index.patchEsm().then(() => {
return index.bootstrapLazy([["hy-baseline.cjs",[[4,"hy-baseline"]]],["hy-accordion-container_15.cjs",[[4,"hy-accordion-item",{"accordiontitle":[1],"ready":[32]}],[4,"hy-button",{"variant":[1],"state":[1],"icon":[1],"iconRight":[1,"icon-right"]}],[4,"hy-accordion-container",{"accordionid":[1]}],[4,"hy-docs-container"],[4,"hy-grid-container"],[4,"hy-grid-item",{"columns":[1],"columnssm":[1],"columnslg":[1],"contentalign":[1]}],[4,"hy-grid-row"],[1,"hy-heading",{"heading":[1],"section":[1]}],[1,"hy-ingress"],[1,"hy-link",{"variant":[1],"linkContent":[1,"link-content"],"url":[1],"ariaLabel":[1,"aria-label"],"isExternal":[4,"is-external"]}],[1,"hy-paragraph-text"],[4,"hy-row",{"justify":[1],"align":[1]}],[4,"hy-section-container"],[1,"hy-tiny-text"],[0,"hy-icon",{"icon":[1],"fill":[1],"size":[2]}]]]], options);
});
exports.defineCustomElements = defineCustomElements;
{
"entries": [
"./components/accordion-container/accordion-container.js",
"./components/accordion-item/accordion-item.js",
"./components/baseline/baseline.js",
"./components/button/button.js",
"./components/docs-container/docs-container.js",
"./components/grid-container/grid-container.js",
"./components/grid-item/grid-item.js",
"./components/grid-row/grid-row.js",
"./components/heading/heading.js",
"./components/icon/icon.js",
"./components/ingress/ingress.js",
"./components/link/link.js",
"./components/paragraph-text/paragraph-text.js",
"./components/row/row.js",
"./components/section-container/section-container.js",
"./components/tiny-text/tiny-text.js"
],
"compiler": {
"name": "@stencil/core",
"version": "1.11.3",
"typescriptVersion": "3.8.3"
},
"collections": [],
"bundles": []
}
\ No newline at end of file
import { r as registerInstance, h } from './index-5809f4b1.js';
var baselineCss = "div.hy-baseline{display:block;margin-bottom:1rem}div.hy-baseline>*+*{margin-top:1rem}";
var Baseline = /** @class */ (function () {
function Baseline(hostRef) {
registerInstance(this, hostRef);
}
Baseline.prototype.render = function () {
return (h("div", { class: "hy-baseline" }, h("slot", null)));
};
return Baseline;
}());
Baseline.style = baselineCss;
export { Baseline as hy_baseline };
import { a as patchEsm, b as bootstrapLazy } from './index-5809f4b1.js';
var defineCustomElements = function (win, options) { return patchEsm().then(function () {
return bootstrapLazy([["hy-baseline", [[4, "hy-baseline"]]], ["hy-accordion-container_15", [[4, "hy-accordion-item", { "accordiontitle": [1], "ready": [32] }], [4, "hy-button", { "variant": [1], "state": [1], "icon": [1], "iconRight": [1, "icon-right"] }], [4, "hy-accordion-container", { "accordionid": [1] }], [4, "hy-docs-container"], [4, "hy-grid-container"], [4, "hy-grid-item", { "columns": [1], "columnssm": [1], "columnslg": [1], "contentalign": [1] }], [4, "hy-grid-row"], [1, "hy-heading", { "heading": [1], "section": [1] }], [1, "hy-ingress"], [1, "hy-link", { "variant": [1], "linkContent": [1, "link-content"], "url": [1], "ariaLabel": [1, "aria-label"], "isExternal": [4, "is-external"] }], [1, "hy-paragraph-text"], [4, "hy-row", { "justify": [1], "align": [1] }], [4, "hy-section-container"], [1, "hy-tiny-text"], [0, "hy-icon", { "icon": [1], "fill": [1], "size": [2] }]]]], options);
}); };
export { defineCustomElements };
import { r as registerInstance, h } from './index-5809f4b1.js';
const baselineCss = "div.hy-baseline{display:block;margin-bottom:1rem}div.hy-baseline>*+*{margin-top:1rem}";
const Baseline = class {
constructor(hostRef) {
registerInstance(this, hostRef);
}
render() {
return (h("div", { class: "hy-baseline" }, h("slot", null)));
}
};
Baseline.style = baselineCss;
export { Baseline as hy_baseline };
import { a as patchEsm, b as bootstrapLazy } from './index-5809f4b1.js';
const defineCustomElements = (win, options) => patchEsm().then(() => {
return bootstrapLazy([["hy-baseline",[[4,"hy-baseline"]]],["hy-accordion-container_15",[[4,"hy-accordion-item",{"accordiontitle":[1],"ready":[32]}],[4,"hy-button",{"variant":[1],"state":[1],"icon":[1],"iconRight":[1,"icon-right"]}],[4,"hy-accordion-container",{"accordionid":[1]}],[4,"hy-docs-container"],[4,"hy-grid-container"],[4,"hy-grid-item",{"columns":[1],"columnssm":[1],"columnslg":[1],"contentalign":[1]}],[4,"hy-grid-row"],[1,"hy-heading",{"heading":[1],"section":[1]}],[1,"hy-ingress"],[1,"hy-link",{"variant":[1],"linkContent":[1,"link-content"],"url":[1],"ariaLabel":[1,"aria-label"],"isExternal":[4,"is-external"]}],[1,"hy-paragraph-text"],[4,"hy-row",{"justify":[1],"align":[1]}],[4,"hy-section-container"],[1,"hy-tiny-text"],[0,"hy-icon",{"icon":[1],"fill":[1],"size":[2]}]]]], options);
});
export { defineCustomElements };
<!doctype html><html dir="ltr" lang="en"><head> <link rel="stylesheet" type="text/css" href="/build/huds-lib.css"> <link rel="stylesheet" type="text/css" href="/fonts/fonts.css"> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=5.0"> <title>Stencil Component Starter</title> <script type="module" src="/build/huds-lib.esm.js"></script> <script nomodule="" src="/build/huds-lib.js"></script> </head> <body> <h1>Helsinki University web components demo</h1> <hy-section-container> This is a Section Container <hy-heading heading="h2" section="subsection"> Section Header </hy-heading> </hy-section-container> <hy-section-container> <hy-heading heading="h2" section="subsection"> Section Buttons </hy-heading> <hy-button icon="hy-icon-arrow-left"> Primary Arrow </hy-button> <hy-button state="disabled" icon="hy-icon-arrow-left"> Primary Arrow Disabled </hy-button> <hy-button variant="secondary" icon="hy-icon-arrow-left"> Outline Arrow </hy-button> <hy-button variant="secondary" state="disabled" icon="hy-icon-arrow-left"> Outline Arrow Disabled </hy-button> </hy-section-container> <hy-grid-container> <hy-grid-row> <hy-grid-item columns="6"> <hy-row> <hy-button> Primary </hy-button> <hy-button icon-right="hy-icon-arrow-right"> Primary Arrow </hy-button> <hy-button state="disabled"> Primary Disabled </hy-button> <hy-button state="disabled" icon-right="hy-icon-arrow-right"> Login Primary Arrow Disabled </hy-button> </hy-row> <hy-row> <hy-button variant="secondary"> Secondary </hy-button> <hy-button icon-right="hy-icon-arrow-right" variant="secondary"> Secondary Arrow </hy-button> <hy-button state="disabled" variant="secondary"> Secondary Disabled </hy-button> <hy-button state="disabled" icon-right="hy-icon-arrow-right" variant="secondary"> Secondary Arrow Disabled </hy-button> </hy-row> </hy-grid-item> <hy-grid-item columns="6"> <hy-heading heading="h1">This is a Heading 1</hy-heading> <hy-heading heading="h2">This is a Heading 2</hy-heading> <hy-heading heading="h3">This is a Heading 3</hy-heading> <hy-heading heading="h4">This is a Heading 4</hy-heading> <hy-heading heading="h5">This is a Heading 5</hy-heading> <hy-heading heading="h6">This is a Heading 6</hy-heading> </hy-grid-item> </hy-grid-row> <hy-grid-row> <hy-grid-item> <hy-heading heading="h2" section="subsection">This is subsection heading that has divider</hy-heading> Secondary Arrow Disabled </hy-grid-item> <hy-grid-item columns="6"> <hy-heading heading="h1">This is a Heading 1</hy-heading> <hy-heading heading="h2">This is a Heading 2</hy-heading> <hy-heading heading="h3">This is a Heading 3</hy-heading> <hy-heading heading="h4">This is a Heading 4</hy-heading> <hy-heading heading="h5">This is a Heading 5</hy-heading> <hy-heading heading="h6">This is a Heading 6</hy-heading> </hy-grid-item> <hy-grid-item columnssm="12"> <hy-docs-container> <hy-accordion-container accordionid="example-1"> <hy-accordion-item accordiontitle="This is accordion item 1"> Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Ut ac orci nisl. Nam at arcu eget enim interdum rhoncus eu nec turpis.
Duis in est id nunc dictum lobortis. Nullam magna lectus, hendrerit tempus pharetra at, cursus sit amet
orci.
Aenean in pulvinar mi. Nulla facilisi. Etiam elementum malesuada ante, quis facilisis arcu varius
consectetur.
Phasellus eu nisl elementum, laoreet sem condimentum, hendrerit urna. Ut eu lorem et nunc consectetur
bibendum.
Nulla sed orci urna. Vivamus ac lectus ex. Nam sit amet tincidunt leo. In sed nunc eu odio semper maximus
vel suscipit ligula. </hy-accordion-item> <hy-accordion-item accordiontitle="This is accordion item 2"> <hy-grid-container> <hy-grid-row> <hy-grid-item columnssm="12"> <hy-heading heading="h3">Lorem ipsum Heading</hy-heading> Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Ut ac orci nisl. Nam at arcu eget enim interdum rhoncus eu nec turpis.
Duis in est id nunc dictum lobortis. Nullam magna lectus, hendrerit tempus pharetra at, cursus sit
amet orci.
Aenean in pulvinar mi. Nulla facilisi. Etiam elementum malesuada ante, quis facilisis arcu varius
consectetur.
Phasellus eu nisl elementum, laoreet sem condimentum, hendrerit urna. Ut eu lorem et nunc
consectetur bibendum.
Nulla sed orci urna. Vivamus ac lectus ex. Nam sit amet tincidunt leo. In sed nunc eu odio semper
maximus vel suscipit ligula. </hy-grid-item> </hy-grid-row> <hy-grid-row> <hy-grid-item columns="12"> <hy-heading heading="h4" section="subsection">Divider heading</hy-heading> </hy-grid-item> <hy-grid-item columnssm="12" columns="6" columnslg="6"> Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Ut ac orci nisl. Nam at arcu eget enim interdum rhoncus eu nec turpis.
Duis in est id nunc dictum lobortis. Nullam magna lectus, hendrerit tempus pharetra at, cursus sit
amet orci.
Aenean in pulvinar mi. Nulla facilisi. Etiam elementum malesuada ante, quis facilisis arcu varius
consectetur.
Phasellus eu nisl elementum, laoreet sem condimentum, hendrerit urna. Ut eu lorem et nunc
consectetur bibendum.
Nulla sed orci urna. Vivamus ac lectus ex. Nam sit amet tincidunt leo. In sed nunc eu odio semper
maximus vel suscipit ligula. <hy-link-box text-title="Text title 2" text-description="Text description Lorem ipsum dolor sit amet, consectetur adipiscing elit." url="https://www.google.com" aria-label="Link to google" is-external="false"></hy-link-box> </hy-grid-item> <hy-grid-item columnssm="12" columns="6" columnslg="6"> <hy-link-box image-url="https://www.helsinki.fi/sites/default/files/styles/16_9_huge/public/coronavirus_1920x1080px_4.jpg?itok=dOgb6pfs" image-alt="Test image" text-title="Text title" text-description="Text description Lorem ipsum dolor sit amet, consectetur adipiscing elit." url="https://www.google.com" aria-label="Link to google" is-external="true"></hy-link-box> Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Ut ac orci nisl. Nam at arcu eget enim interdum rhoncus eu nec turpis.
Duis in est id nunc dictum lobortis. Nullam magna lectus, hendrerit tempus pharetra at, cursus sit
amet orci.
Aenean in pulvinar mi. Nulla facilisi. Etiam elementum malesuada ante, quis facilisis arcu varius
consectetur.
Phasellus eu nisl elementum, laoreet sem condimentum, hendrerit urna. Ut eu lorem et nunc
consectetur bibendum.
Nulla sed orci urna. Vivamus ac lectus ex. Nam sit amet tincidunt leo. In sed nunc eu odio semper
maximus vel suscipit ligula. </hy-grid-item> </hy-grid-row> </hy-grid-container> </hy-accordion-item> <hy-accordion-item accordiontitle="This is accordion item 3"> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Lorem ipsum dolor sit amet, consectetur
adipiscing elit. </hy-accordion-item> </hy-accordion-container> </hy-docs-container> </hy-grid-item> </hy-grid-row> <hy-grid-row> <hy-grid-item> <hy-heading heading="h2" section="subsection">This is subsection heading that has divider</hy-heading> </hy-grid-item> </hy-grid-row> <hy-ingress> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut ac orci
nisl. Nam at arcu eget enim interdum rhoncus eu nec turpis. Duis in est
id nunc dictum lobortis. Nullam magna lectus, hendrerit tempus pharetra
at, cursus sit amet orci </hy-ingress> <hy-paragraph-text> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut ac orci
nisl. Nam at arcu eget enim interdum rhoncus eu nec turpis. Duis in est
id nunc dictum lobortis. Nullam magna lectus, hendrerit tempus pharetra
at, cursus sit amet orci. Aenean in pulvinar mi. Nulla facilisi. Etiam
elementum malesuada ante, quis facilisis arcu varius consectetur.
Phasellus eu nisl elementum, laoreet sem condimentum, hendrerit urna. Ut
eu lorem et nunc consectetur bibendum. Nulla sed orci urna. Vivamus ac
lectus ex. Nam sit amet tincidunt leo. In sed nunc eu odio semper
maximus vel suscipit ligula. In hac habitasse platea dictumst. </hy-paragraph-text> <hy-tiny-text>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</hy-tiny-text> <hy-link url="https://www.google.com" link-content="Regular link" aria-label="Regular link" is-external="false"></hy-link> <hy-link variant="within-paragraph" link-content="Link within paragraph" aria-label="Link within paragraph" url="https://www.google.com" is-external="true"></hy-link> <hy-heading heading="h3">Grid things</hy-heading> <hy-grid-row> <hy-grid-item columns="4" columnslg="2" columnssm="6"> <hy-paragraph-text> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut ac orci
nisl. Nam at arcu eget enim interdum rhoncus eu nec turpis. Duis in
est id nunc dictum lobortis. Nullam magna lectus, hendrerit tempus
pharetra at, cursus sit amet orci. Aenean in pulvinar mi. </hy-paragraph-text> </hy-grid-item> <hy-grid-item columns="8" columnslg="10" columnssm="6"> <hy-grid-row> <hy-grid-item columns="4" columnssm="12" columnslg="3" contentalign="left"> <hy-tiny-text>Lorem ipsum dolor sit amet, consectetur adipiscing
elit.</hy-tiny-text> </hy-grid-item> <hy-grid-item columns="4" columnssm="12" columnslg="3" contentalign="center"> <hy-tiny-text>Lorem ipsum dolor sit amet, consectetur adipiscing
elit.</hy-tiny-text> </hy-grid-item> <hy-grid-item columns="4" columnssm="12" columnslg="3" contentalign="right"> <hy-tiny-text>Lorem ipsum dolor sit amet, consectetur adipiscing
elit.</hy-tiny-text> </hy-grid-item> <hy-grid-item columns="4" columnssm="12" columnslg="3" contentalign="left"> <hy-tiny-text>Lorem ipsum dolor sit amet, consectetur adipiscing
elit.</hy-tiny-text> </hy-grid-item> <hy-grid-item columns="4" columnssm="12" columnslg="3" contentalign="center"> <hy-tiny-text>Lorem ipsum dolor sit amet, consectetur adipiscing
elit.</hy-tiny-text> </hy-grid-item> <hy-grid-item columns="4" columnssm="12" columnslg="3" contentalign="right"> <hy-tiny-text>Lorem ipsum dolor sit amet, consectetur adipiscing
elit.</hy-tiny-text> </hy-grid-item> <hy-grid-item columns="4" columnssm="12" columnslg="3" contentalign="left"> <hy-tiny-text>Lorem ipsum dolor sit amet, consectetur adipiscing
elit.</hy-tiny-text> </hy-grid-item> <hy-grid-item columns="4" columnssm="12" columnslg="3" contentalign="center"> <hy-tiny-text>Lorem ipsum dolor sit amet, consectetur adipiscing
elit.</hy-tiny-text> </hy-grid-item> </hy-grid-row> </hy-grid-item> <hy-grid-item columns="12"> <hy-accordion-container accordionid="example-2"> <hy-accordion-item accordiontitle="This is accordion item 1"> Lorem ipsum dolor sit amet, consectetur adipiscing elit. </hy-accordion-item> </hy-accordion-container> </hy-grid-item> </hy-grid-row> <hy-grid-row> <hy-grid-item columnssm="12" columns="3" columnslg="3"> <hy-link-box image-url="https://www.helsinki.fi/sites/default/files/styles/16_9_huge/public/coronavirus_1920x1080px_4.jpg?itok=dOgb6pfs" image-alt="Test image" text-title="Text title" text-description="Text description Lorem ipsum dolor sit amet, consectetur adipiscing elit." url="https://www.google.com" aria-label="Link to google" is-external="true"></hy-link-box> </hy-grid-item> <hy-grid-item columnssm="12" columns="3" columnslg="3"> <hy-link-box image-url="https://www.helsinki.fi/sites/default/files/styles/16_9_huge/public/hy_yhteishaku2020_nostokuva_herokuva_uusi_3.jpg?itok=Oae0xaQR" image-alt="Test image 2" text-title="Text title 2" text-description="Text description Lorem ipsum dolor sit amet, consectetur adipiscing elit." url="https://www.google.com" aria-label="Link to google" is-external="false"></hy-link-box> </hy-grid-item> <hy-grid-item columnssm="12" columns="3" columnslg="3"> <hy-link-box text-title="Text title 2" text-description="Text description Lorem ipsum dolor sit amet, consectetur adipiscing elit." url="https://www.google.com" aria-label="Link to google" is-external="false"></hy-link-box> </hy-grid-item> <hy-grid-item columnssm="12" columns="3" columnslg="3"> <hy-link-box text-title="Text title with longer title and no description" url="https://www.google.com" aria-label="Link to google" is-external="false"></hy-link-box> </hy-grid-item> <hy-grid-item columnssm="12" columns="3" columnslg="3"> <hy-link-box image-url="https://www.helsinki.fi/sites/default/files/styles/16_9_huge/public/hy_yhteishaku2020_nostokuva_herokuva_uusi_3.jpg?itok=Oae0xaQR" image-alt="Test image 2" text-title="Text title 2" text-description="Text description Lorem ipsum dolor sit amet, consectetur adipiscing elit." url="https://www.google.com" aria-label="Link to google" is-external="false"></hy-link-box> </hy-grid-item> <hy-grid-item columnssm="12" columns="3" columnslg="3"> <hy-link-box image-url="https://www.helsinki.fi/sites/default/files/styles/16_9_huge/public/hy_yhteishaku2020_nostokuva_herokuva_uusi_3.jpg?itok=Oae0xaQR" image-alt="Test image 2" text-title="Text title with image and no description" url="https://www.google.com" aria-label="Link to google" is-external="false"></hy-link-box> </hy-grid-item> <hy-grid-item columnssm="12" columns="3" columnslg="3"> <hy-link-box text-title="Text title 2" text-description="Text description Lorem ipsum dolor sit amet, consectetur adipiscing elit." url="https://www.google.com" aria-label="Link to google" is-external="false"></hy-link-box> </hy-grid-item> </hy-grid-row> <hy-grid-row> <hy-grid-item columnssm="12" columns="6" columnslg="4"> <hy-link-box image-url="https://www.helsinki.fi/sites/default/files/styles/16_9_huge/public/coronavirus_1920x1080px_4.jpg?itok=dOgb6pfs" image-alt="Test image" text-title="Text title" text-description="Text description Lorem ipsum dolor sit amet, consectetur adipiscing elit." url="https://www.google.com" aria-label="Link to google" is-external="true"></hy-link-box> </hy-grid-item> <hy-grid-item columnssm="12" columns="6" columnslg="4"> <hy-link-box image-url="https://www.helsinki.fi/sites/default/files/styles/16_9_huge/public/hy_yhteishaku2020_nostokuva_herokuva_uusi_3.jpg?itok=Oae0xaQR" image-alt="Test image 2" text-title="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Lorem ipsum dolor sit amet" url="https://www.google.com" aria-label="Link to google" is-external="false"></hy-link-box> </hy-grid-item> <hy-grid-item columnssm="12" columns="6" columnslg="4"> <hy-link-box text-title="Text title 2" text-description="Text description Lorem ipsum dolor sit amet, consectetur adipiscing elit." url="https://www.google.com" aria-label="Link to google" is-external="false"></hy-link-box> </hy-grid-item> </hy-grid-row> <hy-grid-row> <hy-grid-item columnssm="12" columns="6" columnslg="4"> <hy-heading heading="h3">The end</hy-heading> </hy-grid-item> </hy-grid-row> </hy-grid-container> <script>if ('serviceWorker' in navigator && location.protocol !== 'file:') {
// auto-unregister service worker during dev mode
navigator.serviceWorker.getRegistration().then(function(registration) {
if (registration) {
registration.unregister().then(function() { location.reload(true) });
}
});
}</script></body></html>
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment