From 210048ee6e3c6592dc4ee08e3b64b28b88e873f8 Mon Sep 17 00:00:00 2001 From: Johannes Schweig Date: Wed, 7 Feb 2024 17:22:53 +0100 Subject: [PATCH] deploy --- .browserslistrc | 2 - .editorconfig | 9 - .eslintrc.js | 29 - .gitignore | 20 - 404.html | 1 + README.md | 38 - TODO.md | 84 - .../bio/CV.pdf => assets/pdf/CV.f512dad1.pdf | Bin .../pdf/thesis.0901653d.pdf | Bin babel.config.js | 5 - css/app.e9ce6c99.css | 1 + cypress.json | 7 - deploy.sh | 8 - empty.js | 0 public/favicon.png => favicon.png | Bin .../lato-v23-latin-300.716309aa.woff2 | Bin .../lato-v23-latin-300.bbaaef98.woff | Bin fonts/lato-v23-latin-300.woff | Bin 0 -> 30016 bytes fonts/lato-v23-latin-300.woff2 | Bin 0 -> 23236 bytes .../lato-v23-latin-700.1833f9fa.woff | Bin .../lato-v23-latin-700.de69cf9e.woff2 | Bin fonts/lato-v23-latin-700.woff | Bin 0 -> 28044 bytes fonts/lato-v23-latin-700.woff2 | Bin 0 -> 23040 bytes .../lato-v23-latin-regular.0e898c13.woff | Bin .../lato-v23-latin-regular.e1b3b590.woff2 | Bin fonts/lato-v23-latin-regular.woff | Bin 0 -> 28648 bytes fonts/lato-v23-latin-regular.woff2 | Bin 0 -> 23580 bytes .../lora-v32-latin-700.1af9e198.woff2 | Bin .../lora-v32-latin-700.b64c9538.woff | Bin fonts/lora-v32-latin-700.woff | Bin 0 -> 23860 bytes fonts/lora-v32-latin-700.woff2 | Bin 0 -> 19308 bytes .../lora-v32-latin-regular.03724bc4.woff2 | Bin .../lora-v32-latin-regular.d23ef47d.woff | Bin fonts/lora-v32-latin-regular.woff | Bin 0 -> 23600 bytes fonts/lora-v32-latin-regular.woff2 | Bin 0 -> 19300 bytes .../adjustable-eyes.c99ce49e.jpg | Bin .../bio-image.cf1651b2.jpg | Bin .../brainstorming-sideshot.56840d0c.jpg | Bin .../code-versus.04241d86.png | Bin .../colors.png => img/colors.67cab4bd.png | Bin .../column_expressions.4e3cf3b0.png | Bin .../communities.4f837362.png | Bin .../components.ffbc8992.png | Bin .../concept.png => img/concept.3933ace9.png | Bin .../concept.png => img/concept.dda3c4ff.png | Bin .../data-coll.478ebcd0.png | Bin .../demo.png => img/demo.82967291.png | Bin .../thesis/eye.png => img/eye.aac1fa3e.png | Bin .../formulas04.507aefad.jpg | Bin .../foveated-rendering.5897ea89.png | Bin .../front_page.6b948d2c.jpg | Bin .../thesis/gnb.png => img/gnb.a0d7405b.png | Bin .../greenbox_app2.511cbbbe.png | Bin .../greenbox_app3.eca497a4.png | Bin .../greenbox_presentation.eea2892e.png | Bin .../greenbox_v1.f3127872.jpg | Bin .../greenbox_v2.aefd06ed.jpg | Bin .../mass-ass-slide.06d61890.jpg | Bin .../mechanics.fd8bc77f.png | Bin .../mechanics_app.95c69a34.png | Bin .../mechanics_interview.43f8fc96.png | Bin .../mockup_ps.ab6d3908.jpg | Bin .../node-issues.d5af57fb.png | Bin .../paper_prototype.6732246c.jpg | Bin .../pattern.png => img/pattern.db6777fa.png | Bin .../phoenix_mp.a48fe521.jpg | Bin .../project-plan.2d8ee402.png | Bin .../querybuilder.75ad2214.png | Bin .../querybuilders.51618a71.png | Bin .../quotes.png => img/quotes.a819a60b.png | Bin .../thesis/regX.png => img/regX.94898e50.png | Bin .../row-filter.8c9b9b08.png | Bin .../screens-11-19.6b031aba.png | Bin .../shuffle_tooltip.fde1ca92.png | Bin .../ticket1.jpeg => img/ticket1.fd67465f.jpeg | Bin .../tools.png => img/tools.09370b15.png | Bin .../typo.png => img/typo.05501c41.png | Bin .../variants.jpg => img/variants.08a77f33.jpg | Bin .../variations-codesnippets.9d59f21a.png | Bin .../variations.e936ca1f.png | Bin .../wireframe_ps_js.38ad42c0.png | Bin .../wireframes-refined.5d42eb6b.png | Bin .../wireframes-rough.feedd735.png | Bin .../workflow.png => img/workflow.dc822e88.png | Bin index.html | 1 + jest.config.js | 6 - js/app.832866c3.js | 2 + js/app.832866c3.js.map | 1 + js/chunk-vendors.7674dbda.js | 13 + js/chunk-vendors.7674dbda.js.map | 1 + .../coverflow.e57db30e.mp4 | Bin .../snip-gif.befa8959.mp4 | Bin package-lock.json | 34984 ---------------- package.json | 32 - postcss.config.js | 5 - public/index.html | 16 - src/App.vue | 26 - src/assets/address.png | Bin 639 -> 0 bytes src/assets/arrow.svg | 3 - src/assets/bio/cv.svg | 8 - src/assets/bio/github.svg | 1 - src/assets/bio/linkedin.svg | 1 - src/assets/bio/mail.svg | 3 - src/assets/bio/ux.svg | 12 - src/assets/codesnippets/3vs1.png | Bin 2237 -> 0 bytes src/assets/phone.png | Bin 529 -> 0 bytes src/assets/querybuilder/sql.png | Bin 4079 -> 0 bytes src/assets/thesis/download.png | Bin 283 -> 0 bytes src/components/content/About.vue | 126 - src/components/content/LandingPage.vue | 47 - src/components/content/Legal.vue | 141 - src/components/content/PageNotFound.vue | 13 - src/components/content/WelcomeBanner.vue | 21 - src/components/elements/Footer.vue | 104 - src/components/elements/Header.vue | 93 - src/components/elements/Icon.vue | 99 - src/components/elements/ProjectArrows.vue | 114 - src/components/elements/ProjectHeader.vue | 90 - src/components/elements/ProjectPreview.vue | 99 - src/components/elements/StyledImage.vue | 95 - src/components/projects/CodeSnippets.vue | 44 - src/components/projects/EsGehtLos.vue | 48 - src/components/projects/Greenbox.vue | 45 - src/components/projects/KnimeHub.vue | 67 - src/components/projects/Mechanics.vue | 45 - src/components/projects/Phoenix.vue | 74 - src/components/projects/QueryBuilder.vue | 52 - src/components/projects/ScenarioManager.vue | 64 - src/components/projects/Thesis.vue | 77 - src/components/projects/TrafficTicket.vue | 28 - src/main.js | 16 - src/router/index.js | 41 - src/styles.css | 192 - src/utils/index.js | 43 - src/utils/projects.js | 139 - tests/e2e/fixtures/example.json | 5 - tests/e2e/integration/launch.spec.js | 14 - tests/e2e/plugins/index.js | 21 - tests/e2e/support/commands.js | 25 - tests/e2e/support/index.js | 20 - tests/unit/Bio.spec.js | 13 - tests/unit/SocialIcon.spec.js | 14 - tests/unit/utils.spec.js | 78 - vue.config.js | 22 - 144 files changed, 20 insertions(+), 37528 deletions(-) delete mode 100644 .browserslistrc delete mode 100644 .editorconfig delete mode 100644 .eslintrc.js delete mode 100644 .gitignore create mode 100644 404.html delete mode 100644 README.md delete mode 100644 TODO.md rename src/assets/bio/CV.pdf => assets/pdf/CV.f512dad1.pdf (100%) rename src/assets/thesis/thesis.pdf => assets/pdf/thesis.0901653d.pdf (100%) delete mode 100644 babel.config.js create mode 100644 css/app.e9ce6c99.css delete mode 100644 cypress.json delete mode 100644 deploy.sh delete mode 100644 empty.js rename public/favicon.png => favicon.png (100%) rename public/fonts/lato-v23-latin-300.woff2 => fonts/lato-v23-latin-300.716309aa.woff2 (100%) rename public/fonts/lato-v23-latin-300.woff => fonts/lato-v23-latin-300.bbaaef98.woff (100%) create mode 100644 fonts/lato-v23-latin-300.woff create mode 100644 fonts/lato-v23-latin-300.woff2 rename public/fonts/lato-v23-latin-700.woff => fonts/lato-v23-latin-700.1833f9fa.woff (100%) rename public/fonts/lato-v23-latin-700.woff2 => fonts/lato-v23-latin-700.de69cf9e.woff2 (100%) create mode 100644 fonts/lato-v23-latin-700.woff create mode 100644 fonts/lato-v23-latin-700.woff2 rename public/fonts/lato-v23-latin-regular.woff => fonts/lato-v23-latin-regular.0e898c13.woff (100%) rename public/fonts/lato-v23-latin-regular.woff2 => fonts/lato-v23-latin-regular.e1b3b590.woff2 (100%) create mode 100644 fonts/lato-v23-latin-regular.woff create mode 100644 fonts/lato-v23-latin-regular.woff2 rename public/fonts/lora-v32-latin-700.woff2 => fonts/lora-v32-latin-700.1af9e198.woff2 (100%) rename public/fonts/lora-v32-latin-700.woff => fonts/lora-v32-latin-700.b64c9538.woff (100%) create mode 100644 fonts/lora-v32-latin-700.woff create mode 100644 fonts/lora-v32-latin-700.woff2 rename public/fonts/lora-v32-latin-regular.woff2 => fonts/lora-v32-latin-regular.03724bc4.woff2 (100%) rename public/fonts/lora-v32-latin-regular.woff => fonts/lora-v32-latin-regular.d23ef47d.woff (100%) create mode 100644 fonts/lora-v32-latin-regular.woff create mode 100644 fonts/lora-v32-latin-regular.woff2 rename src/assets/thesis/adjustable-eyes.jpg => img/adjustable-eyes.c99ce49e.jpg (100%) rename src/assets/bio/bio-image.jpg => img/bio-image.cf1651b2.jpg (100%) rename src/assets/scenariomanager/brainstorming-sideshot.jpg => img/brainstorming-sideshot.56840d0c.jpg (100%) rename src/assets/codesnippets/code-versus.png => img/code-versus.04241d86.png (100%) rename src/assets/esgehtlos/colors.png => img/colors.67cab4bd.png (100%) rename src/assets/codesnippets/column_expressions.png => img/column_expressions.4e3cf3b0.png (100%) rename src/assets/knimehub/communities.png => img/communities.4f837362.png (100%) rename src/assets/esgehtlos/components.png => img/components.ffbc8992.png (100%) rename src/assets/querybuilder/concept.png => img/concept.3933ace9.png (100%) rename src/assets/codesnippets/concept.png => img/concept.dda3c4ff.png (100%) rename src/assets/thesis/data-coll.png => img/data-coll.478ebcd0.png (100%) rename src/assets/esgehtlos/demo.png => img/demo.82967291.png (100%) rename src/assets/thesis/eye.png => img/eye.aac1fa3e.png (100%) rename src/assets/codesnippets/formulas04.jpg => img/formulas04.507aefad.jpg (100%) rename src/assets/thesis/foveated-rendering.png => img/foveated-rendering.5897ea89.png (100%) rename src/assets/knimehub/front_page.jpg => img/front_page.6b948d2c.jpg (100%) rename src/assets/thesis/gnb.png => img/gnb.a0d7405b.png (100%) rename src/assets/greenbox/greenbox_app2.png => img/greenbox_app2.511cbbbe.png (100%) rename src/assets/greenbox/greenbox_app3.png => img/greenbox_app3.eca497a4.png (100%) rename src/assets/greenbox/greenbox_presentation.png => img/greenbox_presentation.eea2892e.png (100%) rename src/assets/greenbox/greenbox_v1.jpg => img/greenbox_v1.f3127872.jpg (100%) rename src/assets/greenbox/greenbox_v2.jpg => img/greenbox_v2.aefd06ed.jpg (100%) rename src/assets/scenariomanager/mass-ass-slide.jpg => img/mass-ass-slide.06d61890.jpg (100%) rename src/assets/mechanics/mechanics.png => img/mechanics.fd8bc77f.png (100%) rename src/assets/mechanics/mechanics_app.png => img/mechanics_app.95c69a34.png (100%) rename src/assets/mechanics/mechanics_interview.png => img/mechanics_interview.43f8fc96.png (100%) rename src/assets/phoenix/mockup_ps.jpg => img/mockup_ps.ab6d3908.jpg (100%) rename src/assets/knimehub/node-issues.png => img/node-issues.d5af57fb.png (100%) rename src/assets/phoenix/paper_prototype.jpg => img/paper_prototype.6732246c.jpg (100%) rename src/assets/pattern.png => img/pattern.db6777fa.png (100%) rename src/assets/phoenix/phoenix_mp.jpg => img/phoenix_mp.a48fe521.jpg (100%) rename src/assets/scenariomanager/project-plan.png => img/project-plan.2d8ee402.png (100%) rename src/assets/querybuilder/querybuilder.png => img/querybuilder.75ad2214.png (100%) rename src/assets/querybuilder/querybuilders.png => img/querybuilders.51618a71.png (100%) rename src/assets/knimehub/quotes.png => img/quotes.a819a60b.png (100%) rename src/assets/thesis/regX.png => img/regX.94898e50.png (100%) rename src/assets/querybuilder/row-filter.png => img/row-filter.8c9b9b08.png (100%) rename src/assets/knimehub/screens-11-19.png => img/screens-11-19.6b031aba.png (100%) rename src/assets/phoenix/shuffle_tooltip.png => img/shuffle_tooltip.fde1ca92.png (100%) rename src/assets/trafficticket/ticket1.jpeg => img/ticket1.fd67465f.jpeg (100%) rename src/assets/mechanics/tools.png => img/tools.09370b15.png (100%) rename src/assets/esgehtlos/typo.png => img/typo.05501c41.png (100%) rename src/assets/scenariomanager/variants.jpg => img/variants.08a77f33.jpg (100%) rename src/assets/codesnippets/variations-codesnippets.png => img/variations-codesnippets.9d59f21a.png (100%) rename src/assets/querybuilder/variations.png => img/variations.e936ca1f.png (100%) rename src/assets/phoenix/wireframe_ps_js.png => img/wireframe_ps_js.38ad42c0.png (100%) rename src/assets/knimehub/wireframes-refined.png => img/wireframes-refined.5d42eb6b.png (100%) rename src/assets/knimehub/wireframes-rough.png => img/wireframes-rough.feedd735.png (100%) rename src/assets/mechanics/workflow.png => img/workflow.dc822e88.png (100%) create mode 100644 index.html delete mode 100644 jest.config.js create mode 100644 js/app.832866c3.js create mode 100644 js/app.832866c3.js.map create mode 100644 js/chunk-vendors.7674dbda.js create mode 100644 js/chunk-vendors.7674dbda.js.map rename src/assets/phoenix/coverflow.mp4 => media/coverflow.e57db30e.mp4 (100%) rename src/assets/scenariomanager/snip-gif.mp4 => media/snip-gif.befa8959.mp4 (100%) delete mode 100644 package-lock.json delete mode 100644 package.json delete mode 100644 postcss.config.js delete mode 100644 public/index.html delete mode 100644 src/App.vue delete mode 100644 src/assets/address.png delete mode 100644 src/assets/arrow.svg delete mode 100755 src/assets/bio/cv.svg delete mode 100755 src/assets/bio/github.svg delete mode 100755 src/assets/bio/linkedin.svg delete mode 100755 src/assets/bio/mail.svg delete mode 100644 src/assets/bio/ux.svg delete mode 100644 src/assets/codesnippets/3vs1.png delete mode 100644 src/assets/phone.png delete mode 100644 src/assets/querybuilder/sql.png delete mode 100644 src/assets/thesis/download.png delete mode 100644 src/components/content/About.vue delete mode 100644 src/components/content/LandingPage.vue delete mode 100644 src/components/content/Legal.vue delete mode 100644 src/components/content/PageNotFound.vue delete mode 100644 src/components/content/WelcomeBanner.vue delete mode 100644 src/components/elements/Footer.vue delete mode 100644 src/components/elements/Header.vue delete mode 100644 src/components/elements/Icon.vue delete mode 100644 src/components/elements/ProjectArrows.vue delete mode 100644 src/components/elements/ProjectHeader.vue delete mode 100644 src/components/elements/ProjectPreview.vue delete mode 100644 src/components/elements/StyledImage.vue delete mode 100644 src/components/projects/CodeSnippets.vue delete mode 100644 src/components/projects/EsGehtLos.vue delete mode 100644 src/components/projects/Greenbox.vue delete mode 100644 src/components/projects/KnimeHub.vue delete mode 100644 src/components/projects/Mechanics.vue delete mode 100644 src/components/projects/Phoenix.vue delete mode 100644 src/components/projects/QueryBuilder.vue delete mode 100644 src/components/projects/ScenarioManager.vue delete mode 100644 src/components/projects/Thesis.vue delete mode 100644 src/components/projects/TrafficTicket.vue delete mode 100644 src/main.js delete mode 100644 src/router/index.js delete mode 100644 src/styles.css delete mode 100644 src/utils/index.js delete mode 100644 src/utils/projects.js delete mode 100644 tests/e2e/fixtures/example.json delete mode 100644 tests/e2e/integration/launch.spec.js delete mode 100644 tests/e2e/plugins/index.js delete mode 100644 tests/e2e/support/commands.js delete mode 100644 tests/e2e/support/index.js delete mode 100644 tests/unit/Bio.spec.js delete mode 100644 tests/unit/SocialIcon.spec.js delete mode 100644 tests/unit/utils.spec.js delete mode 100644 vue.config.js diff --git a/.browserslistrc b/.browserslistrc deleted file mode 100644 index d6471a3..0000000 --- a/.browserslistrc +++ /dev/null @@ -1,2 +0,0 @@ -> 1% -last 2 versions diff --git a/.editorconfig b/.editorconfig deleted file mode 100644 index 9d08a1a..0000000 --- a/.editorconfig +++ /dev/null @@ -1,9 +0,0 @@ -root = true - -[*] -charset = utf-8 -indent_style = space -indent_size = 2 -end_of_line = lf -insert_final_newline = true -trim_trailing_whitespace = true diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 2b4dd40..0000000 --- a/.eslintrc.js +++ /dev/null @@ -1,29 +0,0 @@ -module.exports = { - root: true, - env: { - node: true, - jest: true - }, - 'extends': [ - 'plugin:vue/essential', - 'eslint:recommended' - ], - rules: { - 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', - 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off' - }, - parserOptions: { - parser: 'babel-eslint' - }, - overrides: [ - { - files: [ - '**/__tests__/*.{j,t}s?(x)', - '**/tests/unit/**/*.test.{j,t}s?(x)', - ], - env: { - jest: true - } - } - ] -} diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 0a154b5..0000000 --- a/.gitignore +++ /dev/null @@ -1,20 +0,0 @@ -.DS_Store -node_modules/ -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# Editor directories and files -.idea -.vscode -*.suo -*.ntvs* -*.njsproj -*.sln - -# my edits -old/ -old -*.psd -index_old.html -TODO.txt diff --git a/404.html b/404.html new file mode 100644 index 0000000..f6e02e2 --- /dev/null +++ b/404.html @@ -0,0 +1 @@ +Johannes Schweig
\ No newline at end of file diff --git a/README.md b/README.md deleted file mode 100644 index 3ba5e0b..0000000 --- a/README.md +++ /dev/null @@ -1,38 +0,0 @@ -# Portfolio website -This is my portfolio website using Vue.js and GridCSS, deployed on github pages. I made this to learn Vue.js and create a nice portfolio website for me as a UX Designer from the ground up. - -## Getting Started -Clone this repository. There are three branches: -- main: the deployed files for github pages -- vueapp: the vue source code of the latest version of the website -- develop: branch for new features, eventually merged into vueapp -- old_app: an old version of the website written in pure HTML, CSS, JavaScript, jQuery and Bootstrap. - - -### Prerequisites - -You need `nodejs` and `npm`. - -### Running the dev setup - -Switch to branch `vueapp`. Run `npm i` to install the dependencies, then `npm run dev` to start a development server on `localhost:8080`. Open your browser at `localhost:8080`. - -Alternatively, you can also serve the deployed files from `main` branch. I use [http-server](https://www.npmjs.com/package/http-server) for that. Switch to branch `main`. Run `http-server` inside the directory. Visit `localhost:8080` with your webbrowser - -## Linting & Tests - -Linting is done with `npm run lint`. Tests are located in `tests/unit`. Run them with `npm run unit`. - -## Deployment - -If you want to build the files necessary for github pages, run `deploy.sh` in the branch `vueapp`. It will build the project, copy the `index.html` to each routes folder to allow for routes with double slashes (e.g. johannesschweig.github.io/phoenix/) and force push the changes to main. - -## Credits - -**Built with:** -* [GridCSS](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Grid_Layout) - like Bootstrap only newer, more versatile and features less css styles you don't necessarily need -* [Vue.js](https://vuejs.org/) - a JavaScript Framework similar to React or Angular - -## License - -You may reuse my code which is about the technical side of this project (e.g. page setup, build scripts, layout) without asking if you provide attribution somewhere. You may NOT reuse any of my images or copy (i.e. written text). diff --git a/TODO.md b/TODO.md deleted file mode 100644 index 1fa583e..0000000 --- a/TODO.md +++ /dev/null @@ -1,84 +0,0 @@ -# Linux code work -- make previous/nextProject more elegant -- better image src inclusion -- favicon in all formats - -# Ideas -- popup to show images fullscreen -- unit tests -- e2e tests -- Drop shadow also for images in small viewports? -- make the projects extensible -- read more about accessibility of websites (and implement some features) -- Include Google Analytics? - -# DONE -## 2.3.0 -- egl project -- updated packages -## 2.2.0 -- website-wide styles with responsive scaling -- updated packages -## 2.1.0 -- scenario manager -- cover images now in 16:10 format -- cards - - 3 projects look shitty in 2x2 format -## 2.0.0 -- new color scheme -- svg loading of icons -## 1.3.0 -- CV on website -- repair favicon -- Header not sticky -- include old projects (mechanics, thesis) -- basis for unit and e2e tests - -- Code snippets images: - [Image: three manipulation nodes vs one node] - [Image: formulas08 vs formulas01 tabbed interface vs dropdown, first row vs result only] -> Done -- scale bio images to 48x48px -- new images for legal, mail, address -- make ul font size on legal 14px -- vertical-align: middle for img on legal, 1px padding-bottom -- #name larger: 200px -- redo pattern: 830 height -- merge images phoenix hover and tooltip -- create nice illustration for querybuilder -- Legal: align content with header -- phoenix: include tooltips, hover-effects to illustrate affordances/microinteractions -- fix weird cell heights in project preview -- Replace Bootstrap with Grid CSS -- project: text-image under each other -- revisit sticky header paradigm -- 404 for not accessible content -- "Back"-Functionality and design at "Johannes Schweig" -- Orientation for the user, e.g. "Phoenix" centered in header? -- remove require from all entries/* -- scrolling up when visiting a different route -- port to react -> ported to vue - -- Rework favicon -- UseTree projects: name methods that I used, compared with methods of the other team -- phoenix: write UCD process like, name methods in all phases of the process, make up the rest (Design Research, User Research, Sketches, mockups, paper prototyping, 1st evaluation) -- phoenix: delete design critic of itunes -- Review newly written projects -- Include section: Artwork/Layout with posters I co-designed -- Rewrite alt tag for impaired users (description of the image) -- image margins bottom with 1 column layout are too low -> .entry-img 15px padding -- Allow thesis download (generate new version) -- create download icon for thesis -- Include image of condat evaluation -- build collage of projects as preview-img -- icon for artwork -- check images for resolution (800x600 max) - -# DROPPED -- PhoenixJS improvements: create PhoenixJS image, overlay screenshot, screenshot of the auto dj icons -> phoenixjs is about to be retired -- 404 not working due to github pages crap -- Thesis: Fix pdf download -- Padding left of name looks weird compared to content on page -> images are centered (!) -- Illustration for testimonials? Face of the client (too aggro),...? -- Bio Icon (Stylize my face? mb also favicon?) -- scenario manager project -- insert PhoenixJS image -> will be deprecated soon diff --git a/src/assets/bio/CV.pdf b/assets/pdf/CV.f512dad1.pdf similarity index 100% rename from src/assets/bio/CV.pdf rename to assets/pdf/CV.f512dad1.pdf diff --git a/src/assets/thesis/thesis.pdf b/assets/pdf/thesis.0901653d.pdf similarity index 100% rename from src/assets/thesis/thesis.pdf rename to assets/pdf/thesis.0901653d.pdf diff --git a/babel.config.js b/babel.config.js deleted file mode 100644 index e955840..0000000 --- a/babel.config.js +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = { - presets: [ - '@vue/cli-plugin-babel/preset' - ] -} diff --git a/css/app.e9ce6c99.css b/css/app.e9ce6c99.css new file mode 100644 index 0000000..1ee7e64 --- /dev/null +++ b/css/app.e9ce6c99.css @@ -0,0 +1 @@ +#header[data-v-5e2b32e6]{height:64px;width:100%;-webkit-box-shadow:var(--shadow);box-shadow:var(--shadow);background-color:#fff}#grid[data-v-5e2b32e6]{--pad:12px;display:grid;grid-template-columns:200px 1fr 100px 100px}#name[data-v-5e2b32e6]{grid-column:1/2;color:var(--dark);line-height:64px}#work[data-v-5e2b32e6]{grid-column:3/4}#about[data-v-5e2b32e6],#work[data-v-5e2b32e6]{color:var(--light);text-align:center;line-height:62px;background:-webkit-gradient(linear,left top,left bottom,color-stop(50%,#fff),color-stop(50%,var(--light-blue)));background:linear-gradient(180deg,#fff 50%,var(--light-blue) 0);background-size:100% 200%;background-position:0 0;-webkit-transition:all .15s ease;transition:all .15s ease}#about[data-v-5e2b32e6]:hover,#work[data-v-5e2b32e6]:hover{color:var(--blue);background-position:0 100%}#about.active[data-v-5e2b32e6],#work.active[data-v-5e2b32e6]{color:var(--blue);border-bottom:2px solid var(--blue)}.h6sans[data-v-5e2b32e6]{margin:0}a[data-v-e3651c6e]{display:inline-block;cursor:pointer;height:var(--size);color:var(--dark);-webkit-transition:all .2s ease;transition:all .2s ease}svg[data-v-e3651c6e]{display:inline-block;height:var(--size);width:var(--size);vertical-align:top}svg path[data-v-e3651c6e]{-webkit-transition:all .2s ease;transition:all .2s ease}.with-text[data-v-e3651c6e]{border-radius:var(--radius);padding:6px 12px}.with-text[data-v-e3651c6e]:hover{color:#fff;background-color:var(--blue)}.with-text svg[data-v-e3651c6e]{margin-right:8px}.with-text svg path[data-v-e3651c6e]{fill:var(--dark)}.with-text:hover svg path[data-v-e3651c6e]{fill:#fff}.text[data-v-e3651c6e]{display:inline-block;vertical-align:top;line-height:var(--size)}a:not(.with-text) svg path[data-v-e3651c6e]{fill:#fff;opacity:.8}a:not(.with-text):hover svg path[data-v-e3651c6e]{opacity:1}#contact[data-v-0e6a4de4]{background-color:var(--dark);font-family:var(--font-serif);padding-left:var(--content-padding);padding-right:var(--content-padding);height:220px;display:grid;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.container[data-v-0e6a4de4]{text-align:center;margin:0 auto}h3[data-v-0e6a4de4]{color:#fff;margin:0 0 18px 0}a[data-v-0e6a4de4]:nth-child(2){margin-right:40px}#legal[data-v-0e6a4de4]{text-align:center;line-height:32px;color:var(--light)}@media screen and (max-width:768px){#contact[data-v-0e6a4de4]{height:170px}h3[data-v-0e6a4de4]{font-size:var(--size-h4)}}@font-face{font-display:swap;font-family:Lato;font-style:normal;font-weight:300;src:url(../fonts/lato-v23-latin-300.716309aa.woff2) format("woff2"),url(../fonts/lato-v23-latin-300.bbaaef98.woff) format("woff")}@font-face{font-display:swap;font-family:Lato;font-style:normal;font-weight:400;src:url(../fonts/lato-v23-latin-regular.e1b3b590.woff2) format("woff2"),url(../fonts/lato-v23-latin-regular.0e898c13.woff) format("woff")}@font-face{font-display:swap;font-family:Lato;font-style:normal;font-weight:700;src:url(../fonts/lato-v23-latin-700.de69cf9e.woff2) format("woff2"),url(../fonts/lato-v23-latin-700.1833f9fa.woff) format("woff")}@font-face{font-display:swap;font-family:Lora;font-style:normal;font-weight:400;src:url(../fonts/lora-v32-latin-regular.03724bc4.woff2) format("woff2"),url(../fonts/lora-v32-latin-regular.d23ef47d.woff) format("woff")}@font-face{font-display:swap;font-family:Lora;font-style:normal;font-weight:700;src:url(../fonts/lora-v32-latin-700.1af9e198.woff2) format("woff2"),url(../fonts/lora-v32-latin-700.b64c9538.woff) format("woff")}:root{--font-sans:"Lato",sans-serif;--font-serif:"Lora",serif;--content-padding:30px;--dark:#212121;--light:#666;--blue:#355dae;--light-blue:#e6ecf2;--shadow:0 1px 3px rgba(0,0,0,0.12),0 1px 2px rgba(0,0,0,0.24);--grad:linear-gradient(180deg,var(--light-blue),#ebf2f2);--radius:2px;--size-h1:96px;--size-h2:60px;--size-h3:48px;--size-h4:34px;--size-h5:24px;--size-h6:20px;--size-sub1:16px;--size-sub2:14px}body{font-family:var(--font-sans);color:var(--dark);margin:0;background:var(--grad)}#app,body{height:100%}#app{display:grid;grid-template-rows:64px 1fr auto}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:400}h1{font-size:var(--size-h1);margin:112px 0 48px 0}h2{font-size:var(--size-h2);margin:72px 0 32px 0}h3{font-size:var(--size-h3);margin:60px 0 24px 0}h4{font-size:var(--size-h4);margin:40px 0 16px 0}.h5sans,h5{font-size:var(--size-h5);margin:32px 0 12px 0}.h6sans,h6{font-size:var(--size-h6);margin:24px 0 8px 0}.body1,.body2,.h5sans,.h6sans,.subtitle1,.subtitle2{font-family:var(--font-sans)}.subtitle1{font-size:var(--size-sub1)}.subtitle1,.subtitle2{text-transform:uppercase;color:var(--light)}.subtitle2{font-size:var(--size-sub2)}.body1{font-size:var(--size-sub1)}.body2{font-size:var(--size-sub2)}.body1 p{margin:0 0 24px 0;line-height:32px}.body2 p{margin:6px 0;line-height:24px}a{text-decoration:none;color:var(--dark)}ol,p,ul{max-width:700px}p{line-height:28px}ul{margin:0 0 24px 0}ol li,ul li{line-height:28px}.link{border-bottom:2px solid rgba(53,93,174,.5)}.link:hover{border-bottom:2px solid var(--blue)}.responsive{padding-left:var(--content-padding);padding-right:var(--content-padding);max-width:1200px;margin:0 auto}#about[data-v-71f764a6]{min-height:calc(100vh - 316px)}.responsive[data-v-71f764a6]{padding-top:48px;padding-bottom:48px;display:grid;grid-template-columns:4fr 48px 5fr}.responsive>img[data-v-71f764a6]{max-width:100%;grid-column:1/2}#text[data-v-71f764a6]{grid-column:3/4;padding-bottom:0}h4[data-v-71f764a6]{margin-top:0}#text[data-v-71f764a6]{padding-bottom:24px}.icons[data-v-71f764a6]{margin-top:20px}.icons>a[data-v-71f764a6]{margin-right:24px}@media screen and (max-width:768px) and (min-width:550px){.responsive>img[data-v-71f764a6]{max-width:70%;margin-left:auto;margin-right:auto;display:block}}@media screen and (max-width:768px){.responsive[data-v-71f764a6]{display:block}h4[data-v-71f764a6]{font-size:var(--size-h5);margin-top:32px}h5[data-v-71f764a6]{font-size:var(--size-h6)}h6[data-v-71f764a6]{font-size:var(--size-sub1);font-weight:700}}.responsive[data-v-664fedb4]{padding-top:64px;padding-bottom:32px}h2[data-v-664fedb4],h5[data-v-664fedb4]{margin:0}#name-container[data-v-664fedb4]{margin-bottom:32px}#heading-container[data-v-664fedb4]{display:grid;grid-template-rows:1fr 3fr;row-gap:4px;grid-auto-flow:column;max-width:700px;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}@media screen and (max-width:768px){#heading-container[data-v-664fedb4]{row-gap:0}h2[data-v-664fedb4]{font-size:var(--size-h3)}h5[data-v-664fedb4]{font-size:var(--size-h6)}.subtitle1[data-v-664fedb4]{font-size:var(--size-sub2)}}#container[data-v-21430c51]{display:block;padding-top:12px;margin-top:12px;margin-bottom:24px}.body2[data-v-21430c51]{padding-top:12px;padding-bottom:12px;text-align:center;color:var(--light)}.img-lg[data-v-21430c51],.img-md[data-v-21430c51],.img-sm[data-v-21430c51]{margin-left:auto;margin-right:auto;display:block}.img-lg[data-v-21430c51]{max-width:100%}@media screen and (max-width:768px){.img-md[data-v-21430c51],.img-sm[data-v-21430c51]{max-width:100%}}@media screen and (min-width:768px){.img-sm[data-v-21430c51]{max-width:50%}.img-md[data-v-21430c51]{max-width:70%}img.shadow[data-v-21430c51],video.shadow[data-v-21430c51]{-webkit-filter:drop-shadow(0 1px 3px #ccc);filter:drop-shadow(0 1px 3px #ccc)}}#projectArrows[data-v-0a2c1902]{margin-top:64px;margin-bottom:64px;display:-webkit-box;display:-ms-flexbox;display:flex}#projectArrows>a[data-v-0a2c1902]{font-size:var(--size-h6);color:var(--blue);border-radius:var(--radius);border:1px solid var(--blue);padding:6px 16px;background-size:200% 100%;-webkit-transition:all .15s ease;transition:all .15s ease}#projectArrows [data-v-0a2c1902]:first-child{margin-right:8px}#projectArrows>a[data-v-0a2c1902]:hover{color:#fff}svg path[data-v-0a2c1902]{fill:var(--blue);-webkit-transition:all .15s ease;transition:all .15s ease}.previous[data-v-0a2c1902]{background:-webkit-gradient(linear,left top,right top,color-stop(50%,transparent),color-stop(50%,var(--blue)));background:linear-gradient(90deg,transparent 50%,var(--blue) 0);background-position:0 0}.previous[data-v-0a2c1902]:hover{background-position:100% 0}.next[data-v-0a2c1902]{background:-webkit-gradient(linear,right top,left top,color-stop(50%,transparent),color-stop(50%,var(--blue)));background:linear-gradient(270deg,transparent 50%,var(--blue) 0);background-position:100% 0;float:right}.next>svg[data-v-0a2c1902]{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.next[data-v-0a2c1902]:hover{background-position:0 0}#projectArrows>a[data-v-0a2c1902]:active{background-color:var(--blue);color:#fff}a:hover svg path[data-v-0a2c1902]{fill:#fff}.flex-grow[data-v-0a2c1902]{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.tile[data-v-9ccefd46]{background-color:#fff;border-radius:var(--radius);-webkit-box-shadow:var(--shadow);box-shadow:var(--shadow);--anim-dur:.1s;-webkit-transition:var(--anim-dur) ease;-webkit-transition:all .3s cubic-bezier(.25,.8,.25,1);transition:all .3s cubic-bezier(.25,.8,.25,1)}.tile[data-v-9ccefd46]:hover{-webkit-transform:scale(1.03);transform:scale(1.03);-webkit-box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22);box-shadow:0 14px 28px rgba(0,0,0,.25),0 10px 10px rgba(0,0,0,.22)}.img-container[data-v-9ccefd46]{display:inline-block;position:relative;width:100%}.img-container[data-v-9ccefd46]:after{padding-top:62.5%;display:block;content:""}img[data-v-9ccefd46]{position:absolute;top:0;bottom:0;right:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:var(--radius) var(--radius) 0 0}.text[data-v-9ccefd46]{margin:24px 24px 48px 24px}.h5sans[data-v-9ccefd46]{margin-bottom:12px}.text>.body1[data-v-9ccefd46]{color:var(--blue);padding:4px 8px;border-radius:var(--radius);border:1px solid var(--blue);display:inline-block}@media screen and (max-width:768px){.h5sans[data-v-9ccefd46]{font-size:var(--size-h6)}.text>.body1[data-v-9ccefd46]{font-size:var(--size-sub2)}}h3[data-v-50d30512]{margin-top:48px;margin-bottom:72px}@media screen and (max-width:768px){h3[data-v-50d30512]{font-size:var(--size-h4);margin-top:32px;margin-bottom:50px}}#projects[data-v-2d51f0fc]{display:grid;grid-template-columns:1fr;gap:24px;margin-bottom:100px}@media screen and (min-width:768px){#projects[data-v-2d51f0fc]{grid-template-columns:repeat(2,1fr)}}#content[data-v-e3359912]{padding-bottom:24px}img[data-v-e3359912]{vertical-align:middle}#PageNotFound[data-v-af73ad34]{padding-top:50px}h2[data-v-6a36c1f6]{font-size:14px;font-weight:700;color:var(--light);margin:0 0 4px 0}p[data-v-6a36c1f6]{margin:0 0 24px 0}#download[data-v-6a36c1f6]{display:inline-block;margin-bottom:32px}#download>img[data-v-6a36c1f6]{vertical-align:middle} \ No newline at end of file diff --git a/cypress.json b/cypress.json deleted file mode 100644 index 18b4d5f..0000000 --- a/cypress.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "fileServerFolder": "tests/e2e/", - "fixturesFolder": "tests/e2e/fixtures", - "integrationFolder": "tests/e2e/integration", - "pluginsFile": "tests/e2e/plugins/index.js", - "supportFile": "tests/e2e/support/index.js" -} diff --git a/deploy.sh b/deploy.sh deleted file mode 100644 index 2c6e934..0000000 --- a/deploy.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env sh - -# abort on errors -set -e - -cd dist && cp index.html 404.html && cd .. - -git subtree push --prefix dist origin gh-pages diff --git a/empty.js b/empty.js deleted file mode 100644 index e69de29..0000000 diff --git a/public/favicon.png b/favicon.png similarity index 100% rename from public/favicon.png rename to favicon.png diff --git a/public/fonts/lato-v23-latin-300.woff2 b/fonts/lato-v23-latin-300.716309aa.woff2 similarity index 100% rename from public/fonts/lato-v23-latin-300.woff2 rename to fonts/lato-v23-latin-300.716309aa.woff2 diff --git a/public/fonts/lato-v23-latin-300.woff b/fonts/lato-v23-latin-300.bbaaef98.woff similarity index 100% rename from public/fonts/lato-v23-latin-300.woff rename to fonts/lato-v23-latin-300.bbaaef98.woff diff --git a/fonts/lato-v23-latin-300.woff b/fonts/lato-v23-latin-300.woff new file mode 100644 index 0000000000000000000000000000000000000000..773a0c7b5b9b5f64f0ce71cee86741a63e529c9b GIT binary patch literal 30016 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 literal 0 HcmV?d00001 diff --git a/public/fonts/lato-v23-latin-700.woff b/fonts/lato-v23-latin-700.1833f9fa.woff similarity index 100% rename from public/fonts/lato-v23-latin-700.woff rename to fonts/lato-v23-latin-700.1833f9fa.woff diff --git a/public/fonts/lato-v23-latin-700.woff2 b/fonts/lato-v23-latin-700.de69cf9e.woff2 similarity index 100% rename from public/fonts/lato-v23-latin-700.woff2 rename to fonts/lato-v23-latin-700.de69cf9e.woff2 diff --git a/fonts/lato-v23-latin-700.woff b/fonts/lato-v23-latin-700.woff new file mode 100644 index 0000000000000000000000000000000000000000..11ed3b020403109ffe3a624178427c5a60913d05 GIT binary patch literal 28044 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 literal 0 HcmV?d00001 diff --git a/fonts/lato-v23-latin-700.woff2 b/fonts/lato-v23-latin-700.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..11de83feaf0fb872c91fce89534fd4e2d8bbda28 GIT binary patch literal 23040 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 literal 0 HcmV?d00001 diff --git a/public/fonts/lato-v23-latin-regular.woff b/fonts/lato-v23-latin-regular.0e898c13.woff similarity index 100% rename from public/fonts/lato-v23-latin-regular.woff rename to fonts/lato-v23-latin-regular.0e898c13.woff diff --git a/public/fonts/lato-v23-latin-regular.woff2 b/fonts/lato-v23-latin-regular.e1b3b590.woff2 similarity index 100% rename from public/fonts/lato-v23-latin-regular.woff2 rename to fonts/lato-v23-latin-regular.e1b3b590.woff2 diff --git a/fonts/lato-v23-latin-regular.woff b/fonts/lato-v23-latin-regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..42f1997c35603a7682863ff6534181441f1d887d GIT binary patch literal 28648 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≺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 QOFh<%JiLFgmWQ+r07g396aWAK literal 0 HcmV?d00001 diff --git a/public/fonts/lora-v32-latin-700.woff2 b/fonts/lora-v32-latin-700.1af9e198.woff2 similarity index 100% rename from public/fonts/lora-v32-latin-700.woff2 rename to fonts/lora-v32-latin-700.1af9e198.woff2 diff --git a/public/fonts/lora-v32-latin-700.woff b/fonts/lora-v32-latin-700.b64c9538.woff similarity index 100% rename from public/fonts/lora-v32-latin-700.woff rename to fonts/lora-v32-latin-700.b64c9538.woff diff --git a/fonts/lora-v32-latin-700.woff b/fonts/lora-v32-latin-700.woff new file mode 100644 index 0000000000000000000000000000000000000000..5fe2c17b456c0c5613e189578111182a9082ab38 GIT binary patch literal 23860 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 literal 0 HcmV?d00001 diff --git a/fonts/lora-v32-latin-700.woff2 b/fonts/lora-v32-latin-700.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..98da2423f9ac7ea96076038febbe5b3e7685b18a GIT binary patch literal 19308 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 literal 0 HcmV?d00001 diff --git a/fonts/lora-v32-latin-regular.woff2 b/fonts/lora-v32-latin-regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..33d5992f7122e2200335999971ebd05ac94d69c5 GIT binary patch literal 19300 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

Fi}`1zB(QA>X|Y=4w^osFp(!pVV%dz$6J*alEvP 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 literal 0 HcmV?d00001 diff --git a/src/assets/thesis/adjustable-eyes.jpg b/img/adjustable-eyes.c99ce49e.jpg similarity index 100% rename from src/assets/thesis/adjustable-eyes.jpg rename to img/adjustable-eyes.c99ce49e.jpg diff --git a/src/assets/bio/bio-image.jpg b/img/bio-image.cf1651b2.jpg similarity index 100% rename from src/assets/bio/bio-image.jpg rename to img/bio-image.cf1651b2.jpg diff --git a/src/assets/scenariomanager/brainstorming-sideshot.jpg b/img/brainstorming-sideshot.56840d0c.jpg similarity index 100% rename from src/assets/scenariomanager/brainstorming-sideshot.jpg rename to img/brainstorming-sideshot.56840d0c.jpg diff --git a/src/assets/codesnippets/code-versus.png b/img/code-versus.04241d86.png similarity index 100% rename from src/assets/codesnippets/code-versus.png rename to img/code-versus.04241d86.png diff --git a/src/assets/esgehtlos/colors.png b/img/colors.67cab4bd.png similarity index 100% rename from src/assets/esgehtlos/colors.png rename to img/colors.67cab4bd.png diff --git a/src/assets/codesnippets/column_expressions.png b/img/column_expressions.4e3cf3b0.png similarity index 100% rename from src/assets/codesnippets/column_expressions.png rename to img/column_expressions.4e3cf3b0.png diff --git a/src/assets/knimehub/communities.png b/img/communities.4f837362.png similarity index 100% rename from src/assets/knimehub/communities.png rename to img/communities.4f837362.png diff --git a/src/assets/esgehtlos/components.png b/img/components.ffbc8992.png similarity index 100% rename from src/assets/esgehtlos/components.png rename to img/components.ffbc8992.png diff --git a/src/assets/querybuilder/concept.png b/img/concept.3933ace9.png similarity index 100% rename from src/assets/querybuilder/concept.png rename to img/concept.3933ace9.png diff --git a/src/assets/codesnippets/concept.png b/img/concept.dda3c4ff.png similarity index 100% rename from src/assets/codesnippets/concept.png rename to img/concept.dda3c4ff.png diff --git a/src/assets/thesis/data-coll.png b/img/data-coll.478ebcd0.png similarity index 100% rename from src/assets/thesis/data-coll.png rename to img/data-coll.478ebcd0.png diff --git a/src/assets/esgehtlos/demo.png b/img/demo.82967291.png similarity index 100% rename from src/assets/esgehtlos/demo.png rename to img/demo.82967291.png diff --git a/src/assets/thesis/eye.png b/img/eye.aac1fa3e.png similarity index 100% rename from src/assets/thesis/eye.png rename to img/eye.aac1fa3e.png diff --git a/src/assets/codesnippets/formulas04.jpg b/img/formulas04.507aefad.jpg similarity index 100% rename from src/assets/codesnippets/formulas04.jpg rename to img/formulas04.507aefad.jpg diff --git a/src/assets/thesis/foveated-rendering.png b/img/foveated-rendering.5897ea89.png similarity index 100% rename from src/assets/thesis/foveated-rendering.png rename to img/foveated-rendering.5897ea89.png diff --git a/src/assets/knimehub/front_page.jpg b/img/front_page.6b948d2c.jpg similarity index 100% rename from src/assets/knimehub/front_page.jpg rename to img/front_page.6b948d2c.jpg diff --git a/src/assets/thesis/gnb.png b/img/gnb.a0d7405b.png similarity index 100% rename from src/assets/thesis/gnb.png rename to img/gnb.a0d7405b.png diff --git a/src/assets/greenbox/greenbox_app2.png b/img/greenbox_app2.511cbbbe.png similarity index 100% rename from src/assets/greenbox/greenbox_app2.png rename to img/greenbox_app2.511cbbbe.png diff --git a/src/assets/greenbox/greenbox_app3.png b/img/greenbox_app3.eca497a4.png similarity index 100% rename from src/assets/greenbox/greenbox_app3.png rename to img/greenbox_app3.eca497a4.png diff --git a/src/assets/greenbox/greenbox_presentation.png b/img/greenbox_presentation.eea2892e.png similarity index 100% rename from src/assets/greenbox/greenbox_presentation.png rename to img/greenbox_presentation.eea2892e.png diff --git a/src/assets/greenbox/greenbox_v1.jpg b/img/greenbox_v1.f3127872.jpg similarity index 100% rename from src/assets/greenbox/greenbox_v1.jpg rename to img/greenbox_v1.f3127872.jpg diff --git a/src/assets/greenbox/greenbox_v2.jpg b/img/greenbox_v2.aefd06ed.jpg similarity index 100% rename from src/assets/greenbox/greenbox_v2.jpg rename to img/greenbox_v2.aefd06ed.jpg diff --git a/src/assets/scenariomanager/mass-ass-slide.jpg b/img/mass-ass-slide.06d61890.jpg similarity index 100% rename from src/assets/scenariomanager/mass-ass-slide.jpg rename to img/mass-ass-slide.06d61890.jpg diff --git a/src/assets/mechanics/mechanics.png b/img/mechanics.fd8bc77f.png similarity index 100% rename from src/assets/mechanics/mechanics.png rename to img/mechanics.fd8bc77f.png diff --git a/src/assets/mechanics/mechanics_app.png b/img/mechanics_app.95c69a34.png similarity index 100% rename from src/assets/mechanics/mechanics_app.png rename to img/mechanics_app.95c69a34.png diff --git a/src/assets/mechanics/mechanics_interview.png b/img/mechanics_interview.43f8fc96.png similarity index 100% rename from src/assets/mechanics/mechanics_interview.png rename to img/mechanics_interview.43f8fc96.png diff --git a/src/assets/phoenix/mockup_ps.jpg b/img/mockup_ps.ab6d3908.jpg similarity index 100% rename from src/assets/phoenix/mockup_ps.jpg rename to img/mockup_ps.ab6d3908.jpg diff --git a/src/assets/knimehub/node-issues.png b/img/node-issues.d5af57fb.png similarity index 100% rename from src/assets/knimehub/node-issues.png rename to img/node-issues.d5af57fb.png diff --git a/src/assets/phoenix/paper_prototype.jpg b/img/paper_prototype.6732246c.jpg similarity index 100% rename from src/assets/phoenix/paper_prototype.jpg rename to img/paper_prototype.6732246c.jpg diff --git a/src/assets/pattern.png b/img/pattern.db6777fa.png similarity index 100% rename from src/assets/pattern.png rename to img/pattern.db6777fa.png diff --git a/src/assets/phoenix/phoenix_mp.jpg b/img/phoenix_mp.a48fe521.jpg similarity index 100% rename from src/assets/phoenix/phoenix_mp.jpg rename to img/phoenix_mp.a48fe521.jpg diff --git a/src/assets/scenariomanager/project-plan.png b/img/project-plan.2d8ee402.png similarity index 100% rename from src/assets/scenariomanager/project-plan.png rename to img/project-plan.2d8ee402.png diff --git a/src/assets/querybuilder/querybuilder.png b/img/querybuilder.75ad2214.png similarity index 100% rename from src/assets/querybuilder/querybuilder.png rename to img/querybuilder.75ad2214.png diff --git a/src/assets/querybuilder/querybuilders.png b/img/querybuilders.51618a71.png similarity index 100% rename from src/assets/querybuilder/querybuilders.png rename to img/querybuilders.51618a71.png diff --git a/src/assets/knimehub/quotes.png b/img/quotes.a819a60b.png similarity index 100% rename from src/assets/knimehub/quotes.png rename to img/quotes.a819a60b.png diff --git a/src/assets/thesis/regX.png b/img/regX.94898e50.png similarity index 100% rename from src/assets/thesis/regX.png rename to img/regX.94898e50.png diff --git a/src/assets/querybuilder/row-filter.png b/img/row-filter.8c9b9b08.png similarity index 100% rename from src/assets/querybuilder/row-filter.png rename to img/row-filter.8c9b9b08.png diff --git a/src/assets/knimehub/screens-11-19.png b/img/screens-11-19.6b031aba.png similarity index 100% rename from src/assets/knimehub/screens-11-19.png rename to img/screens-11-19.6b031aba.png diff --git a/src/assets/phoenix/shuffle_tooltip.png b/img/shuffle_tooltip.fde1ca92.png similarity index 100% rename from src/assets/phoenix/shuffle_tooltip.png rename to img/shuffle_tooltip.fde1ca92.png diff --git a/src/assets/trafficticket/ticket1.jpeg b/img/ticket1.fd67465f.jpeg similarity index 100% rename from src/assets/trafficticket/ticket1.jpeg rename to img/ticket1.fd67465f.jpeg diff --git a/src/assets/mechanics/tools.png b/img/tools.09370b15.png similarity index 100% rename from src/assets/mechanics/tools.png rename to img/tools.09370b15.png diff --git a/src/assets/esgehtlos/typo.png b/img/typo.05501c41.png similarity index 100% rename from src/assets/esgehtlos/typo.png rename to img/typo.05501c41.png diff --git a/src/assets/scenariomanager/variants.jpg b/img/variants.08a77f33.jpg similarity index 100% rename from src/assets/scenariomanager/variants.jpg rename to img/variants.08a77f33.jpg diff --git a/src/assets/codesnippets/variations-codesnippets.png b/img/variations-codesnippets.9d59f21a.png similarity index 100% rename from src/assets/codesnippets/variations-codesnippets.png rename to img/variations-codesnippets.9d59f21a.png diff --git a/src/assets/querybuilder/variations.png b/img/variations.e936ca1f.png similarity index 100% rename from src/assets/querybuilder/variations.png rename to img/variations.e936ca1f.png diff --git a/src/assets/phoenix/wireframe_ps_js.png b/img/wireframe_ps_js.38ad42c0.png similarity index 100% rename from src/assets/phoenix/wireframe_ps_js.png rename to img/wireframe_ps_js.38ad42c0.png diff --git a/src/assets/knimehub/wireframes-refined.png b/img/wireframes-refined.5d42eb6b.png similarity index 100% rename from src/assets/knimehub/wireframes-refined.png rename to img/wireframes-refined.5d42eb6b.png diff --git a/src/assets/knimehub/wireframes-rough.png b/img/wireframes-rough.feedd735.png similarity index 100% rename from src/assets/knimehub/wireframes-rough.png rename to img/wireframes-rough.feedd735.png diff --git a/src/assets/mechanics/workflow.png b/img/workflow.dc822e88.png similarity index 100% rename from src/assets/mechanics/workflow.png rename to img/workflow.dc822e88.png diff --git a/index.html b/index.html new file mode 100644 index 0000000..f6e02e2 --- /dev/null +++ b/index.html @@ -0,0 +1 @@ +Johannes Schweig

\ No newline at end of file diff --git a/jest.config.js b/jest.config.js deleted file mode 100644 index 49e5146..0000000 --- a/jest.config.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - preset: '@vue/cli-plugin-unit-jest', - moduleNameMapper: { - '\\.(pdf|css)': '/empty.js' - } -} diff --git a/js/app.832866c3.js b/js/app.832866c3.js new file mode 100644 index 0000000..404263f --- /dev/null +++ b/js/app.832866c3.js @@ -0,0 +1,2 @@ +(function(e){function t(t){for(var a,s,o=t[0],c=t[1],l=t[2],h=0,u=[];h768?"48":"40"}},[n("LinkedInIcon")],1),n("Icon",{attrs:{href:"mailto:hello@johannesschweig.de",size:e.windowWidth>768?"48":"40"}},[n("MailIcon")],1)],1)]),n("div",{attrs:{id:"legal"}},[n("router-link",{staticClass:"link body1",attrs:{to:"/legal",id:"legal"}},[e._v(" Legal / Impressum ")])],1)])},v=[],w=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("a",{class:{"with-text":e.text},style:e.cssVars,attrs:{href:e.href}},[e._t("default"),e.text?n("div",{staticClass:"text"},[e._v(" "+e._s(e.text)+" ")]):e._e()],2)},b=[],y={props:{href:{type:String},size:{type:String,required:!0},text:{type:String}},computed:{cssVars:function(){return{"--size":this.size+"px"}}}},A=y,_=(n("3e3d"),Object(p["a"])(A,w,b,!1,null,"e3651c6e",null)),k=_.exports,x=n("d06e"),I=n.n(x),j=n("9d95"),z=n.n(j),E={components:{Icon:k,LinkedInIcon:I.a,MailIcon:z.a},data:function(){return{windowWidth:window.innerWidth}},mounted:function(){var e=this;this.$nextTick((function(){window.addEventListener("resize",e.onResize)}))},beforeDestroy:function(){window.removeEventListener("resize",this.onResize)},methods:{onResize:function(){this.windowWidth=window.innerWidth}}},T=E,S=(n("08ce"),Object(p["a"])(T,g,v,!1,null,"0e6a4de4",null)),C=S.exports,M={name:"App",components:{Footer:C,Header:m}},U=M,P=(n("034f"),Object(p["a"])(U,i,r,!1,null,null,null)),V=P.exports,L=n("8c4f"),O=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{attrs:{id:"about"}},[a("div",{staticClass:"responsive"},[a("img",{attrs:{src:n("5d76")}}),a("div",{staticClass:"body1",attrs:{id:"text"}},[a("h4",[e._v("About me")]),a("p",[e._v("I am a UX Designer with 6 years of experience in building digital products. I am always eager to learn new things and to educate my team on cool new methods I found. I love to code small projects (such as this website) in my free time and also enjoy to drill into data (e.g. google analytics) to gain user insights. Even though I have very broad interests, my passion belongs to tailoring digital products to user needs.")]),a("h5",[e._v("Things I believe in")]),a("h6",[e._v("💎 Rigorous prioritization")]),a("p",[e._v("There will always be more to do than you have time for. Prioritization makes sure that you will have the maximum impact for the limited resources you are provided.")]),a("h6",[e._v("⚙️ Incremental changes")]),a("p",[e._v("You can learn faster what works and what does not which is crucial in fast moving environments.")]),a("h6",[e._v("💬 Strong feedback cultures")]),a("p",[e._v("Everyone makes mistakes and to acknowledge them means to grow in your role and as a person.")]),e._m(0),a("p"),a("div",{staticClass:"icons"},[a("Icon",{attrs:{size:"32",text:"Resume",href:n("2a96")}},[a("CvIcon")],1),a("Icon",{attrs:{size:"32",text:"ux.stackexchange",href:"https://ux.stackexchange.com/users/110814/nash"}},[a("UxIcon")],1),a("Icon",{attrs:{size:"32",text:"GitHub",href:"https://github.com/johannesschweig"}},[a("GhIcon")],1)],1)])])])},D=[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("p",[e._v("Currently, I am working as a Senior IT Consultant for "),n("a",{staticClass:"link",attrs:{href:"https://www.maibornwolff.de/"}},[e._v("MaibornWolff")]),e._v(".")])}],F=n("27fe"),R=n.n(F),B=n("bd3a"),N=n.n(B),X=n("7e77"),W=n.n(X),q={components:{CvIcon:N.a,GhIcon:W.a,Icon:k,UxIcon:R.a}},K=q,G=(n("cb19"),Object(p["a"])(K,O,D,!1,null,"71f764a6",null)),H=G.exports,Q=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("project-header",{attrs:{route:"/codesnippets"}}),a("div",{staticClass:"responsive"},[a("h4",[e._v("TL;DR")]),a("p",[e._v('I designed an interface where users can input multiple "code snippets" to transform their data.')]),a("h4",[e._v("Problem")]),a("styled-image",{attrs:{src:n("9493"),alt:"Combine three nodes into one"}}),a("p",[e._v('A project I worked on for KNIME was to create an interface for a node (KNIME term for encapsulated functionality) where users can create small code snippets to manipulate data. For example, users might want to create a column with the mean of three other columns or cut the surname of a "name surname" formatted column. Previously, this was possible with a String Manipulation node for Strings, a Math Formula node for numerical data and a Rule Engine node for conditions. But what if you needed to alter Strings based on conditions? Then it gets complicated. The new node should make it easier for users to create more complex logic.')]),a("h4",[e._v("Research")]),a("styled-image",{attrs:{src:n("3c01"),alt:"Use of space in the String Manipulation interface"}}),a("p",[e._v("I analyzed the current UI and interaction of the already existing nodes and found out that they had several disadvantages:")]),e._m(0),a("h4",[e._v("Concept")]),a("styled-image",{attrs:{src:n("4c49"),alt:"Two concepts for the code editor: Columns, variables and functions in dropdowns (left) or in a tabbed interface (right)"}}),a("p",[e._v('I improved on these with a design that put the code textfield with a large amount of space in the center of attention. Adding columns, variables and functions was now one click away but this saved precious screen real estate. I also added a small "evaluate" functionality that would check your code on the first row of your data so you could iteratively improve your code snippet without having to run it on your entire data each time. On the top an overview of all the code snippets was presented and you could add more code snippets or alter existing ones. The UI for the code editor was designed to make it reusable in other nodes (e.g. filtering rows according to a code snippet with a boolean statement).')]),a("h4",[e._v("Evaluation")]),a("styled-image",{attrs:{src:n("258a"),alt:"Final UI concept"}}),e._m(1),a("p",[e._v('In the design, however, there is - as always - still room for improvement. The emancipated display of the upper "overview" and the lower "code editor" component does not make it entirely clear that a selection of a code snippet in the "overview" component would change the display in the "code editor" component. This drawback was however favored over a dialog-in-a-dialog design.')]),a("p",[e._v("Also, the design could guide new users better on how to start. They are presented with a blank textfield and a variety of UI components (much like opening a terminal for the first time). The functions which are the core of writing your snippet are hidden behind a dropdown. The aim of the design, however, was to create a good experience for experienced users who want to optimize their data manipulation workflows.")]),a("p",[e._v('On the whole, I am very content with the process and outcome of this project. I was involved from the research phase over the conceptual phase to the implementation and even helped with programming parts of the "code editor" component. Also, the feedback from the community shows that the hours you invest in research and ideation really pay off in the end.')]),a("styled-image",{attrs:{src:n("2bfe"),alt:"User interface as of KNIME Analytics Platform v3.7.1"}})],1),a("project-arrows",{attrs:{route:"/codesnippets"}})],1)},Z=[function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("ul",[n("li",[e._v("They were making poor use of space. UI components were getting a lot of space even though they were not as important as others (see image above).")]),n("li",[e._v('Checking if your piece of code was correct could only be done by running the node on all your available data. Depending on the amount of data this could take a while. When you realize then that the "+1" in your code should really have been a "-1" you have to change it and run it again. Seemed too tedious.')])])},function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("p",[e._v("The overall reception was positive. Forum users as well as colleagues gave very enthusiastic feedback on the new functionality. One user even wrote a blogpost about the node calling it "),n("a",{attrs:{href:"https://blog.statinfer.com/knime-multitasking-with-column-expressions-node/"}},[e._v('"The Swiss Army Knife"')]),e._v(".")])}],Y=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"responsive",attrs:{id:"project-header"}},[n("div",{attrs:{id:"name-container"}},[n("div",{staticClass:"subtitle1"},[e._v(e._s(e.project.name))]),n("h2",[e._v(e._s(e.project.slogan))])]),n("div",{attrs:{id:"heading-container"}},[n("div",{staticClass:"subtitle1"},[e._v(" Client ")]),n("h5",e._l(e.project.clients,(function(t){return n("div",{key:t},[e._v(" "+e._s(t)+" ")])})),0),n("div",{staticClass:"subtitle1"},[e._v(" Task ")]),n("h5",[e._v(e._s(e.project.task))]),n("div",{staticClass:"subtitle1"},[e._v(" Timeline ")]),n("h5",[e._v(e._s(e.project.date))])])])},J=[],$={data:function(){return{project:null}},props:{route:{type:String,required:!0}},created:function(){var e=this;this.project=c.filter((function(t){return t.route==e.$props.route}))[0]}},ee=$,te=(n("b2a6"),Object(p["a"])(ee,Y,J,!1,null,"664fedb4",null)),ne=te.exports,ae=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{attrs:{id:"container"}},[e.isVideo()?e._e():n("img",{class:["img-md",{shadow:e.shadow}],attrs:{src:e.src,alt:e.alt}}),e.isVideo()?n("video",{class:["img-md",{shadow:e.shadow}],attrs:{autoplay:"",muted:"",loop:""},domProps:{muted:!0}},[n("source",{attrs:{src:e.src,type:"video/mp4"}}),e._v(" Your browser does not support the video tag. ")]):e._e(),n("div",{staticClass:"body2"},[e._v(e._s(e.alt))])])},ie=[],re=(n("8a79"),{props:{src:{type:String,required:!0},alt:{type:String},shadow:{type:Boolean,default:!0}},methods:{isVideo:function(){return!!this.$props.src.endsWith(".mp4")}}}),se=re,oe=(n("b08d"),Object(p["a"])(se,ae,ie,!1,null,"21430c51",null)),ce=oe.exports,le=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"responsive",attrs:{id:"projectArrows"}},[n("router-link",{staticClass:"previous",attrs:{to:e.previousProject.route}},[n("Arrow"),n("span",[e._v("Previous project: "+e._s(e.previousProject.name))])],1),n("div",{staticClass:"flex-grow"}),n("router-link",{staticClass:"next",attrs:{to:e.nextProject.route}},[n("span",[e._v("Next project: "+e._s(e.nextProject.name))]),n("Arrow")],1)],1)},de=[];n("fb6a");function he(e,t){return(e%t+t)%t}function ue(e){for(var t=l.length,n=0;n"}).$mount("#app")},"5c1c":function(e,t,n){e.exports=n.p+"img/paper_prototype.6732246c.jpg"},"5d76":function(e,t,n){e.exports=n.p+"img/bio-image.cf1651b2.jpg"},"5e1c":function(e,t,n){},6164:function(e,t,n){e.exports=n.p+"img/adjustable-eyes.c99ce49e.jpg"},6269:function(e,t,n){e.exports=n.p+"img/greenbox_app2.511cbbbe.png"},"656c":function(e,t,n){e.exports=n.p+"img/wireframe_ps_js.38ad42c0.png"},"681b":function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKUAAAAPCAMAAACycv9gAAAAMFBMVEVMaXEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEKlNcAAAAAD3RSTlMAu90id0SZZswRqjOIVe4eYAFsAAAB70lEQVR42u2U2ZKtIAxFmUQGlf//295JkOBwXk513ZfblEVUMiySgPkbvzl8bK0d24fVrfnX/zVcPl3jsYxlZ0ms+G/9JEmpmCjagaLz2z36Ak/JXX4kmAf3CvN5Idjnv+iG06NZEgDxzp4Se56sVt6/xxJew5OyzBFc+qoC8UbJAdcRJFqm3Jh9SFPiFJjfPQOm9KScx952NUtI/ZKoOLS9RlkOjUw4hqeVLDOm5rqFplKjGGtH7YPKFC6pVEpoh6MdK74hd4SEhwEBCq+9tZBVNBktsZJ0dqYsoNj6DB9icU3lGIMSW5okt2U+UzkoA/ysMEck36jFBmUx/oikUMkntbIrfFoyJxhbpcWslHggZT4py2tXyrqeI5V1fMN/pxRyKXramFopPXnSihNl5FiSFlbANFHmeECL55My3lL5pOSt3mRP5cglFa/fEhFuHpR8epTynsttzmXvYpnvlKzwoCxW6E4pd9shqVRK7rsidflAWaU9O6X2JbTrEWnnuW2okzNhAd8iM7XnDgtyWLt3ubiyUooTV4asMeOSCrK/Wy53chDqGyXrFUm1WPIZT3TG+SxzfeigFUeHEC55hhpWYSEkmsrIzFI+y5bY9ZAV/U+QEn70JV8q7Lj4V8pPgxW+GDmZfzm+o6Su+G/HD6HrGBNr5t/wAAAAAElFTkSuQmCC"},"6a46":function(e,t,n){},"6b9d":function(e,t,n){e.exports=n.p+"img/formulas04.507aefad.jpg"},"6bb0":function(e,t,n){"use strict";n("6a46")},"6e9c":function(e,t,n){},7038:function(e,t,n){"use strict";n("7b7e")},"729c":function(e,t,n){e.exports=n.p+"assets/pdf/thesis.0901653d.pdf"},"764f":function(e,t,n){e.exports=n.p+"img/shuffle_tooltip.fde1ca92.png"},"79bb":function(e,t,n){e.exports=n.p+"img/variations.e936ca1f.png"},"7b7e":function(e,t,n){},"7dfd":function(e,t,n){e.exports=n.p+"img/gnb.a0d7405b.png"},"7e77":function(e,t,n){var a=n("ded3").default,i=n("4082").default,r=["class","staticClass","style","staticStyle","attrs"];n("99af"),e.exports={functional:!0,render:function(e,t){var n=t._c,s=(t._v,t.data),o=t.children,c=void 0===o?[]:o,l=s.class,d=s.staticClass,h=s.style,u=s.staticStyle,p=s.attrs,f=void 0===p?{}:p,m=i(s,r);return n("svg",a({class:[l,d],style:[h,u],attrs:Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48"},f)},m),c.concat([n("defs"),n("g",{attrs:{id:"Layer_2","data-name":"Layer 2"}},[n("g",{attrs:{id:"github_hover"}},[n("path",{attrs:{d:"M24 .59a24 24 0 00-7.59 46.78c1.2.22 1.64-.52 1.64-1.16v-4.47c-6.68 1.46-8.09-2.83-8.09-2.83-1.12-2.77-2.69-3.51-2.69-3.51-2.18-1.49.16-1.46.16-1.46a5 5 0 013.68 2.47c2.14 3.67 5.62 2.61 7 2a5.07 5.07 0 011.52-3.21C14.3 34.59 8.7 32.54 8.7 23.34a9.26 9.26 0 012.47-6.44 8.63 8.63 0 01.23-6.35s2-.65 6.6 2.46a22.7 22.7 0 0112 0c4.58-3.11 6.6-2.46 6.6-2.46a8.63 8.63 0 01.23 6.35 9.26 9.26 0 012.47 6.44c0 9.22-5.61 11.25-11 11.84a5.76 5.76 0 011.7 4.45v6.58c0 .79.43 1.39 1.65 1.15A24 24 0 0024 .59z","fill-rule":"evenodd"}}),n("path",{staticClass:"cls-3",attrs:{d:"M9.09 35.05c-.05.12-.24.16-.41.07a.3.3 0 01-.22-.36c0-.12.24-.15.42-.07s.27.24.21.36zM10.06 36.14c-.11.1-.34 0-.49-.12a.36.36 0 01-.07-.49.36.36 0 01.49.11c.16.17.19.39.07.5zM11 37.52c-.15.1-.39 0-.54-.21s-.14-.47 0-.57.38 0 .53.2.15.47 0 .58zM12.3 38.85c-.13.15-.41.11-.61-.09s-.27-.47-.14-.61a.45.45 0 01.62.09c.21.19.27.47.13.61zM14.09 39.63c-.05.19-.32.27-.6.19s-.45-.3-.39-.49a.46.46 0 01.6-.19c.27.08.45.3.39.49zM16.06 39.77c0 .2-.23.36-.51.37S15 40 15 39.79s.22-.36.51-.37.52.16.52.35zM17.89 39.46c0 .19-.17.39-.45.45s-.54-.07-.57-.26.16-.4.44-.45.54.06.58.26z"}})])])]))}}},8170:function(e,t,n){},"840e":function(e,t,n){e.exports=n.p+"img/mechanics.fd8bc77f.png"},"85ec":function(e,t,n){},9149:function(e,t,n){"use strict";n("c496")},9493:function(e,t){e.exports="data:image/png;base64,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"},"9be9":function(e,t,n){e.exports=n.p+"media/coverflow.e57db30e.mp4"},"9d89":function(e,t,n){e.exports=n.p+"img/workflow.dc822e88.png"},"9d95":function(e,t,n){var a=n("ded3").default,i=n("4082").default,r=["class","staticClass","style","staticStyle","attrs"];n("99af"),e.exports={functional:!0,render:function(e,t){var n=t._c,s=(t._v,t.data),o=t.children,c=void 0===o?[]:o,l=s.class,d=s.staticClass,h=s.style,u=s.staticStyle,p=s.attrs,f=void 0===p?{}:p,m=i(s,r);return n("svg",a({class:[l,d],style:[h,u],attrs:Object.assign({viewBox:"0 0 48 48",fill:"none",xmlns:"http://www.w3.org/2000/svg"},f)},m),c.concat([n("path",{attrs:{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M2 8a2 2 0 00-2 2v28a2 2 0 002 2h44a2 2 0 002-2V10a2 2 0 00-2-2H2zm2.454 7.895a1 1 0 011.401-.191l11.81 8.977.03.023 5.55 4.22a1.244 1.244 0 00.755.253c.273 0 .538-.089.755-.253l5.55-4.22a.495.495 0 01.014-.01l.017-.013 11.809-8.977a1 1 0 111.21 1.592L32.563 25.5l10.792 8.204a1 1 0 11-1.21 1.592l-11.234-8.54-4.946 3.76a3.25 3.25 0 01-3.93 0l-4.946-3.76-11.234 8.54a1 1 0 01-1.21-1.592L15.437 25.5 4.645 17.296a1 1 0 01-.191-1.401z",fill:"#fff"}})]))}}},"9f04":function(e,t,n){e.exports=n.p+"img/typo.05501c41.png"},a818:function(e,t,n){e.exports=n.p+"img/greenbox_v1.f3127872.jpg"},a81f:function(e,t,n){e.exports=n.p+"img/mechanics_app.95c69a34.png"},aa91:function(e,t,n){e.exports=n.p+"img/phoenix_mp.a48fe521.jpg"},ae40c:function(e,t,n){e.exports=n.p+"img/mass-ass-slide.06d61890.jpg"},ae6e:function(e,t,n){},b08d:function(e,t,n){"use strict";n("fa7e")},b211:function(e,t,n){e.exports=n.p+"img/variants.08a77f33.jpg"},b2a6:function(e,t,n){"use strict";n("8170")},b53d:function(e,t,n){e.exports=n.p+"img/mechanics_interview.43f8fc96.png"},b94f:function(e,t,n){var a=n("ded3").default,i=n("4082").default,r=["class","staticClass","style","staticStyle","attrs"];n("99af"),e.exports={functional:!0,render:function(e,t){var n=t._c,s=(t._v,t.data),o=t.children,c=void 0===o?[]:o,l=s.class,d=s.staticClass,h=s.style,u=s.staticStyle,p=s.attrs,f=void 0===p?{}:p,m=i(s,r);return n("svg",a({class:[l,d],style:[h,u],attrs:Object.assign({width:"16",height:"16",fill:"none",xmlns:"http://www.w3.org/2000/svg"},f)},m),c.concat([n("path",{attrs:{d:"M1 8l-.354-.354a.5.5 0 000 .708L1 8zm14 .5a.5.5 0 000-1v1zM5.854 3.854a.5.5 0 10-.708-.708l.708.708zm-.708 9a.5.5 0 00.708-.708l-.708.708zM1 8.5h14v-1H1v1zm.354-.146l4.5-4.5-.708-.708-4.5 4.5.708.708zm-.708 0l4.5 4.5.708-.708-4.5-4.5-.708.708z",fill:"#000"}})]))}}},b98a:function(e,t,n){e.exports=n.p+"img/regX.94898e50.png"},babb:function(e,t,n){e.exports=n.p+"img/concept.3933ace9.png"},bd3a:function(e,t,n){var a=n("ded3").default,i=n("4082").default,r=["class","staticClass","style","staticStyle","attrs"];n("99af"),e.exports={functional:!0,render:function(e,t){var n=t._c,s=(t._v,t.data),o=t.children,c=void 0===o?[]:o,l=s.class,d=s.staticClass,h=s.style,u=s.staticStyle,p=s.attrs,f=void 0===p?{}:p,m=i(s,r);return n("svg",a({class:[l,d],style:[h,u],attrs:Object.assign({width:"32",height:"32",fill:"none",xmlns:"http://www.w3.org/2000/svg"},f)},m),c.concat([n("path",{attrs:{d:"M26.666 1.333A1.333 1.333 0 0128 2.667v26.666a1.333 1.333 0 01-1.334 1.334H5.334A1.333 1.333 0 014 29.333V2.667a1.333 1.333 0 011.333-1.334h21.334zm0-1.333H5.334a2.667 2.667 0 00-2.667 2.667v26.666A2.667 2.667 0 005.333 32h21.334a2.667 2.667 0 002.666-2.667V2.667A2.667 2.667 0 0026.667 0z",fill:"#000"}}),n("path",{attrs:{d:"M15.666 6.667a2 2 0 100-4 2 2 0 000 4zM15.667 7A4.667 4.667 0 0011 11.667h9.333A4.667 4.667 0 0015.667 7zM26.333 15.5H5v1.333h21.333V15.5zM26.333 20.587H5v1.333h21.333v-1.333zM26.333 25.667H5V27h21.333v-1.333z",fill:"#000"}})]))}}},c254:function(e,t,n){e.exports=n.p+"img/querybuilder.75ad2214.png"},c496:function(e,t,n){},cb19:function(e,t,n){"use strict";n("4025")},ceff:function(e,t,n){e.exports=n.p+"img/quotes.a819a60b.png"},cf19:function(e,t,n){e.exports=n.p+"img/data-coll.478ebcd0.png"},d06e:function(e,t,n){var a=n("ded3").default,i=n("4082").default,r=["class","staticClass","style","staticStyle","attrs"];n("99af"),e.exports={functional:!0,render:function(e,t){var n=t._c,s=(t._v,t.data),o=t.children,c=void 0===o?[]:o,l=s.class,d=s.staticClass,h=s.style,u=s.staticStyle,p=s.attrs,f=void 0===p?{}:p,m=i(s,r);return n("svg",a({class:[l,d],style:[h,u],attrs:Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48"},f)},m),c.concat([n("path",{attrs:{d:"M40.9 40.9h-7.11V29.76c0-2.65 0-6.07-3.7-6.07s-4.28 2.89-4.28 5.88V40.9H18.7V18h6.83v3.13h.1a7.46 7.46 0 016.73-3.7c7.21 0 8.54 4.74 8.54 10.91V40.9zm-30.22-26a4.13 4.13 0 114.12-4.12 4.13 4.13 0 01-4.12 4.12zm3.56 26H7.12V18h7.12v22.9zM44.45 0H3.54A3.5 3.5 0 000 3.46v41.08A3.5 3.5 0 003.54 48h40.91A3.51 3.51 0 0048 44.54V3.46A3.51 3.51 0 0044.45 0z",fill:"#fff","data-name":"Layer 2"}})]))}}},d375:function(e,t,n){e.exports=n.p+"img/greenbox_app3.eca497a4.png"},d612:function(e,t,n){e.exports=n.p+"img/ticket1.fd67465f.jpeg"},d817:function(e,t,n){},dbc0:function(e,t,n){e.exports=n.p+"img/greenbox_v2.aefd06ed.jpg"},e0cc:function(e,t,n){e.exports=n.p+"img/querybuilders.51618a71.png"},e3b3:function(e,t,n){e.exports=n.p+"img/pattern.db6777fa.png"},e45a:function(e,t,n){},e69e:function(e,t,n){e.exports=n.p+"img/greenbox_presentation.eea2892e.png"},e999:function(e,t,n){e.exports=n.p+"img/demo.82967291.png"},ea1b:function(e,t,n){e.exports=n.p+"img/foveated-rendering.5897ea89.png"},ecd4:function(e,t,n){"use strict";n("f825")},eec2:function(e,t,n){e.exports=n.p+"img/communities.4f837362.png"},ef01:function(e,t,n){e.exports=n.p+"img/brainstorming-sideshot.56840d0c.jpg"},f386:function(e,t,n){e.exports=n.p+"img/project-plan.2d8ee402.png"},f825:function(e,t,n){},fa7e:function(e,t,n){},faf6:function(e,t,n){e.exports=n.p+"img/node-issues.d5af57fb.png"}}); +//# sourceMappingURL=app.832866c3.js.map \ No newline at end of file diff --git a/js/app.832866c3.js.map b/js/app.832866c3.js.map new file mode 100644 index 0000000..d4e98bf --- /dev/null +++ b/js/app.832866c3.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/App.vue?4a62","webpack:///./src/assets/thesis/download.png","webpack:///./src/assets/knimehub/wireframes-rough.png","webpack:///./src/components/elements/Footer.vue?bb12","webpack:///./src/assets/esgehtlos/colors.png","webpack:///./src/components/elements/ProjectArrows.vue?aff0","webpack:///./src/assets/querybuilder/sql.png","webpack:///./src/assets/knimehub/screens-11-19.png","webpack:///./src/assets sync ^\\.\\/.*$","webpack:///./src/assets/mechanics/tools.png","webpack:///./src/assets/knimehub/front_page.jpg","webpack:///./src/assets/thesis/eye.png","webpack:///./src/assets/codesnippets/concept.png","webpack:///./src/assets/bio/ux.svg","webpack:///./src/assets/esgehtlos/components.png","webpack:///./src/assets/bio/CV.pdf","webpack:///./src/assets/codesnippets/column_expressions.png","webpack:///./src/components/projects/Thesis.vue?b535","webpack:///./src/components/content/WelcomeBanner.vue?5126","webpack:///./src/assets/knimehub/wireframes-refined.png","webpack:///./src/assets/phone.png","webpack:///./src/assets/codesnippets/code-versus.png","webpack:///./src/components/elements/Icon.vue?f4f9","webpack:///./src/assets/querybuilder/row-filter.png","webpack:///./src/assets/scenariomanager/snip-gif.mp4","webpack:///./src/components/content/LandingPage.vue?0262","webpack:///./src/assets/codesnippets/variations-codesnippets.png","webpack:///./src/assets/phoenix/mockup_ps.jpg","webpack:///./src/App.vue?a063","webpack:///./src/components/elements/Header.vue?fea9","webpack:///./src/utils/projects.js","webpack:///src/components/elements/Header.vue","webpack:///./src/components/elements/Header.vue?b9e1","webpack:///./src/components/elements/Header.vue?d60c","webpack:///./src/components/elements/Footer.vue?5cd9","webpack:///./src/components/elements/Icon.vue?b331","webpack:///src/components/elements/Icon.vue","webpack:///./src/components/elements/Icon.vue?297d","webpack:///./src/components/elements/Icon.vue?f920","webpack:///src/components/elements/Footer.vue","webpack:///./src/components/elements/Footer.vue?52f4","webpack:///./src/components/elements/Footer.vue?4fb4","webpack:///src/App.vue","webpack:///./src/App.vue?60d0","webpack:///./src/App.vue","webpack:///./src/components/content/About.vue?7d09","webpack:///src/components/content/About.vue","webpack:///./src/components/content/About.vue?0952","webpack:///./src/components/content/About.vue?d47f","webpack:///./src/components/projects/CodeSnippets.vue?2e66","webpack:///./src/components/elements/ProjectHeader.vue?63e6","webpack:///src/components/elements/ProjectHeader.vue","webpack:///./src/components/elements/ProjectHeader.vue?dfc8","webpack:///./src/components/elements/ProjectHeader.vue?88f1","webpack:///./src/components/elements/StyledImage.vue?af8c","webpack:///src/components/elements/StyledImage.vue","webpack:///./src/components/elements/StyledImage.vue?588b","webpack:///./src/components/elements/StyledImage.vue?44d1","webpack:///./src/components/elements/ProjectArrows.vue?e2c1","webpack:///./src/utils/index.js","webpack:///src/components/elements/ProjectArrows.vue","webpack:///./src/components/elements/ProjectArrows.vue?8020","webpack:///./src/components/elements/ProjectArrows.vue?408f","webpack:///src/components/projects/CodeSnippets.vue","webpack:///./src/components/projects/CodeSnippets.vue?4ebb","webpack:///./src/components/projects/CodeSnippets.vue","webpack:///./src/components/projects/EsGehtLos.vue?ca61","webpack:///src/components/projects/EsGehtLos.vue","webpack:///./src/components/projects/EsGehtLos.vue?52e3","webpack:///./src/components/projects/EsGehtLos.vue","webpack:///./src/components/projects/Greenbox.vue?a7d1","webpack:///src/components/projects/Greenbox.vue","webpack:///./src/components/projects/Greenbox.vue?2a72","webpack:///./src/components/projects/Greenbox.vue","webpack:///./src/components/projects/KnimeHub.vue?8a2f","webpack:///src/components/projects/KnimeHub.vue","webpack:///./src/components/projects/KnimeHub.vue?c816","webpack:///./src/components/projects/KnimeHub.vue","webpack:///./src/components/content/LandingPage.vue?13c3","webpack:///./src/components/elements/ProjectPreview.vue?0a8d","webpack:///src/components/elements/ProjectPreview.vue","webpack:///./src/components/elements/ProjectPreview.vue?1300","webpack:///./src/components/elements/ProjectPreview.vue?2620","webpack:///./src/components/content/WelcomeBanner.vue?35ca","webpack:///./src/components/content/WelcomeBanner.vue?ce57","webpack:///src/components/content/LandingPage.vue","webpack:///./src/components/content/LandingPage.vue?500f","webpack:///./src/components/content/LandingPage.vue?e7ff","webpack:///./src/components/content/Legal.vue?aecf","webpack:///src/components/content/Legal.vue","webpack:///./src/components/content/Legal.vue?2f0f","webpack:///./src/components/content/Legal.vue?fbf6","webpack:///./src/components/projects/Mechanics.vue?5f70","webpack:///src/components/projects/Mechanics.vue","webpack:///./src/components/projects/Mechanics.vue?a94e","webpack:///./src/components/projects/Mechanics.vue","webpack:///./src/components/content/PageNotFound.vue?d3b5","webpack:///./src/components/content/PageNotFound.vue?d8e4","webpack:///./src/components/projects/Phoenix.vue?409a","webpack:///src/components/projects/Phoenix.vue","webpack:///./src/components/projects/Phoenix.vue?bdc3","webpack:///./src/components/projects/Phoenix.vue","webpack:///./src/components/projects/QueryBuilder.vue?3958","webpack:///src/components/projects/QueryBuilder.vue","webpack:///./src/components/projects/QueryBuilder.vue?3d52","webpack:///./src/components/projects/QueryBuilder.vue","webpack:///./src/components/projects/ScenarioManager.vue?7f68","webpack:///src/components/projects/ScenarioManager.vue","webpack:///./src/components/projects/ScenarioManager.vue?7cde","webpack:///./src/components/projects/ScenarioManager.vue","webpack:///./src/components/projects/Thesis.vue?cb88","webpack:///src/components/projects/Thesis.vue","webpack:///./src/components/projects/Thesis.vue?2a41","webpack:///./src/components/projects/Thesis.vue?aa52","webpack:///./src/components/projects/TrafficTicket.vue?7c8f","webpack:///src/components/projects/TrafficTicket.vue","webpack:///./src/components/projects/TrafficTicket.vue?dbd9","webpack:///./src/components/projects/TrafficTicket.vue","webpack:///./src/router/index.js","webpack:///./src/main.js","webpack:///./src/assets/phoenix/paper_prototype.jpg","webpack:///./src/assets/bio/bio-image.jpg","webpack:///./src/assets/thesis/adjustable-eyes.jpg","webpack:///./src/assets/greenbox/greenbox_app2.png","webpack:///./src/assets/phoenix/wireframe_ps_js.png","webpack:///./src/assets/address.png","webpack:///./src/assets/codesnippets/formulas04.jpg","webpack:///./src/components/content/Legal.vue?7c86","webpack:///./src/components/elements/Header.vue?2ac5","webpack:///./src/assets/thesis/thesis.pdf","webpack:///./src/assets/phoenix/shuffle_tooltip.png","webpack:///./src/assets/querybuilder/variations.png","webpack:///./src/assets/thesis/gnb.png","webpack:///./src/assets/bio/github.svg","webpack:///./src/assets/mechanics/mechanics.png","webpack:///./src/components/elements/ProjectPreview.vue?5301","webpack:///./src/assets/codesnippets/3vs1.png","webpack:///./src/assets/phoenix/coverflow.mp4","webpack:///./src/assets/mechanics/workflow.png","webpack:///./src/assets/bio/mail.svg","webpack:///./src/assets/esgehtlos/typo.png","webpack:///./src/assets/greenbox/greenbox_v1.jpg","webpack:///./src/assets/mechanics/mechanics_app.png","webpack:///./src/assets/phoenix/phoenix_mp.jpg","webpack:///./src/assets/scenariomanager/mass-ass-slide.jpg","webpack:///./src/components/elements/StyledImage.vue?a60f","webpack:///./src/assets/scenariomanager/variants.jpg","webpack:///./src/components/elements/ProjectHeader.vue?9dc3","webpack:///./src/assets/mechanics/mechanics_interview.png","webpack:///./src/assets/arrow.svg","webpack:///./src/assets/thesis/regX.png","webpack:///./src/assets/querybuilder/concept.png","webpack:///./src/assets/bio/cv.svg","webpack:///./src/assets/querybuilder/querybuilder.png","webpack:///./src/components/content/About.vue?8d5d","webpack:///./src/assets/knimehub/quotes.png","webpack:///./src/assets/thesis/data-coll.png","webpack:///./src/assets/bio/linkedin.svg","webpack:///./src/assets/greenbox/greenbox_app3.png","webpack:///./src/assets/trafficticket/ticket1.jpeg","webpack:///./src/assets/greenbox/greenbox_v2.jpg","webpack:///./src/assets/querybuilder/querybuilders.png","webpack:///./src/assets/pattern.png","webpack:///./src/assets/greenbox/greenbox_presentation.png","webpack:///./src/assets/esgehtlos/demo.png","webpack:///./src/assets/thesis/foveated-rendering.png","webpack:///./src/components/content/PageNotFound.vue?9c7f","webpack:///./src/assets/knimehub/communities.png","webpack:///./src/assets/scenariomanager/brainstorming-sideshot.jpg","webpack:///./src/assets/scenariomanager/project-plan.png","webpack:///./src/assets/knimehub/node-issues.png"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","map","webpackContext","req","id","webpackContextResolve","e","Error","code","keys","resolve","functional","render","_h","_vm","_c","_v","children","classNames","class","staticClass","style","staticStyle","attrs","rest","assign","concat","this","$createElement","_self","staticRenderFns","projectRoutes","indexOf","$route","path","projData","route","image","src","alt","slogan","clients","task","date","active","activeRoutes","filter","component","windowWidth","text","href","_t","_s","_e","components","Icon","LinkedInIcon","MailIcon","innerWidth","mounted","beforeDestroy","methods","_m","CvIcon","GhIcon","UxIcon","project","_l","props","type","String","required","created","isVideo","shadow","domProps","Boolean","default","previousProject","nextProject","getMod","getPreviousNextProjects","found","previous","next","Arrow","previousNext","projProps","buildImgUrl","script","ProjectPreview","WelcomeBanner","title","author","platform","licenseLink","licenseName","sourceLink","Vue","use","Router","routes","LandingPage","About","CodeSnippets","EsGehtLos","Greenbox","KnimeHub","Legal","Mechanics","Phoenix","QueryBuilder","ScenarioManager","Thesis","TrafficTicket","PageNotFound","scrollBehavior","x","y","config","productionTip","h","App","el","router","template","$mount"],"mappings":"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","file":"js/app.832866c3.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=css&\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAcCAYAAAAAwr0iAAAACXBIWXMAAAsSAAALEgHS3X78AAAAzUlEQVRIx+2WwQ2DMBAE11EKoBNTgjsgHUAHtEAHtEAJ7sQpIR04HWw+EBARto88+NxIlpDl2xs/kM+QhARjTLKApJHk3XAxKqACKqACKqACKnDPvP0PALVwXhh2W57kMzVAJBeACQBPriGbnzswS3TCxm8AXVF2yaFZws3BueYvAHVx7m4jSQiB1trD5tZaxhhZwPZia0AJMUY2TfPTvG1blrKrlQks9H3/rRvHUVS77WkWi+WPkOC9R1VVcM5JR/v1+x+BsxwK6FtwBR9eNgQha8B33AAAAABJRU5ErkJggg==\"","module.exports = __webpack_public_path__ + \"img/wireframes-rough.feedd735.png\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=style&index=0&id=0e6a4de4&scoped=true&lang=css&\"","module.exports = __webpack_public_path__ + \"img/colors.67cab4bd.png\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectArrows.vue?vue&type=style&index=0&id=0a2c1902&scoped=true&lang=css&\"","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"img/screens-11-19.6b031aba.png\";","var map = {\n\t\"./address.png\": \"681b\",\n\t\"./arrow.svg\": \"b94f\",\n\t\"./bio/CV.pdf\": \"2a96\",\n\t\"./bio/bio-image.jpg\": \"5d76\",\n\t\"./bio/cv.svg\": \"bd3a\",\n\t\"./bio/github.svg\": \"7e77\",\n\t\"./bio/linkedin.svg\": \"d06e\",\n\t\"./bio/mail.svg\": \"9d95\",\n\t\"./bio/ux.svg\": \"27fe\",\n\t\"./codesnippets/3vs1.png\": \"9493\",\n\t\"./codesnippets/code-versus.png\": \"3c01\",\n\t\"./codesnippets/column_expressions.png\": \"2bfe\",\n\t\"./codesnippets/concept.png\": \"258a\",\n\t\"./codesnippets/formulas04.jpg\": \"6b9d\",\n\t\"./codesnippets/variations-codesnippets.png\": \"4c49\",\n\t\"./esgehtlos/colors.png\": \"0c1d\",\n\t\"./esgehtlos/components.png\": \"28e5\",\n\t\"./esgehtlos/demo.png\": \"e999\",\n\t\"./esgehtlos/typo.png\": \"9f04\",\n\t\"./greenbox/greenbox_app2.png\": \"6269\",\n\t\"./greenbox/greenbox_app3.png\": \"d375\",\n\t\"./greenbox/greenbox_presentation.png\": \"e69e\",\n\t\"./greenbox/greenbox_v1.jpg\": \"a818\",\n\t\"./greenbox/greenbox_v2.jpg\": \"dbc0\",\n\t\"./knimehub/communities.png\": \"eec2\",\n\t\"./knimehub/front_page.jpg\": \"1c1b\",\n\t\"./knimehub/node-issues.png\": \"faf6\",\n\t\"./knimehub/quotes.png\": \"ceff\",\n\t\"./knimehub/screens-11-19.png\": \"0ff3\",\n\t\"./knimehub/wireframes-refined.png\": \"335e\",\n\t\"./knimehub/wireframes-rough.png\": \"084b\",\n\t\"./mechanics/mechanics.png\": \"840e\",\n\t\"./mechanics/mechanics_app.png\": \"a81f\",\n\t\"./mechanics/mechanics_interview.png\": \"b53d\",\n\t\"./mechanics/tools.png\": \"1854\",\n\t\"./mechanics/workflow.png\": \"9d89\",\n\t\"./pattern.png\": \"e3b3\",\n\t\"./phoenix/coverflow.mp4\": \"9be9\",\n\t\"./phoenix/mockup_ps.jpg\": \"5696\",\n\t\"./phoenix/paper_prototype.jpg\": \"5c1c\",\n\t\"./phoenix/phoenix_mp.jpg\": \"aa91\",\n\t\"./phoenix/shuffle_tooltip.png\": \"764f\",\n\t\"./phoenix/wireframe_ps_js.png\": \"656c\",\n\t\"./phone.png\": \"3547\",\n\t\"./querybuilder/concept.png\": \"babb\",\n\t\"./querybuilder/querybuilder.png\": \"c254\",\n\t\"./querybuilder/querybuilders.png\": \"e0cc\",\n\t\"./querybuilder/row-filter.png\": \"41fd\",\n\t\"./querybuilder/sql.png\": \"0cc3\",\n\t\"./querybuilder/variations.png\": \"79bb\",\n\t\"./scenariomanager/brainstorming-sideshot.jpg\": \"ef01\",\n\t\"./scenariomanager/mass-ass-slide.jpg\": \"ae40c\",\n\t\"./scenariomanager/project-plan.png\": \"f386\",\n\t\"./scenariomanager/snip-gif.mp4\": \"4251\",\n\t\"./scenariomanager/variants.jpg\": \"b211\",\n\t\"./thesis/adjustable-eyes.jpg\": \"6164\",\n\t\"./thesis/data-coll.png\": \"cf19\",\n\t\"./thesis/download.png\": \"05bc\",\n\t\"./thesis/eye.png\": \"1fdf\",\n\t\"./thesis/foveated-rendering.png\": \"ea1b\",\n\t\"./thesis/gnb.png\": \"7dfd\",\n\t\"./thesis/regX.png\": \"b98a\",\n\t\"./thesis/thesis.pdf\": \"729c\",\n\t\"./trafficticket/ticket1.jpeg\": \"d612\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"1771\";","module.exports = __webpack_public_path__ + \"img/tools.09370b15.png\";","module.exports = __webpack_public_path__ + \"img/front_page.6b948d2c.jpg\";","module.exports = __webpack_public_path__ + \"img/eye.aac1fa3e.png\";","module.exports = __webpack_public_path__ + \"img/concept.dda3c4ff.png\";","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"width\":\"32\",\"height\":\"32\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\"}, attrs),\n ...rest,\n },\n children.concat([_c('g',{attrs:{\"clip-path\":\"url(#clip0)\",\"fill\":\"#000\"}},[_c('path',{attrs:{\"d\":\"M32 9l-5.333 7.34L32 23.682h-6.592l-2.038-2.803-2.037 2.803h-6.592l3.296-4.536 5.334 1.733-3.297-4.537 3.296-4.537-5.333 1.733L14.741 9h6.592l2.038 2.804L25.407 9H32z\"}}),_c('path',{attrs:{\"d\":\"M14.74 9v5.608L9.408 16.34V9h5.334z\"}}),_c('path',{attrs:{\"d\":\"M5.333 9v10.145c0 1.733 2.037 1.733 2.037 1.733s2.038 0 2.038-1.733V16.34l5.333 1.733c0 5.607-7.37 5.607-7.37 5.607S0 23.681 0 18.074V9h5.333z\"}})]),_c('defs',[_c('clipPath',{attrs:{\"id\":\"clip0\"}},[_c('path',{attrs:{\"fill\":\"#fff\",\"d\":\"M0 0h32v32H0z\"}})])])])\n )\n }\n }\n ","module.exports = __webpack_public_path__ + \"img/components.ffbc8992.png\";","module.exports = __webpack_public_path__ + \"assets/pdf/CV.f512dad1.pdf\";","module.exports = __webpack_public_path__ + \"img/column_expressions.4e3cf3b0.png\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Thesis.vue?vue&type=style&index=0&id=6a36c1f6&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WelcomeBanner.vue?vue&type=style&index=0&id=50d30512&scoped=true&lang=css&\"","module.exports = __webpack_public_path__ + \"img/wireframes-refined.5d42eb6b.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAF8AAAAPBAMAAABw7A4xAAAAMFBMVEVMaXEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEKlNcAAAAAD3RSTlMAESIzRFVmd4iZqrvM3e5GKvWZAAABgUlEQVQoz82RT07bQBSHPzvg8eBEygEi8AFK6gug+AjcwLlBLLGkUjhB8A3CBRDsuqkUwqqlAgsjsWADEZtQVUKJnRpo8KCxUaUeoFLfbt7oe/r9gX8+5mjpGUdFyPC1C59ZfWIlfmnW4qULFy7Dolt+36oUIwbqY+fSSURm34uU2oz2Ce1o82A9ah1jL5BXViYTKzMy4IMCAs/Mbd/8tRFyg4z00QFW2muKGcEeGyFfGxF5bQ7Gz31gAGcgJ4HHgHXfTvXbyMGemT/QwDf7XsxX7wC/DxzCF4Ty+y795ic6j0v3AZ6gHa0VKnQSkROrUCht8Q+AzErgmqPu1kkJGOfNzlguzFExcU6tBZ7MKqCSxFRLWplwg5iXkloJPY8HCLY7Id+BvAK06Y7PVJte2+MMMdOmjXOXwGOKOaUCjHdAx9oYy1TH+tGl528d6FhbCTSOZUr9knpi5aLrTCpAF2fGS18XtwtCPZfFDZXKyvW+hzkqQvH422Oo1N+t7/A/zBvn4qnBqLFqCgAAAABJRU5ErkJggg==\"","module.exports = __webpack_public_path__ + \"img/code-versus.04241d86.png\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Icon.vue?vue&type=style&index=0&id=e3651c6e&scoped=true&lang=css&\"","module.exports = __webpack_public_path__ + \"img/row-filter.8c9b9b08.png\";","module.exports = __webpack_public_path__ + \"media/snip-gif.befa8959.mp4\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LandingPage.vue?vue&type=style&index=0&id=2d51f0fc&scoped=true&lang=css&\"","module.exports = __webpack_public_path__ + \"img/variations-codesnippets.9d59f21a.png\";","module.exports = __webpack_public_path__ + \"img/mockup_ps.ab6d3908.jpg\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('Header'),_c('div',{attrs:{\"id\":\"content\"}},[_c('router-view')],1),_c('Footer')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"header\"}},[_c('div',{staticClass:\"responsive\",attrs:{\"id\":\"grid\"}},[_c('router-link',{staticClass:\"h6sans\",attrs:{\"id\":\"name\",\"to\":\"/\"}},[_vm._v(\" Johannes Schweig \")]),_c('router-link',{class:[\"h6sans\", {\"active\": _vm.projectRoutes.indexOf(_vm.$route.path) != -1 }],attrs:{\"id\":\"work\",\"to\":\"/\"}},[_vm._v(\" Work \")]),_c('router-link',{class:[\"h6sans\", {\"active\": _vm.$route.path === \"/about\"}],attrs:{\"id\":\"about\",\"to\":\"/about\"}},[_vm._v(\" About \")])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// data for the projects\nexport const projData = [\n {\n route: '/trafficticket',\n image: {\n src: 'trafficticket/ticket1.jpeg',\n alt: 'A parking ticket on a windshield'\n },\n name: 'Traffic ticket',\n slogan: 'Processing traffic tickets for a car rental',\n clients: ['MaibornWolff', 'Car rental company'],\n task: 'Project lead',\n date: 'Feb 2022-Jan 2023',\n active: true\n },\n {\n route: '/esgehtlos',\n image: {\n src: 'esgehtlos/demo.png',\n alt: 'Screen design for mobile web app'\n },\n name: 'Es geht los',\n slogan: 'More democracy with civic councils',\n clients: ['MaibornWolff', 'Demokratie Innovation e. V.'],\n task: 'UI Design',\n date: 'Jan-Feb 2022',\n active: true\n },\n {\n route: '/scenariomanager',\n image: {\n src: 'scenariomanager/brainstorming-sideshot.jpg',\n alt: 'Scenario Manager UI'\n },\n name: 'Scenario Manager',\n slogan: 'Helping financial decision makers in stormy times',\n clients: ['Valsight'],\n task: 'UX Research',\n date: 'Jan-Mar 2020',\n active: true // active projects are shown on the landing page, inactive ones are only accessible by route\n },\n {\n route: '/knimehub',\n image: {\n src: 'knimehub/front_page.jpg',\n alt: 'Screenshot of the landing page of KNIME hub'\n },\n name: 'KNIME Hub',\n slogan: 'Collaborative platform for data scientists',\n clients: ['KNIME'],\n task: 'UI/UX Design',\n date: '2018-2019',\n active: true\n },\n {\n route: '/greenbox',\n image: {\n src: 'greenbox/greenbox_app2.png',\n alt: 'Usability test of the greenbox app'\n },\n name: 'Greenbox',\n slogan: 'Turning people into urban gardeners',\n clients: ['Greenbox'],\n task: 'Usability evaluation',\n date: '2015',\n active: false\n },\n {\n route: '/phoenix',\n image: {\n src: 'phoenix/phoenix_mp.jpg',\n alt: 'Screenshot of phoenix application'\n },\n name: 'Phoenix',\n slogan: 'The musicplayer that knows what you want to hear',\n clients: ['Myself'],\n task: 'Design & Development',\n date: '2015-2017',\n active: false\n },\n {\n route: '/querybuilder',\n image: {\n src: 'querybuilder/querybuilder.png',\n alt: 'Graph representation of an SQL query'\n },\n name: 'Querybuilder',\n slogan: 'Finding the needle in the data haystack',\n clients: ['KNIME'],\n task: 'UI/UX Design',\n date: '2018',\n active: false\n },\n {\n route: '/codesnippets',\n image: {\n src: 'codesnippets/formulas04.jpg',\n alt: 'Screenshot of phoenix application'\n },\n name: 'Code snippets',\n slogan: 'Code snippets for faster data transformation',\n clients: ['KNIME'],\n task: 'UI/UX Design',\n date: '2017',\n active: false\n },\n {\n route: '/mechanics',\n image: {\n src: 'mechanics/mechanics.png',\n alt: 'Mechanic with helmet camera interacting with tablet'\n },\n name: 'Mechanics',\n slogan: 'Digitalizing the work of mechanics',\n clients: ['Condat'],\n task: 'Field test',\n date: '2015',\n active: false\n },\n {\n route: '/thesis',\n image: {\n src: 'thesis/adjustable-eyes.jpg',\n alt: 'Adjustable artificial eyes'\n },\n name: 'Thesis',\n slogan: 'How to make eye tracking more robust',\n clients: ['TU Berlin'],\n task: 'Master thesis',\n date: '2016-2017',\n active: false\n },\n]\n\n// only active routes (shown on landing page)\nexport const activeRoutes = projData.filter(e => e.active)\n\n// projectRoutes (all project routes with landing page)\nexport const projectRoutes = projData.map(e => e.route).concat(['/'])\n","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Header.vue?vue&type=template&id=5e2b32e6&scoped=true&\"\nimport script from \"./Header.vue?vue&type=script&lang=js&\"\nexport * from \"./Header.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Header.vue?vue&type=style&index=0&id=5e2b32e6&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5e2b32e6\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('footer',[_c('div',{attrs:{\"id\":\"contact\"}},[_c('div',{staticClass:\"container\"},[_c('h3',[_vm._v(\"Get in touch\")]),_c('Icon',{attrs:{\"href\":\"https://linkedin.com/in/jschweig\",\"size\":_vm.windowWidth > 768 ? \"48\" : \"40\"}},[_c('LinkedInIcon')],1),_c('Icon',{attrs:{\"href\":\"mailto:hello@johannesschweig.de\",\"size\":_vm.windowWidth > 768 ? \"48\" : \"40\"}},[_c('MailIcon')],1)],1)]),_c('div',{attrs:{\"id\":\"legal\"}},[_c('router-link',{staticClass:\"link body1\",attrs:{\"to\":\"/legal\",\"id\":\"legal\"}},[_vm._v(\" Legal / Impressum \")])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{class:{\"with-text\": _vm.text },style:(_vm.cssVars),attrs:{\"href\":_vm.href}},[_vm._t(\"default\"),(_vm.text)?_c('div',{staticClass:\"text\"},[_vm._v(\" \"+_vm._s(_vm.text)+\" \")]):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Icon.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Icon.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Icon.vue?vue&type=template&id=e3651c6e&scoped=true&\"\nimport script from \"./Icon.vue?vue&type=script&lang=js&\"\nexport * from \"./Icon.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Icon.vue?vue&type=style&index=0&id=e3651c6e&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"e3651c6e\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Footer.vue?vue&type=template&id=0e6a4de4&scoped=true&\"\nimport script from \"./Footer.vue?vue&type=script&lang=js&\"\nexport * from \"./Footer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Footer.vue?vue&type=style&index=0&id=0e6a4de4&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0e6a4de4\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=5076d278&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"about\"}},[_c('div',{staticClass:\"responsive\"},[_c('img',{attrs:{\"src\":require(\"../../assets/bio/bio-image.jpg\")}}),_c('div',{staticClass:\"body1\",attrs:{\"id\":\"text\"}},[_c('h4',[_vm._v(\"About me\")]),_c('p',[_vm._v(\"I am a UX Designer with 6 years of experience in building digital products. I am always eager to learn new things and to educate my team on cool new methods I found. I love to code small projects (such as this website) in my free time and also enjoy to drill into data (e.g. google analytics) to gain user insights. Even though I have very broad interests, my passion belongs to tailoring digital products to user needs.\")]),_c('h5',[_vm._v(\"Things I believe in\")]),_c('h6',[_vm._v(\"💎 Rigorous prioritization\")]),_c('p',[_vm._v(\"There will always be more to do than you have time for. Prioritization makes sure that you will have the maximum impact for the limited resources you are provided.\")]),_c('h6',[_vm._v(\"⚙️ Incremental changes\")]),_c('p',[_vm._v(\"You can learn faster what works and what does not which is crucial in fast moving environments.\")]),_c('h6',[_vm._v(\"💬 Strong feedback cultures\")]),_c('p',[_vm._v(\"Everyone makes mistakes and to acknowledge them means to grow in your role and as a person.\")]),_vm._m(0),_c('p'),_c('div',{staticClass:\"icons\"},[_c('Icon',{attrs:{\"size\":\"32\",\"text\":\"Resume\",\"href\":require(\"../../assets/bio/CV.pdf\")}},[_c('CvIcon')],1),_c('Icon',{attrs:{\"size\":\"32\",\"text\":\"ux.stackexchange\",\"href\":\"https://ux.stackexchange.com/users/110814/nash\"}},[_c('UxIcon')],1),_c('Icon',{attrs:{\"size\":\"32\",\"text\":\"GitHub\",\"href\":\"https://github.com/johannesschweig\"}},[_c('GhIcon')],1)],1)])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Currently, I am working as a Senior IT Consultant for \"),_c('a',{staticClass:\"link\",attrs:{\"href\":\"https://www.maibornwolff.de/\"}},[_vm._v(\"MaibornWolff\")]),_vm._v(\".\")])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./About.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./About.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./About.vue?vue&type=template&id=71f764a6&scoped=true&\"\nimport script from \"./About.vue?vue&type=script&lang=js&\"\nexport * from \"./About.vue?vue&type=script&lang=js&\"\nimport style0 from \"./About.vue?vue&type=style&index=0&id=71f764a6&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"71f764a6\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('project-header',{attrs:{\"route\":\"/codesnippets\"}}),_c('div',{staticClass:\"responsive\"},[_c('h4',[_vm._v(\"TL;DR\")]),_c('p',[_vm._v(\"I designed an interface where users can input multiple \\\"code snippets\\\" to transform their data.\")]),_c('h4',[_vm._v(\"Problem\")]),_c('styled-image',{attrs:{\"src\":require(\"../../assets/codesnippets/3vs1.png\"),\"alt\":\"Combine three nodes into one\"}}),_c('p',[_vm._v(\"A project I worked on for KNIME was to create an interface for a node (KNIME term for encapsulated functionality) where users can create small code snippets to manipulate data. For example, users might want to create a column with the mean of three other columns or cut the surname of a \\\"name surname\\\" formatted column. Previously, this was possible with a String Manipulation node for Strings, a Math Formula node for numerical data and a Rule Engine node for conditions. But what if you needed to alter Strings based on conditions? Then it gets complicated. The new node should make it easier for users to create more complex logic.\")]),_c('h4',[_vm._v(\"Research\")]),_c('styled-image',{attrs:{\"src\":require(\"../../assets/codesnippets/code-versus.png\"),\"alt\":\"Use of space in the String Manipulation interface\"}}),_c('p',[_vm._v(\"I analyzed the current UI and interaction of the already existing nodes and found out that they had several disadvantages:\")]),_vm._m(0),_c('h4',[_vm._v(\"Concept\")]),_c('styled-image',{attrs:{\"src\":require(\"../../assets/codesnippets/variations-codesnippets.png\"),\"alt\":\"Two concepts for the code editor: Columns, variables and functions in dropdowns (left) or in a tabbed interface (right)\"}}),_c('p',[_vm._v(\"I improved on these with a design that put the code textfield with a large amount of space in the center of attention. Adding columns, variables and functions was now one click away but this saved precious screen real estate. I also added a small \\\"evaluate\\\" functionality that would check your code on the first row of your data so you could iteratively improve your code snippet without having to run it on your entire data each time. On the top an overview of all the code snippets was presented and you could add more code snippets or alter existing ones. The UI for the code editor was designed to make it reusable in other nodes (e.g. filtering rows according to a code snippet with a boolean statement).\")]),_c('h4',[_vm._v(\"Evaluation\")]),_c('styled-image',{attrs:{\"src\":require(\"../../assets/codesnippets/concept.png\"),\"alt\":\"Final UI concept\"}}),_vm._m(1),_c('p',[_vm._v(\"In the design, however, there is - as always - still room for improvement. The emancipated display of the upper \\\"overview\\\" and the lower \\\"code editor\\\" component does not make it entirely clear that a selection of a code snippet in the \\\"overview\\\" component would change the display in the \\\"code editor\\\" component. This drawback was however favored over a dialog-in-a-dialog design.\")]),_c('p',[_vm._v(\"Also, the design could guide new users better on how to start. They are presented with a blank textfield and a variety of UI components (much like opening a terminal for the first time). The functions which are the core of writing your snippet are hidden behind a dropdown. The aim of the design, however, was to create a good experience for experienced users who want to optimize their data manipulation workflows.\")]),_c('p',[_vm._v(\"On the whole, I am very content with the process and outcome of this project. I was involved from the research phase over the conceptual phase to the implementation and even helped with programming parts of the \\\"code editor\\\" component. Also, the feedback from the community shows that the hours you invest in research and ideation really pay off in the end.\")]),_c('styled-image',{attrs:{\"src\":require(\"../../assets/codesnippets/column_expressions.png\"),\"alt\":\"User interface as of KNIME Analytics Platform v3.7.1\"}})],1),_c('project-arrows',{attrs:{\"route\":\"/codesnippets\"}})],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"They were making poor use of space. UI components were getting a lot of space even though they were not as important as others (see image above).\")]),_c('li',[_vm._v(\"Checking if your piece of code was correct could only be done by running the node on all your available data. Depending on the amount of data this could take a while. When you realize then that the \\\"+1\\\" in your code should really have been a \\\"-1\\\" you have to change it and run it again. Seemed too tedious.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"The overall reception was positive. Forum users as well as colleagues gave very enthusiastic feedback on the new functionality. One user even wrote a blogpost about the node calling it \"),_c('a',{attrs:{\"href\":\"https://blog.statinfer.com/knime-multitasking-with-column-expressions-node/\"}},[_vm._v(\"\\\"The Swiss Army Knife\\\"\")]),_vm._v(\".\")])}]\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"responsive\",attrs:{\"id\":\"project-header\"}},[_c('div',{attrs:{\"id\":\"name-container\"}},[_c('div',{staticClass:\"subtitle1\"},[_vm._v(_vm._s(_vm.project.name))]),_c('h2',[_vm._v(_vm._s(_vm.project.slogan))])]),_c('div',{attrs:{\"id\":\"heading-container\"}},[_c('div',{staticClass:\"subtitle1\"},[_vm._v(\" Client \")]),_c('h5',_vm._l((_vm.project.clients),function(c){return _c('div',{key:c},[_vm._v(\" \"+_vm._s(c)+\" \")])}),0),_c('div',{staticClass:\"subtitle1\"},[_vm._v(\" Task \")]),_c('h5',[_vm._v(_vm._s(_vm.project.task))]),_c('div',{staticClass:\"subtitle1\"},[_vm._v(\" Timeline \")]),_c('h5',[_vm._v(_vm._s(_vm.project.date))])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectHeader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectHeader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProjectHeader.vue?vue&type=template&id=664fedb4&scoped=true&\"\nimport script from \"./ProjectHeader.vue?vue&type=script&lang=js&\"\nexport * from \"./ProjectHeader.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProjectHeader.vue?vue&type=style&index=0&id=664fedb4&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"664fedb4\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"container\"}},[(!_vm.isVideo())?_c('img',{class:[\"img-md\", { \"shadow\": _vm.shadow }],attrs:{\"src\":_vm.src,\"alt\":_vm.alt}}):_vm._e(),(_vm.isVideo())?_c('video',{class:[\"img-md\", { \"shadow\": _vm.shadow }],attrs:{\"autoplay\":\"\",\"muted\":\"\",\"loop\":\"\"},domProps:{\"muted\":true}},[_c('source',{attrs:{\"src\":_vm.src,\"type\":\"video/mp4\"}}),_vm._v(\" Your browser does not support the video tag. \")]):_vm._e(),_c('div',{staticClass:\"body2\"},[_vm._v(_vm._s(_vm.alt))])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StyledImage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StyledImage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./StyledImage.vue?vue&type=template&id=21430c51&scoped=true&\"\nimport script from \"./StyledImage.vue?vue&type=script&lang=js&\"\nexport * from \"./StyledImage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./StyledImage.vue?vue&type=style&index=0&id=21430c51&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"21430c51\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"responsive\",attrs:{\"id\":\"projectArrows\"}},[_c('router-link',{staticClass:\"previous\",attrs:{\"to\":_vm.previousProject.route}},[_c('Arrow'),_c('span',[_vm._v(\"Previous project: \"+_vm._s(_vm.previousProject.name))])],1),_c('div',{staticClass:\"flex-grow\"}),_c('router-link',{staticClass:\"next\",attrs:{\"to\":_vm.nextProject.route}},[_c('span',[_vm._v(\"Next project: \"+_vm._s(_vm.nextProject.name))]),_c('Arrow')],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { projData, activeRoutes } from './projects.js'\n\n// returns the name of the project from a route (e.g. '/phoenix' -> Phoenix)\nexport function getProjectNameFromRoute(route) {\n // remove trailing /\n if (route !== '/' & route.slice(-1) === '/') {\n route = route.slice(0, -1)\n }\n // check for known routes\n let names = projData.filter(obj => obj.route === route)\n if (names.length) {\n return names[0]\n } else {\n // for 404 routes\n return '404'\n }\n}\n\n// returns a correct modulo\nfunction getMod(i, j) {\n return ((i % j) + j) % j\n}\n\n// returns the route and name of the previous and the next project\nexport function getPreviousNextProjects(route) {\n // find index of current project\n // by default found is the last project (e.g. inactive ones)\n let found = activeRoutes.length;\n for (let i = 0; i < activeRoutes.length; i++) {\n if (activeRoutes[i].route == route) {\n found = i\n break\n }\n }\n let previous = getMod(found - 1, activeRoutes.length)\n let next = getMod(found + 1, activeRoutes.length)\n \n return {\n previous: activeRoutes[previous],\n next: activeRoutes[next]\n }\n}\n\n","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectArrows.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectArrows.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProjectArrows.vue?vue&type=template&id=0a2c1902&scoped=true&\"\nimport script from \"./ProjectArrows.vue?vue&type=script&lang=js&\"\nexport * from \"./ProjectArrows.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProjectArrows.vue?vue&type=style&index=0&id=0a2c1902&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0a2c1902\",\n null\n \n)\n\nexport default component.exports","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CodeSnippets.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CodeSnippets.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CodeSnippets.vue?vue&type=template&id=6d9c1a17&\"\nimport script from \"./CodeSnippets.vue?vue&type=script&lang=js&\"\nexport * from \"./CodeSnippets.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('project-header',{attrs:{\"route\":\"/esgehtlos\"}}),_c('div',{staticClass:\"responsive body1\"},[_c('h4',[_vm._v(\"TL;DR\")]),_c('p',[_vm._v(\"I helped to build a product that helps a NGO to organize their citizen councils. One of the big features was a feedback flow for citizens to respond to an invitation for a council and mention their needs.\")]),_c('h4',[_vm._v(\"Problem statement\")]),_c('p',[_vm._v(\"Es geht los organizes citizen councils and has to manage all the candidates that they reached out to and their special needs (e.g. child care, mobility impairments). As there are many people involved it is hard to keep track of all the candidates without a proper tool. Our goal was to build such a tool to help them with keeping track of the candidates, perform statistically sound drawings, organize their agents and collect feedback from their candidates online.\")]),_c('h4',[_vm._v(\"Visual identity\")]),_c('styled-image',{attrs:{\"src\":require(\"../../assets/esgehtlos/colors.png\"),\"alt\":\"Color palette. New colors are highlighted.\"}}),_vm._m(0),_c('styled-image',{attrs:{\"shadow\":false,\"src\":require(\"../../assets/esgehtlos/typo.png\"),\"alt\":\"Typography scale\"}}),_c('styled-image',{attrs:{\"shadow\":false,\"src\":require(\"../../assets/esgehtlos/components.png\"),\"alt\":\"Components in different states\"}}),_c('h4',[_vm._v(\"Prototype \\\"Feedback flow\\\"\")]),_c('p',[_vm._v(\"In this click prototype (German only) you can see the screens that a candidate goes through after being chosen for a citizen council. The candidate can tick special needs, accept or decline the invitation and give feedback to Es geht los.\")]),_c('iframe',{staticStyle:{\"border\":\"1px solid rgba(0, 0, 0, 0.1)\"},attrs:{\"width\":\"500\",\"height\":\"800\",\"src\":\"https://www.figma.com/embed?embed_host=share&url=https%3A%2F%2Fwww.figma.com%2Fproto%2FzGG70JdPaHszpgRP3uaXGb%2Fegl-portfolio%3Fnode-id%3D7%253A698%26viewport%3D241%252C48%252C0.11%26scaling%3Dscale-down%26page-id%3D0%253A1%26starting-point-node-id%3D7%253A698\",\"allowfullscreen\":\"\"}}),_c('p',[_vm._v(\"Click on the grey background and then restart (R) to restart the prototype.\")]),_c('h4',[_vm._v(\"Clients\")]),_vm._m(1)],1),_c('project-arrows',{attrs:{\"route\":\"/esgehtlos\"}})],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"I expanded the existing visual identity (called \\\"Giulia\\\") to address all the needs of a web application. I expanded the color palette, set up a system for typography based on their existing typefaces and created the first components (buttons, checkboxes, textfields). I tailored the system to the CSS framework \"),_c('a',{staticClass:\"link\",attrs:{\"href\":\"https://tailwindcss.com/\"}},[_vm._v(\"Tailwind\")]),_vm._v(\" which we used in development.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('a',{staticClass:\"link\",attrs:{\"href\":\"https://www.esgehtlos.org/\"}},[_vm._v(\"Es geht los\")]),_vm._v(\" is a German NGO and non-partisan think & do tank by Demokratie Innovation e.V. for lot-based (\\\"losbasiert\\\") citizen participation. They organize citizen councils on a local, national level and for public institutions. \"),_c('a',{staticClass:\"link\",attrs:{\"href\":\"https://www.maibornwolff.de/\"}},[_vm._v(\"MaibornWolff\")]),_vm._v(\" offers consulting and software engineering for ambitious IT projects. I was staffed as the UI Designer in a Digital Garage project by MaibornWolff for Demokartie Innovation e.V..\")])}]\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EsGehtLos.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EsGehtLos.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EsGehtLos.vue?vue&type=template&id=4c1df534&\"\nimport script from \"./EsGehtLos.vue?vue&type=script&lang=js&\"\nexport * from \"./EsGehtLos.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('project-header',{attrs:{\"route\":\"/greenbox\"}}),_c('div',{staticClass:\"responsive\",attrs:{\"id\":\"greenbox\"}},[_c('h4',[_vm._v(\"TL;DR\")]),_c('p',[_vm._v(\"As part of a university course a design team and a UX research team helped a startup to improve their gardening app. I contributed with planning, conducting and evaluating usability tests as part of the UX research team (3 persons in total).\")]),_c('h4',[_vm._v(\"Problem\")]),_c('styled-image',{attrs:{\"src\":require(\"../../assets/greenbox/greenbox_v1.jpg\"),\"alt\":\"First version of the gardening app\"}}),_vm._m(0),_vm._m(1),_c('h4',[_vm._v(\"First usability test (my team)\")]),_c('styled-image',{attrs:{\"src\":require(\"../../assets/greenbox/greenbox_app3.png\"),\"alt\":\"Usability test with the gardening app\"}}),_c('p',[_vm._v(\"In a first usability test participants were introduced to the app with a scenario and asked to perform several tasks while thinking aloud. We recorded the participant's interactions with the application with a camera and evaluated them later. The participants answered two questionnaires (QUESI, meCUE) rating the intuitiveness and the overall impression of the product. Additionally, the team conducted a heuristic analysis (following Jakob Nielsen) to identify usability problems. The insights generated from these methods were condensed and forwarded to the design team.\")]),_c('h4',[_vm._v(\"Redesign (design team)\")]),_c('styled-image',{attrs:{\"src\":require(\"../../assets/greenbox/greenbox_v2.jpg\"),\"alt\":\"Redesigned version of the gardening app\"}}),_c('p',[_vm._v(\"The design team used the collected insights from the testing and the heuristic analysis to produce a redesigned version of the app.\")]),_c('h4',[_vm._v(\"Second usability test (my team)\")]),_c('p',[_vm._v(\"In a second usability test the redesigned version was evaluated and the results compared to the results of the first version. The same methods were used as in the first usability test to allow for better comparison. Users experienced less problems with the redesigned version and rated it also higher on all scales of the questionnaires.\")]),_c('h4',[_vm._v(\"Reflection\")]),_c('styled-image',{attrs:{\"src\":require(\"../../assets/greenbox/greenbox_presentation.png\"),\"alt\":\"Final presentation Greenbox\"}}),_c('p',[_vm._v(\"During this project I learnt a lot about the design, conduction and evaluation of usability tests. Experiencing that the insights generated through our group's work were of great use for the startup was a big motivational factor. The cooperation and communication between the design team, the UX research team and the startup was challenging, but rewarded us with different perspectives and insights in the process.\")]),_c('h4',[_vm._v(\"Testimonial (german)\")]),_c('p',[_vm._v(\"\\\"Wir entwickeln momentan eine Smartphone-App und haben uns bei UseTree beworben, weil wir die Abfolge von Bedienschritten für eine innovative Anwendung evaluieren lassen wollten. Daneben war es uns wichtig, herauszufinden, inwieweit wir die Balance zwischen einer spielerischen Bedienung und einem seriösen Design hinbekommen. Das Zusammenspiel von Arbeitspsychologen und Designern im sogenannten Staffellauf, bei dem beide Seiten abwechselnd dieselbe Fragestellung bearbeiten, haben wir als sehr bereichernd und konstruktiv empfunden. Durch die Teilnahme wurde unser Blick für Usability-Fragestellungen maßgeblich geschärft. Zudem haben wir Tools an die Hand bekommen, um diese Fragen zukünftig inhouse weiter bearbeiten zu können. Das Designteam begeisterte uns mit kreativen und hochwertigen Vorschlägen, die wir direkt in die Weiterentwicklung aufnehmen. Nicht zuletzt war ich von der engagierten und offenen Art von UseTree angetan und empfand die Zusammenarbeit als sehr inspierierend.\\\" - Gesche Heitmann (Gründerin)\")])],1),_c('project-arrows',{attrs:{\"route\":\"/greenbox\"}})],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('i',[_vm._v(\"Grüner Daumen\")]),_vm._v(\" (\\\"Green thumb\\\") is an upcoming gardening app that is designed to inspire and support users with their plant care. The client had questions regarding the usability and design of their application:\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"Is the workflow in agreement with the users' expectations?\")]),_c('li',[_vm._v(\"Does the app feel inutitive and easy to use?\")]),_c('li',[_vm._v(\"Do users perceive the app as playful and yet legitimate?\")])])}]\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Greenbox.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Greenbox.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Greenbox.vue?vue&type=template&id=559d5905&\"\nimport script from \"./Greenbox.vue?vue&type=script&lang=js&\"\nexport * from \"./Greenbox.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('project-header',{attrs:{\"route\":\"/knimehub\"}}),_c('div',{staticClass:\"responsive body1\",attrs:{\"id\":\"knimehub\"}},[_c('h4',[_vm._v(\"TL;DR\")]),_c('p',[_vm._v(\"I helped to build a website where data scientists can read up on existing functionality of the desktop application. This website also enables them to share and collaborate on data analysis projects.\")]),_c('h4',[_vm._v(\"Introduction\")]),_c('p',[_vm._v(\"KNIME develops a data science software which lets users create data analysis workflows with small blocks called \\\"nodes\\\" in a graphical programming paradigm. The community is big and vibrant and we wanted to give users a platform where they can help each other out and work together on general purpose solutions for common data science problems (e.g. churn prediction, anomaly detection). As the UX Designer on the team I was given the task to create a first prototype for the information architecture and the interaction design.\")]),_c('h4',[_vm._v(\"User and task analysis\")]),_c('p',[_vm._v(\"At first I wanted to find out users shared and collaborated with already existing tools. I interviewed 9 internal data scientists on their usage of similar products. I was especially interested in how they make their own work understandable to others and what helps them to understand other people's work (e.g. text descriptions, screenshots, oral explanations, visual cues).\")]),_c('styled-image',{attrs:{\"src\":require(\"../../assets/knimehub/quotes.png\"),\"alt\":\"Quotes from the interviews\",\"shadow\":false}}),_c('p',[_vm._v(\"From this research I identified challenges that were only poorly addressed by existing solutions. For example, a big challenge for users was the first time they try to use a new node. Sometimes the user did not know what the node could do, sometimes they were not sure how to set it up and sometimes they tried it out and it did not work the way they expected it to.\")]),_c('styled-image',{attrs:{\"src\":require(\"../../assets/knimehub/node-issues.png\"),\"alt\":\"User challenges with nodes\",\"shadow\":false}}),_c('p',[_vm._v(\"With these challenges in mind we decided on what user stories to focus and defined the most important features for the KNIME Hub:\")]),_vm._m(0),_c('h4',[_vm._v(\"Screen design\")]),_c('p',[_vm._v(\"In this phase I ranked the content in importance and separated it onto different screens. I drew inspiration from online-communities where users share their content with others (node-red, chefkoch, youtube, soundcloud).\")]),_c('styled-image',{attrs:{\"src\":require(\"../../assets/knimehub/communities.png\"),\"alt\":\"Node-RED: a similar online community\"}}),_c('p',[_vm._v(\"I created four pages: A landing page with search, a search results page, a page for nodes and one for workflows. I created links between the pages which should help the users to find what they need.\")]),_c('styled-image',{attrs:{\"src\":require(\"../../assets/knimehub/wireframes-rough.png\"),\"alt\":\"First wireframes\"}}),_c('p',[_vm._v(\"The first version of the wireframes were discussed in the team and additional content was added. In a second iteration I aimed for higher fidelity in the wireframes and focused more on the layout of the pages. This second version was used for communication to internal stakeholders.\")]),_c('styled-image',{attrs:{\"src\":require(\"../../assets/knimehub/wireframes-refined.png\"),\"alt\":\"Second, more refined wireframes\"}}),_c('h4',[_vm._v(\"Final visual design and building\")]),_c('p',[_vm._v(\"The final visual design was done by an external designer. I supported the development team during the building process and contributed by taking over small frontend tasks.\")]),_c('h4',[_vm._v(\"Launch\")]),_c('p',[_vm._v(\"The KNIME Hub was released and opened to the public during the KNIME Summit in March 2019. Since then it has received great interest and a growing community of active users. From March until October I assisted in the further development of features such as a deeper integration to the desktop application.\")]),_vm._m(1),_c('styled-image',{attrs:{\"src\":require(\"../../assets/knimehub/screens-11-19.png\"),\"alt\":\"Screens of the application as of Nov. 19\"}})],1),_c('project-arrows',{attrs:{\"route\":\"/knimehub\"}})],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"Search for nodes: Users can search for nodes and determine if they are a good fit for their data science problem.\")]),_c('li',[_vm._v(\"Search for workflow: Users can search for example workflows that explain a specific data science problem.\")]),_c('li',[_vm._v(\"Install nodes: When users have found the right node, they can install it easily by drag-n-dropping it into the desktop application.\")]),_c('li',[_vm._v(\"Link nodes/workflows: Users can share links of node and workflow pages to provide other users with a nice way of referencing functionality in the desktop application.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Check it out at \"),_c('a',{staticClass:\"link\",attrs:{\"href\":\"https://hub.knime.com\"}},[_vm._v(\"hub.knime.com\")]),_vm._v(\".\")])}]\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KnimeHub.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KnimeHub.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./KnimeHub.vue?vue&type=template&id=a15827aa&\"\nimport script from \"./KnimeHub.vue?vue&type=script&lang=js&\"\nexport * from \"./KnimeHub.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('WelcomeBanner'),_c('div',{staticClass:\"responsive\",attrs:{\"id\":\"projects\"}},_vm._l((_vm.activeRoutes),function(e){return _c('ProjectPreview',{key:e.id,attrs:{\"projProps\":e}})}),1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('router-link',{staticClass:\"tile\",attrs:{\"to\":_vm.projProps.route}},[_c('div',{staticClass:\"img-container\"},[_c('img',{attrs:{\"src\":_vm.buildImgUrl(_vm.projProps.image.src),\"alt\":_vm.projProps.image.alt}})]),_c('div',{staticClass:\"text\"},[_c('div',{staticClass:\"h5sans\"},[_vm._v(_vm._s(_vm.projProps.slogan))]),_c('div',{staticClass:\"body1\"},[_vm._v(_vm._s(_vm.projProps.task))])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectPreview.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectPreview.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ProjectPreview.vue?vue&type=template&id=9ccefd46&scoped=true&\"\nimport script from \"./ProjectPreview.vue?vue&type=script&lang=js&\"\nexport * from \"./ProjectPreview.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ProjectPreview.vue?vue&type=style&index=0&id=9ccefd46&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"9ccefd46\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('h3',{staticClass:\"responsive\"},[_vm._v(\" Hi,\"),_c('br'),_vm._v(\" I am Johannes, a UX Designer based in Berlin, and this is my work. \")])}]\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./WelcomeBanner.vue?vue&type=template&id=50d30512&scoped=true&\"\nvar script = {}\nimport style0 from \"./WelcomeBanner.vue?vue&type=style&index=0&id=50d30512&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"50d30512\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LandingPage.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LandingPage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LandingPage.vue?vue&type=template&id=2d51f0fc&scoped=true&\"\nimport script from \"./LandingPage.vue?vue&type=script&lang=js&\"\nexport * from \"./LandingPage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./LandingPage.vue?vue&type=style&index=0&id=2d51f0fc&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2d51f0fc\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"responsive body2\",attrs:{\"id\":\"content\"}},[_c('h5',[_vm._v(\"Legal Disclosure\")]),_c('p',[_vm._v(\"Information in accordance with section 5 TMG\")]),_vm._m(0),_c('h6',[_vm._v(\"Contact\")]),_vm._m(1),_vm._m(2),_vm._m(3),_c('h6',[_vm._v(\"Person responsible for content in accordance with 55 Abs. 2 RStV\")]),_vm._m(4),_c('h6',[_vm._v(\"Indication of source for images and graphics\")]),_c('ul',_vm._l((_vm.sources),function(s){return _c('li',{key:s.title},[_vm._v(\" \"+_vm._s(s.title)+\" by \"+_vm._s(s.author)+\" from \"+_vm._s(s.platform)+\", license: \"),_c('a',{staticClass:\"link\",attrs:{\"href\":s.licenseLink}},[_vm._v(_vm._s(s.licenseName))]),_vm._v(\", source: \"),_c('a',{staticClass:\"link\",attrs:{\"href\":s.sourceLink}},[_vm._v(\"link\")])])}),0),_c('h6',[_vm._v(\"Disclaimer\")]),_vm._m(5),_vm._m(6),_vm._m(7),_vm._m(8),_c('h5',[_vm._v(\"Impressum\")]),_c('p',[_vm._v(\"Angaben gemäß § 5 TMG\")]),_vm._m(9),_c('h6',[_vm._v(\"Kontakt\")]),_vm._m(10),_vm._m(11),_vm._m(12),_c('h6',[_vm._v(\"Verantwortlich für den Inhalt nach § 55 Abs. 2 RStV\")]),_vm._m(13),_c('h6',[_vm._v(\"Quellenangaben für die verwendeten Bilder und Grafiken\")]),_c('ul',_vm._l((_vm.sources),function(s){return _c('li',{key:s.title},[_vm._v(\" \"+_vm._s(s.title)+\" von \"+_vm._s(s.author)+\" von \"+_vm._s(s.platform)+\", Lizenz: \"),_c('a',{staticClass:\"link\",attrs:{\"href\":s.licenseLink}},[_vm._v(_vm._s(s.licenseName))]),_vm._v(\", Quelle: \"),_c('a',{staticClass:\"link\",attrs:{\"href\":s.sourceLink}},[_vm._v(\"Link\")])])}),0),_c('h6',[_vm._v(\"Haftungsausschluss\")]),_vm._m(14),_vm._m(15),_vm._m(16),_vm._m(17)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Johannes Schweig, \"),_c('img',{attrs:{\"src\":require(\"../../assets/address.png\"),\"alt\":\"\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Telephone: \"),_c('img',{attrs:{\"src\":require(\"../../assets/phone.png\"),\"alt\":\"\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"E-Mail: \"),_c('a',{staticClass:\"link\",attrs:{\"href\":\"mailto:hello@johannesschweig.de\"}},[_vm._v(\"hello@johannesschweig.de\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Internetadresse: \"),_c('a',{staticClass:\"link\",attrs:{\"href\":\"http://www.johannesschweig.de\"}},[_vm._v(\"www.johannesschweig.de\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Johannes Schweig, \"),_c('img',{attrs:{\"src\":require(\"../../assets/address.png\"),\"alt\":\"\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('i',[_vm._v(\"Accountability for content: \")]),_vm._v(\" The contents of our pages have been created with the utmost care. However, we cannot guarantee the contents' accuracy, completeness or topicality. According to statutory provisions, we are furthermore responsible for our own content on these web pages. In this context, please note that we are accordingly not obliged to monitor merely the transmitted or saved information of third parties, or investigate circumstances pointing to illegal activity. Our obligations to remove or block the use of information under generally applicable laws remain unaffected by this as per §§ 8 to 10 of the Telemedia Act (TMG).\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('i',[_vm._v(\"Accountability for links: \")]),_vm._v(\"Responsibility for the content of external links (to web pages of third parties) lies solely with the operators of the linked pages. No violations were evident to us at the time of linking. Should any legal infringement become known to us, we will remove the respective link immediately.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('i',[_vm._v(\"Copyright: \")]),_vm._v(\"Our web pages and their contents are subject to German copyright law. Unless expressly permitted by law (§ 44a et seq. of the copyright law), every form of utilizing, reproducing or processing works subject to copyright protection on our web pages requires the prior consent of the respective owner of the rights. Individual reproductions of a work are allowed only for private use, so must not serve either directly or indirectly for earnings. Unauthorized utilization of copyrighted works is punishable (§ 106 of the copyright law).\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('i',[_vm._v(\"Quelle: \")]),_c('a',{staticClass:\"link\",attrs:{\"href\":\"http://www.muster-vorlagen.net\"}},[_vm._v(\"http://www.muster-vorlagen.net\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Johannes Schweig, \"),_c('img',{attrs:{\"src\":require(\"../../assets/address.png\"),\"alt\":\"\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Telefon: \"),_c('img',{attrs:{\"src\":require(\"../../assets/phone.png\"),\"alt\":\"\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"E-Mail: \"),_c('a',{staticClass:\"link\",attrs:{\"href\":\"mailto:hello@johannesschweig.de\"}},[_vm._v(\"hello@johannesschweig.de\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Internetadresse: \"),_c('a',{staticClass:\"link\",attrs:{\"href\":\"http://www.johannesschweig.de\"}},[_vm._v(\"www.johannesschweig.de\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Johannes Schweig, \"),_c('img',{attrs:{\"src\":require(\"../../assets/address.png\"),\"alt\":\"\"}})])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('i',[_vm._v(\"Haftung für Inhalte: \")]),_vm._v(\"Die Inhalte unserer Seiten wurden mit größter Sorgfalt erstellt. Für die Richtigkeit, Vollständigkeit und Aktualität der Inhalte können wir jedoch keine Gewähr übernehmen. Als Diensteanbieter sind wir gemäß § 7 Abs.1 TMG für eigene Inhalte auf diesen Seiten nach den allgemeinen Gesetzen verantwortlich. Nach §§ 8 bis 10 TMG sind wir als Diensteanbieter jedoch nicht verpflichtet, übermittelte oder gespeicherte fremde Informationen zu überwachen oder nach Umständen zu forschen, die auf eine rechtswidrige Tätigkeit hinweisen. Verpflichtungen zur Entfernung oder Sperrung der Nutzung von Informationen nach den allgemeinen Gesetzen bleiben hiervon unberührt. Eine diesbezügliche Haftung ist jedoch erst ab dem Zeitpunkt der Kenntnis einer konkreten Rechtsverletzung möglich. Bei Bekanntwerden von entsprechenden Rechtsverletzungen werden wir diese Inhalte umgehend entfernen.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('i',[_vm._v(\"Haftung für Links: \")]),_vm._v(\"Unser Angebot enthält Links zu externen Webseiten Dritter, auf deren Inhalte wir keinen Einfluss haben. Deshalb können wir für diese fremden Inhalte auch keine Gewähr übernehmen. Für die Inhalte der verlinkten Seiten ist stets der jeweilige Anbieter oder Betreiber der Seiten verantwortlich. Die verlinkten Seiten wurden zum Zeitpunkt der Verlinkung auf mögliche Rechtsverstöße überprüft. Rechtswidrige Inhalte waren zum Zeitpunkt der Verlinkung nicht erkennbar. Eine permanente inhaltliche Kontrolle der verlinkten Seiten ist jedoch ohne konkrete Anhaltspunkte einer Rechtsverletzung nicht zumutbar. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Links umgehend entfernen.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('i',[_vm._v(\"Urheberrecht: \")]),_vm._v(\"Die durch die Seitenbetreiber erstellten bzw. verwendeten Inhalte und Werke auf diesen Seiten unterliegen dem deutschen Urheberrecht. Die Vervielfältigung, Bearbeitung, Verbreitung und jede Art der Verwertung außerhalb der Grenzen des Urheberrechtes bedürfen der Zustimmung des jeweiligen Autors bzw. Erstellers. Downloads und Kopien dieser Seite sind nur für den privaten, nicht kommerziellen Gebrauch gestattet. Soweit die Inhalte auf dieser Seite nicht vom Betreiber erstellt wurden, werden die Urheberrechte Dritter beachtet. Insbesondere werden Inhalte Dritter als solche gekennzeichnet. Sollten Sie trotzdem auf eine Urheberrechtsverletzung aufmerksam werden, bitten wir um einen entsprechenden Hinweis. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Inhalte umgehend entfernen.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('i',[_vm._v(\"Quelle: \")]),_c('a',{staticClass:\"link\",attrs:{\"href\":\"http://www.muster-vorlagen.net\"}},[_vm._v(\"http://www.muster-vorlagen.net\")])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Legal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Legal.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Legal.vue?vue&type=template&id=e3359912&scoped=true&\"\nimport script from \"./Legal.vue?vue&type=script&lang=js&\"\nexport * from \"./Legal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Legal.vue?vue&type=style&index=0&id=e3359912&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"e3359912\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('project-header',{attrs:{\"route\":\"/mechanics\"}}),_c('div',{staticClass:\"responsive\"},[_c('h4',[_vm._v(\"TL;DR\")]),_c('p',[_vm._v(\"During my work for UseTree we tested the usability of an application with maintenance workers. The aim of the application is to allow for easy and sustainable transfer of knowledge.\")]),_c('styled-image',{attrs:{\"src\":require(\"../../assets/mechanics/mechanics_app.png\"),\"alt\":\"Tablet with app and engine\"}}),_c('h4',[_vm._v(\"Origin\")]),_c('p',[_vm._v(\"Our client developed an app that should help mechanics with the repair of subway engines. Mechanics can view different material (photo, video,...) on the repair procedure of an engine and even record video themselves. The leading question was if the application provided substantial help for the work of the mechanics.\")]),_c('styled-image',{attrs:{\"src\":require(\"../../assets/mechanics/mechanics_interview.png\"),\"alt\":\"On-the-job interview with mechanic\"}}),_c('h4',[_vm._v(\"Field usability test\")]),_c('p',[_vm._v(\"During a field test at a repair shop I conducted testings with two mechanics each lasting one hour. The test included a exploration phase of the application and an interview afterwards. The test focused on the future use case of the application and was aimed to generate insights into the work processes and the integration of the application in these processes. It was set in a challenging environment: Limited time of the worker, loud noises in the repair shop, sparse familiarity with usability testing of the worker.\")]),_c('h4',[_vm._v(\"Lab usability test\")]),_c('p',[_vm._v(\"An additional test in a usability lab focused on the usability aspects of the application. Four students participated in this study.\")]),_c('styled-image',{attrs:{\"src\":require(\"../../assets/mechanics/workflow.png\"),\"alt\":\"Diagram of the application's workflow\"}}),_c('h4',[_vm._v(\"Evaluation\")]),_c('p',[_vm._v(\"The client was involved in all stages of test conduction and evaluation. This imparted basic usability competencies to the client and was aimed to integrate user-centered design in the client's workflow. The evaluation of the two tests generated valuable insights for the future development of the application. Several problems were identified regarding the integration of the app at the workplace and new ideas could be collected on how to achieve such an integration in a sustainable manner. The usability test unveiled room for improvement of the ease of use.\")]),_c('h4',[_vm._v(\"Reflection\")]),_c('p',[_vm._v(\"I carried out a majority of the field test planning and was the on-site examiner. Thus, I learnt a lot about the internal work processes of the mechanics in the repair shop. This project enhanced my knowledge of usability test design as the field test was set in a challenging environment. Finally, I learnt how to condense knowledge about the work situation, context of use and the functionality of the application to create a vision of a use case of maximum benefit.\")]),_c('h4',[_vm._v(\"Testimonial (german)\")]),_c('p',[_vm._v(\"\\\"Mit Hilfe von UseTree konnten wir das Usability-Konzept unserer Anwendung erfolgreich überprüfen und optimieren. UseTree lieferte wertvolle Hinweise und Verbesserungsansätze und überzeugte uns durch eine professionelle Arbeitsweise und ein hohes Maß an Kreativität. Wir können UseTree als Dienstleister uneingeschränkt weiterempfehlen und freuen uns auf künftige gemeinsame Projekte.\\\" - André Fiedler (Projektleiter)\")])],1),_c('project-arrows',{attrs:{\"route\":\"/mechanics\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Mechanics.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Mechanics.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Mechanics.vue?vue&type=template&id=e04c4390&\"\nimport script from \"./Mechanics.vue?vue&type=script&lang=js&\"\nexport * from \"./Mechanics.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"responsive\",attrs:{\"id\":\"PageNotFound\"}},[_c('h1',[_vm._v(\"404\")]),_c('p',[_vm._v(\"This page could not be found.\")]),_c('router-link',{attrs:{\"to\":\"/\"}},[_vm._v(\"Back to Homepage\")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./PageNotFound.vue?vue&type=template&id=af73ad34&scoped=true&\"\nvar script = {}\nimport style0 from \"./PageNotFound.vue?vue&type=style&index=0&id=af73ad34&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"af73ad34\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('project-header',{attrs:{\"route\":\"/phoenix\"}}),_c('div',{staticClass:\"responsive\"},[_c('h4',[_vm._v(\"TL;DR\")]),_c('p',[_vm._v(\"In my free time I programmed a music player and expanded on it over the years. I learnt a lot about User-Centered Design, software engineering and making use of stackoverflow.\")]),_c('h4',[_vm._v(\"Problem\")]),_c('p',[_vm._v(\"I was faced with the challenge of still having a lot of mp3s lying around but no suitable software to play and manage them. As streaming services such as Spotify take over traditional music players have shifted their focus (iTunes) or were abandoned all together (Winamp). So I decided to built a desktop music player suited for my own needs.\")]),_c('h4',[_vm._v(\"Research\")]),_c('p',[_vm._v(\"I tried to specify the context of use and the requirements for the music playing application. I identified the following:\")]),_vm._m(0),_c('p',[_vm._v(\"After that, I studied competing products: iTunes, Winamp, MediaMonkey and Windows Media Player. In what way did they fulfill their goals? What are their shortcomings? All of these applications provide a lot of functionality (playlists, file management, tag writing, equalizer and additional settings) and the user is generally expected to actively cue in his/her songs (except Genius-playlists by iTunes). A lot of space in the user interfaces of these applications is taken up by toolbars, menus, cover previews and large context menus. Also, old UI concepts are still in use such as the tree view navigation. Colors and style are mainly aimed to transport the corporate identity of the manufacturing company (WMP by windows, iTunes by apple).\")]),_c('h4',[_vm._v(\"Prototyping\")]),_c('styled-image',{attrs:{\"src\":require(\"../../assets/phoenix/paper_prototype.jpg\"),\"alt\":\"UI concept on paper\"}}),_c('p',[_vm._v(\"I transitioned from a low fidelity prototype on paper to a photoshop mockup to a fully-functioning Java prototype.\")]),_c('styled-image',{attrs:{\"src\":require(\"../../assets/phoenix/mockup_ps.jpg\"),\"alt\":\"Photoshop mockup of the application\"}}),_c('h4',[_vm._v(\"Evaluation\")]),_c('p',[_vm._v(\"During the use of the application I documented design flaws, bugs and possible improvements. These were then incorporated in the next version of the application. This iterative process of use and improvement led to a constant development cycle. At first, I made changes and added functionality in rapid succession, but often realized in hindsight that the change did not integrate very well with the rest of the application or provided too little value compard to its development costs. Later in the project I spend more time elaborating on possible features which made my work more sustainable and time-efficient.\")]),_c('styled-image',{attrs:{\"src\":require(\"../../assets/phoenix/shuffle_tooltip.png\"),\"alt\":\"Left: Mouseover effects of the shuffle button: none, hover, active; Right: Photoshop mockup of the application\"}}),_c('p',[_vm._v(\"Five key questions followed me during that process:\")]),_vm._m(1),_c('h4',[_vm._v(\"Design features\")]),_c('styled-image',{attrs:{\"src\":require(\"../../assets/phoenix/coverflow.mp4\"),\"alt\":\"Coverflow animation when changing tracks\"}}),_c('p',[_vm._v(\"Apart from the common media control I implemented three core design features:\")]),_vm._m(2),_c('h4',[_vm._v(\"Reflection\")]),_c('p',[_vm._v(\"During the iterations of implementation-testing I learnt how to get more efficient in my own workflow and how to counterbalance design and functionality. The experience from my university courses and the job at UseTree about usability, UX and user-centered design guided me through this process. Furthermore, I learnt how to prioritze features and implement only the ones that were important, sustainable and time-efficient. Apart from that my software development skills improved dramatically as I got more proficient in the Java language, the JavaFX frontend framework, SQL and different libraries.\")]),_vm._m(3),_c('h4',[_vm._v(\"Successor: PhoenixJS\")]),_c('styled-image',{attrs:{\"src\":require(\"../../assets/phoenix/wireframe_ps_js.png\"),\"alt\":\"Wireframe of the Javascript application\"}}),_c('p',[_vm._v(\"In the course of the project I often felt restrained by the limited capabilites of the JavaFX frontend framework. Also, even though I tried, I could never really separate functionality in Model-View-Controller resulting in a messy code base. And in the end I needed a good reason to learn JavaScript, so I decided to rewrite the application with React and Redux. I used nedb for the database part and deployed the whole application as a cross-platfrom compatible electron app.\")]),_vm._m(4)],1),_c('project-arrows',{attrs:{\"route\":\"/phoenix\"}})],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"Continuous background playback via a suggestion system (similar to YouTube's AutoPlay)\")]),_c('li',[_vm._v(\"A fast search for titles, artists, albums\")]),_c('li',[_vm._v(\"Good performance at low resource consumption\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"How do I provide a visual design that is consistent in colors, icons, animations, hover/interaction effects, element sizes, state of ui elements and affordances?\")]),_c('li',[_vm._v(\"What is the 'product identity' (aka corporate indentity) of Phoenix?\")]),_c('li',[_vm._v(\"How do I provide meaningfull and appropriate (error) feedback?\")]),_c('li',[_vm._v(\"What are the needs of the user and what implications do they have on the functionality of the software?\")]),_c('li',[_vm._v(\"How do I identify core use cases and choose the suitable interaction paradigm (e.g. search, buttons)?\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ol',[_c('li',[_vm._v(\"Auto-Dj: This functionality uses mp3 tag information to generate music suggestions (similar to populat AutoPlay functionalities in YouTube or Souncloud). It provides three modes of operation which start up once the user reaches the end of the tracklist.\")]),_c('ul',[_c('li',[_vm._v(\"Random track: Adds an unknown track that is similar to the last one.\")]),_c('li',[_vm._v(\"Random favourite track: Adds a favourite track of the user that is similar to the last one.\")]),_c('li',[_vm._v(\"Random track from album or artist: Adds a track from the same artist or album like the previous track.\")])]),_c('li',[_vm._v(\"Overlay with information about current track: Shows a short overlay containing information about the currently played track in the top right corner. As the overlay appears on top of all other windows this functionality is well suited to check back on your music while having it play in the background.\")]),_c('li',[_vm._v(\"Search: A SQL backend allowed for very fast and compley queries even with large music databases and made the search lightning fast.\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('a',{staticClass:\"link\",attrs:{\"href\":\"https://github.com/johannesschweig/Phoenix\"}},[_vm._v(\"View project on GitHub\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('a',{staticClass:\"link\",attrs:{\"href\":\"https://github.com/johannesschweig/PhoenixJS\"}},[_vm._v(\"View PhoenixJS on GitHub\")])])}]\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Phoenix.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Phoenix.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Phoenix.vue?vue&type=template&id=83073660&\"\nimport script from \"./Phoenix.vue?vue&type=script&lang=js&\"\nexport * from \"./Phoenix.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('project-header',{attrs:{\"route\":\"/querybuilder\"}}),_c('div',{staticClass:\"responsive\"},[_c('h4',[_vm._v(\"TL;DR\")]),_c('p',[_vm._v(\"I helped to build a functionality which lets users filter their data based on multiple, nested criteria.\")]),_c('h4',[_vm._v(\"Problem\")]),_c('styled-image',{attrs:{\"src\":require(\"../../assets/querybuilder/sql.png\"),\"alt\":\"The beauty of SQL\"}}),_c('p',[_vm._v(\"During my time at KNIME I was asked to create an interface for a node (KNIME term for encapsulated functionality) where users can filter their data based on multiple rules (e.g. filter out all rows in the data where the year column is smaller than 2016).\")]),_c('p',[_vm._v(\"The existing solution only supported one rule and the aim was to extend the functionality, so it could also work with multiple rules and it should be possible to nest rules (e.g. [condition A AND condition B] OR condition C). Users would not have to worry anymore about writing their queries in SQL because they could comfortably build them in a UI. This has several advantages:\")]),_vm._m(0),_c('h4',[_vm._v(\"Research\")]),_c('styled-image',{attrs:{\"src\":require(\"../../assets/querybuilder/querybuilders.png\"),\"alt\":\"Querybuilders by jQuery (left) and Microsoft Outlook (right)\"}}),_c('p',[_vm._v(\"I researched about how others have tried to solve this problem and found a number of different user interfaces. Some of them represented their rules as a graph, some of them as a nested list. And they also differed in how they made the actions such as creating or deleting rules available to the user.\")]),_c('h4',[_vm._v(\"Ideation\")]),_c('p',[_vm._v(\"Then I proceeded to explore the problem space with sketches. This brought up questions such as:\")]),_vm._m(1),_c('p',[_vm._v(\"Trying to answer those questions helped to find possible solutions, narrowed the problem space, but also improved my understanding of the domain (Querying a database).\")]),_c('h4',[_vm._v(\"Variations\")]),_c('styled-image',{attrs:{\"src\":require(\"../../assets/querybuilder/variations.png\"),\"alt\":\"Variations of rule representations: vertical graph, treeview, inline form, horizontal graph\"}}),_c('p',[_vm._v(\"I came up with a variation where the rules were laid out top to bottom, groups were indicated by different colored rectangles and you could edit the rules right in place (see inline form in image above). It quickly came apparent that this solution would fit for easy queries with few rules and few nesting levels, but not for very complex queries. Then I designed a version where you would have a preview section on one side and an edit section on the other. This would allow for easier layouting as you would only have to display the currently selected rule. All other rules were displayed with a small label. The display of the preview varied: vertical graph, horizontal graph or treeview. \")]),_c('h4',[_vm._v(\"Testing\")]),_c('styled-image',{attrs:{\"src\":require(\"../../assets/querybuilder/concept.png\"),\"alt\":\"Final UI concept\"}}),_c('p',[_vm._v(\"I created a small paper protoype and showed it to different colleagues. During the test the colleague had to press the buttons on the paper and I would (as responsively as I could) \\\"slide in\\\" the new UI elements (\\\"Wizard of Oz prototyping\\\"). After testing we decided that the AND/OR of groups should be positioned on top of them and not between the rules as our participants prefered by this. .\")]),_c('p',[_vm._v(\"In the end we decided for the treeview as it was easier to implement as the other concepts, was recognized as a familiar component by the users and also showed good results in user interaction.\")]),_c('styled-image',{attrs:{\"src\":require(\"../../assets/querybuilder/row-filter.png\"),\"alt\":\"User interface as of KNIME Analytics Platform v3.7.1\"}})],1),_c('project-arrows',{attrs:{\"route\":\"/querybuilder\"}})],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"Avoiding typos by using dropdowns and other UI components\")]),_c('li',[_vm._v(\"Faster rule generation with suggestions (e.g. possible values of columns)\")]),_c('li',[_vm._v(\"Better understanding through hierarchical display of rules (if you have once tried to make sense of another person's excel formulas, you know what I mean)\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"How many different combinations of nested rules could there be? (A lot)\")]),_c('li',[_vm._v(\"How do you present the rules to the user? Inline forms / Graph preview / treeview preview? (see image below)\")]),_c('li',[_vm._v(\"Do you connect items in a group with an AND/OR or do you set it to the top of the group?\")])])}]\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QueryBuilder.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QueryBuilder.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./QueryBuilder.vue?vue&type=template&id=ca3af6c2&\"\nimport script from \"./QueryBuilder.vue?vue&type=script&lang=js&\"\nexport * from \"./QueryBuilder.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('project-header',{attrs:{\"route\":\"/scenariomanager\"}}),_c('div',{staticClass:\"responsive body1\"},[_c('h4',[_vm._v(\"TL;DR\")]),_c('p',[_vm._v(\"I led a discovery project aiming to improve a core functionality in a web application. I interviewed customers and internal stakeholders. As a result a couple of smaller fixes and a big feature were developed.\")]),_c('h4',[_vm._v(\"Problem statement\")]),_vm._m(0),_c('p',[_vm._v(\"The initial timeline for the project was set to 3 weeks. I proposed a project plan with three phases starting with a research phase, then an ideation/creation phase and finally a validation phase. In the end we wanted to have wireframes that we could create stories for and make part of a sprint. In the following, I will focus on the way I conducted the customer interviews and condensed the findings.\")]),_c('styled-image',{attrs:{\"src\":require(\"../../assets/scenariomanager/project-plan.png\"),\"alt\":\"Plan for the project\"}}),_c('h4',[_vm._v(\"Research\")]),_c('h5',[_vm._v(\"Customer interviews\")]),_c('p',[_vm._v(\"I prepared a semi-structured interview with around 10 questions asking about\")]),_vm._m(1),_c('p',[_vm._v(\"I skipped questions that were not applicable for the participant or asked again if there was a chance to gain more insights by diving deeper into a topic.\")]),_c('p',[_vm._v(\"We managed to recruit customers from four companies and I talked to three internal consultants. The interviews were audio recorded and transcribed later.\")]),_c('h5',[_vm._v(\"Condense findings\")]),_vm._m(2),_c('styled-image',{attrs:{\"src\":require(\"../../assets/scenariomanager/snip-gif.mp4\"),\"alt\":\"Data wall with snips moving into bigger topics\"}}),_c('h4',[_vm._v(\"Ideation/Creation\")]),_c('h5',[_vm._v(\"Present findings\")]),_c('p',[_vm._v(\"I presented these topics to my product manager and we decided which topics we would prioritize for now.\")]),_c('styled-image',{attrs:{\"src\":require(\"../../assets/scenariomanager/mass-ass-slide.jpg\"),\"alt\":\"Mass of assumptions was one bigger topic\"}}),_c('h4',[_vm._v(\"Development\")]),_c('p',[_vm._v(\"A couple of smaller features were developed right after concluding the validation with customers. A search functionality was added to the scenario manager to find items in the list faster. Also, a couple of visual tweaks were made to the scenario manager and a convenient keyboard shortcut for faster navigation was introduced.\")]),_c('p',[_vm._v(\"We had a bigger feature idea about grouping similar assumptions together and making it easier to switch between them. This idea was further iterated and refined until it was ready to be developed and shipped.\")]),_c('styled-image',{attrs:{\"src\":require(\"../../assets/scenariomanager/variants.jpg\"),\"alt\":\"Assumptions are grouped using \\\"variants\\\"\"}}),_c('h4',[_vm._v(\"Learnings\")]),_c('p',[_vm._v(\"In hindsight, I was proud and amazed at how often I would come back to my findings for related topics or just look at the written protocols if I vaguely remembered somebody having said something similar in one of the interviews. A powerful quote from a user really sticks in your head!\")]),_c('p',[_vm._v(\"I also enjoyed passing back the positive feedback from the interviews to the developers. They certainly deserved it.\")]),_c('p',[_vm._v(\"The project also inspired lots of people involved in building the product and served as a source of feature ideas for the future.\")]),_c('p',[_vm._v(\"On the other hand, the problem statement could have been clearer. The broad scope of it allowed for a lot of valuable exploration to happen, but it also felt like it was not worth the effort at times. Changing something is very hard if it has been at the core of an application for many years. Usually, there are good reasons why it is the way it is and users are not happy to have their workflow changed.\")])],1),_c('project-arrows',{attrs:{\"route\":\"/scenariomanager\"}})],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_c('a',{staticClass:\"link\",attrs:{\"href\":\"https://www.valsight.com/\"}},[_vm._v(\"Valsight\")]),_vm._v(\" offers a financial planning solution for big companies. One of the core features is the “scenario manager” where you can create and modify assumptions (+10% more sales next year) and add them to scenarios (best case). Historically grown, it was very complex to understand and use. My task was to talk to users and figure out a way to make it easier to understand and better to use.\")])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',[_c('li',[_vm._v(\"The current usage of the scenario manager\")]),_c('li',[_vm._v(\"What worked well and what did not\")]),_c('li',[_vm._v(\"What information was important to them and what not\")]),_c('li',[_vm._v(\"How they worked with the scenario manager\")]),_c('li',[_vm._v(\"Who worked with it the most and how they collaborated as a team\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"I printed out the interview protocols on paper and cut them into small snips of a few sentences each. Then I started a \"),_c('a',{staticClass:\"link\",attrs:{\"href\":\"https://www.thisisservicedesigndoing.com/methods/building-a-research-wall\"}},[_vm._v(\"data wall\")]),_vm._v(\" where I grouped snips to broader topics. After that I removed smaller topics to focus on the big topics that started to emerge.\")])}]\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ScenarioManager.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ScenarioManager.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ScenarioManager.vue?vue&type=template&id=5052633b&\"\nimport script from \"./ScenarioManager.vue?vue&type=script&lang=js&\"\nexport * from \"./ScenarioManager.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('project-header',{attrs:{\"route\":\"/thesis\"}}),_c('div',{staticClass:\"responsive\"},[_c('h2',[_vm._v(\"TL;DR\")]),_c('p',[_vm._v(\"In my master thesis I examined the effects of wearing eyeglasses on eye tracking. I used methods from statistics and machine learning to correct for eyeglass-induced errors.\")]),_c('styled-image',{attrs:{\"src\":require(\"../../assets/thesis/foveated-rendering.png\"),\"alt\":\"Foveated rendering in a VR game\"}}),_c('h2',[_vm._v(\"Background\")]),_vm._m(0),_c('h2',[_vm._v(\"Data collection\")]),_c('p',[_vm._v(\"I collected data using a head model with artificial eyes and different pairs of eyeglasses on various positions of the screen. Two datasets were obtained; one for training and testing the models and one dataset for validation. The validation dataset contained a portion of new data. Its aim was to assess how well the models could generalize on new data.\")]),_c('styled-image',{attrs:{\"src\":require(\"../../assets/thesis/data-coll.png\"),\"alt\":\"Collected eye tracking data\"}}),_c('h2',[_vm._v(\"Classification\")]),_c('p',[_vm._v(\"I employed several popular machine learning algorithms (KNN, SVM, MLP,...) to build classification models. These models were adjusted on the data (hyperparameters) in a grid search paradigm with a 10-fold cross-validation. The final models were evaluated on training, test and validation set. The Multi-layer perceptron model (MLP) showed the highest performance with a fscore of .99 on the test set and a fscore of .73 on the validation set.\")]),_c('styled-image',{attrs:{\"src\":require(\"../../assets/thesis/gnb.png\"),\"alt\":\"Confusion matrix of a trained model\"}}),_c('h2',[_vm._v(\"Error correction\")]),_c('p',[_vm._v(\"I built several models following a weighted-average and a regression approach. The weighted-average model was able to reduce the error by about 50% on the training and test set. The regression model reduced the error by about 25%. Both models performed equally on the validation set with a reduction of 45% in X direction and 10% in Y direction.\")]),_c('styled-image',{attrs:{\"src\":require(\"../../assets/thesis/regX.png\"),\"alt\":\"3D Scatterplot with a regression plane for the X offset\"}}),_c('h2',[_vm._v(\"Reflection\")]),_c('p',[_vm._v(\"My thesis was the first major research project that I conducted from start to finish. I recognized the vitality of an early distinct and definite definition of the task. I learned a lot about the practical application of machine learning on real data and how to deal with problems of data quality like missing and noisy data. I learnt how to make reasonable deductions from preliminary work and how to support my own claims. Lastly, I learnt how to interpret results in the presence of ambiguity and uncertainty and how huge the effort is in order to make small progress in research.\")]),_c('a',{attrs:{\"id\":\"download\",\"target\":\"_blank\",\"href\":require(\"../../assets/thesis/thesis.pdf\")}},[_c('img',{attrs:{\"src\":require(\"../../assets/thesis/download.png\"),\"width\":\"32\"}}),_vm._v(\" Download the pdf here \")])],1),_c('project-arrows',{attrs:{\"route\":\"/thesis\"}})],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',[_vm._v(\"Eye tracking is a useful method which is not only used in research and interactive systems but also in future technologies such as the \"),_c('a',{attrs:{\"target\":\"_blank\",\"href\":\"https://techcrunch.com/2016/12/28/the-eye-tribe-oculus/\"}},[_vm._v(\"foveated rendering for VR\")]),_vm._v(\". Modern eye trackers use a combination of the pupil position and an infrared reflection to infer the point of gaze. Corrective eyeglasses, however, pose a challenge for the eyetracking system. They alter the image of the eye, thus causing errors in the eyetracking signal. These errors are related to the refractive strength of the eyeglasses. In my thesis, I tried to build a classification model that takes eye tracking data as input in order to output the refractive strength of the current user. On the basis of this classification, an error correction is applied that corrects the eye tracking data dependening on the refractive strength.\")])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Thesis.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Thesis.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Thesis.vue?vue&type=template&id=6a36c1f6&scoped=true&\"\nimport script from \"./Thesis.vue?vue&type=script&lang=js&\"\nexport * from \"./Thesis.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Thesis.vue?vue&type=style&index=0&id=6a36c1f6&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6a36c1f6\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('project-header',{attrs:{\"route\":\"/trafficticket\"}}),_vm._m(0),_c('project-arrows',{attrs:{\"route\":\"/trafficticket\"}})],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"responsive\"},[_c('h4',[_vm._v(\"TL;DR\")]),_c('p',[_vm._v(\"I was the project lead for a big car rental company building a system that automatically processed traffic tickets.\")]),_c('h5',[_vm._v(\"The nature of this work is confidential. I can tell you more about my involvement in private.\")])])}]\n\nexport { render, staticRenderFns }","\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TrafficTicket.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TrafficTicket.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TrafficTicket.vue?vue&type=template&id=20972d98&\"\nimport script from \"./TrafficTicket.vue?vue&type=script&lang=js&\"\nexport * from \"./TrafficTicket.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\nimport Router from 'vue-router'\nimport About from '@/components/content/About.vue'\nimport CodeSnippets from '@/components/projects/CodeSnippets.vue'\nimport EsGehtLos from '@/components/projects/EsGehtLos.vue'\nimport Greenbox from '@/components/projects/Greenbox.vue'\nimport KnimeHub from '@/components/projects/KnimeHub.vue'\nimport LandingPage from '@/components/content/LandingPage.vue'\nimport Legal from '@/components/content/Legal.vue'\nimport Mechanics from '@/components/projects/Mechanics.vue'\nimport PageNotFound from '@/components/content/PageNotFound.vue'\nimport Phoenix from '@/components/projects/Phoenix.vue'\nimport QueryBuilder from '@/components/projects/QueryBuilder.vue'\nimport ScenarioManager from '@/components/projects/ScenarioManager.vue'\nimport Thesis from '@/components/projects/Thesis.vue'\nimport TrafficTicket from '@/components/projects/TrafficTicket.vue'\n\nVue.use(Router)\n\nexport default new Router({\n routes: [\n { path: '/', component: LandingPage },\n { path: '/about', component: About },\n { path: '/codesnippets', component: CodeSnippets },\n { path: '/esgehtlos', component: EsGehtLos },\n { path: '/greenbox', component: Greenbox },\n { path: '/knimehub', component: KnimeHub },\n { path: '/legal', component: Legal},\n { path: '/mechanics', component: Mechanics },\n { path: '/phoenix', component: Phoenix },\n { path: '/querybuilder', component: QueryBuilder },\n { path: '/scenariomanager', component: ScenarioManager },\n { path: '/thesis', component: Thesis },\n { path: '/trafficticket', component: TrafficTicket },\n { path: '*', component: PageNotFound}\n ],\n mode: 'history',\n scrollBehavior () {\n return { x: 0, y: 0 }\n }\n})\n","// The Vue build version to load with the `import` command\n// (runtime-only or standalone) has been set in webpack.base.conf with an alias.\nimport Vue from 'vue'\nimport App from './App'\nimport router from './router'\n\nVue.config.productionTip = false\n\n/* eslint-disable no-new */\nnew Vue({\n render: h => h(App),\n el: '#app',\n router,\n components: { App },\n template: ''\n}).$mount('#app')\n","module.exports = __webpack_public_path__ + \"img/paper_prototype.6732246c.jpg\";","module.exports = __webpack_public_path__ + \"img/bio-image.cf1651b2.jpg\";","module.exports = __webpack_public_path__ + \"img/adjustable-eyes.c99ce49e.jpg\";","module.exports = __webpack_public_path__ + \"img/greenbox_app2.511cbbbe.png\";","module.exports = __webpack_public_path__ + \"img/wireframe_ps_js.38ad42c0.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKUAAAAPCAMAAACycv9gAAAAMFBMVEVMaXEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEhISEKlNcAAAAAD3RSTlMAu90id0SZZswRqjOIVe4eYAFsAAAB70lEQVR42u2U2ZKtIAxFmUQGlf//295JkOBwXk513ZfblEVUMiySgPkbvzl8bK0d24fVrfnX/zVcPl3jsYxlZ0ms+G/9JEmpmCjagaLz2z36Ak/JXX4kmAf3CvN5Idjnv+iG06NZEgDxzp4Se56sVt6/xxJew5OyzBFc+qoC8UbJAdcRJFqm3Jh9SFPiFJjfPQOm9KScx952NUtI/ZKoOLS9RlkOjUw4hqeVLDOm5rqFplKjGGtH7YPKFC6pVEpoh6MdK74hd4SEhwEBCq+9tZBVNBktsZJ0dqYsoNj6DB9icU3lGIMSW5okt2U+UzkoA/ysMEck36jFBmUx/oikUMkntbIrfFoyJxhbpcWslHggZT4py2tXyrqeI5V1fMN/pxRyKXramFopPXnSihNl5FiSFlbANFHmeECL55My3lL5pOSt3mRP5cglFa/fEhFuHpR8epTynsttzmXvYpnvlKzwoCxW6E4pd9shqVRK7rsidflAWaU9O6X2JbTrEWnnuW2okzNhAd8iM7XnDgtyWLt3ubiyUooTV4asMeOSCrK/Wy53chDqGyXrFUm1WPIZT3TG+SxzfeigFUeHEC55hhpWYSEkmsrIzFI+y5bY9ZAV/U+QEn70JV8q7Lj4V8pPgxW+GDmZfzm+o6Su+G/HD6HrGBNr5t/wAAAAAElFTkSuQmCC\"","module.exports = __webpack_public_path__ + \"img/formulas04.507aefad.jpg\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Legal.vue?vue&type=style&index=0&id=e3359912&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=style&index=0&id=5e2b32e6&scoped=true&lang=css&\"","module.exports = __webpack_public_path__ + \"assets/pdf/thesis.0901653d.pdf\";","module.exports = __webpack_public_path__ + \"img/shuffle_tooltip.fde1ca92.png\";","module.exports = __webpack_public_path__ + \"img/variations.e936ca1f.png\";","module.exports = __webpack_public_path__ + \"img/gnb.a0d7405b.png\";","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 48 48\"}, attrs),\n ...rest,\n },\n children.concat([_c('defs'),_c('g',{attrs:{\"id\":\"Layer_2\",\"data-name\":\"Layer 2\"}},[_c('g',{attrs:{\"id\":\"github_hover\"}},[_c('path',{attrs:{\"d\":\"M24 .59a24 24 0 00-7.59 46.78c1.2.22 1.64-.52 1.64-1.16v-4.47c-6.68 1.46-8.09-2.83-8.09-2.83-1.12-2.77-2.69-3.51-2.69-3.51-2.18-1.49.16-1.46.16-1.46a5 5 0 013.68 2.47c2.14 3.67 5.62 2.61 7 2a5.07 5.07 0 011.52-3.21C14.3 34.59 8.7 32.54 8.7 23.34a9.26 9.26 0 012.47-6.44 8.63 8.63 0 01.23-6.35s2-.65 6.6 2.46a22.7 22.7 0 0112 0c4.58-3.11 6.6-2.46 6.6-2.46a8.63 8.63 0 01.23 6.35 9.26 9.26 0 012.47 6.44c0 9.22-5.61 11.25-11 11.84a5.76 5.76 0 011.7 4.45v6.58c0 .79.43 1.39 1.65 1.15A24 24 0 0024 .59z\",\"fill-rule\":\"evenodd\"}}),_c('path',{staticClass:\"cls-3\",attrs:{\"d\":\"M9.09 35.05c-.05.12-.24.16-.41.07a.3.3 0 01-.22-.36c0-.12.24-.15.42-.07s.27.24.21.36zM10.06 36.14c-.11.1-.34 0-.49-.12a.36.36 0 01-.07-.49.36.36 0 01.49.11c.16.17.19.39.07.5zM11 37.52c-.15.1-.39 0-.54-.21s-.14-.47 0-.57.38 0 .53.2.15.47 0 .58zM12.3 38.85c-.13.15-.41.11-.61-.09s-.27-.47-.14-.61a.45.45 0 01.62.09c.21.19.27.47.13.61zM14.09 39.63c-.05.19-.32.27-.6.19s-.45-.3-.39-.49a.46.46 0 01.6-.19c.27.08.45.3.39.49zM16.06 39.77c0 .2-.23.36-.51.37S15 40 15 39.79s.22-.36.51-.37.52.16.52.35zM17.89 39.46c0 .19-.17.39-.45.45s-.54-.07-.57-.26.16-.4.44-.45.54.06.58.26z\"}})])])])\n )\n }\n }\n ","module.exports = __webpack_public_path__ + \"img/mechanics.fd8bc77f.png\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectPreview.vue?vue&type=style&index=0&id=9ccefd46&scoped=true&lang=css&\"","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"media/coverflow.e57db30e.mp4\";","module.exports = __webpack_public_path__ + \"img/workflow.dc822e88.png\";","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"viewBox\":\"0 0 48 48\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"d\":\"M2 8a2 2 0 00-2 2v28a2 2 0 002 2h44a2 2 0 002-2V10a2 2 0 00-2-2H2zm2.454 7.895a1 1 0 011.401-.191l11.81 8.977.03.023 5.55 4.22a1.244 1.244 0 00.755.253c.273 0 .538-.089.755-.253l5.55-4.22a.495.495 0 01.014-.01l.017-.013 11.809-8.977a1 1 0 111.21 1.592L32.563 25.5l10.792 8.204a1 1 0 11-1.21 1.592l-11.234-8.54-4.946 3.76a3.25 3.25 0 01-3.93 0l-4.946-3.76-11.234 8.54a1 1 0 01-1.21-1.592L15.437 25.5 4.645 17.296a1 1 0 01-.191-1.401z\",\"fill\":\"#fff\"}})])\n )\n }\n }\n ","module.exports = __webpack_public_path__ + \"img/typo.05501c41.png\";","module.exports = __webpack_public_path__ + \"img/greenbox_v1.f3127872.jpg\";","module.exports = __webpack_public_path__ + \"img/mechanics_app.95c69a34.png\";","module.exports = __webpack_public_path__ + \"img/phoenix_mp.a48fe521.jpg\";","module.exports = __webpack_public_path__ + \"img/mass-ass-slide.06d61890.jpg\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StyledImage.vue?vue&type=style&index=0&id=21430c51&scoped=true&lang=css&\"","module.exports = __webpack_public_path__ + \"img/variants.08a77f33.jpg\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectHeader.vue?vue&type=style&index=0&id=664fedb4&scoped=true&lang=css&\"","module.exports = __webpack_public_path__ + \"img/mechanics_interview.43f8fc96.png\";","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"width\":\"16\",\"height\":\"16\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"d\":\"M1 8l-.354-.354a.5.5 0 000 .708L1 8zm14 .5a.5.5 0 000-1v1zM5.854 3.854a.5.5 0 10-.708-.708l.708.708zm-.708 9a.5.5 0 00.708-.708l-.708.708zM1 8.5h14v-1H1v1zm.354-.146l4.5-4.5-.708-.708-4.5 4.5.708.708zm-.708 0l4.5 4.5.708-.708-4.5-4.5-.708.708z\",\"fill\":\"#000\"}})])\n )\n }\n }\n ","module.exports = __webpack_public_path__ + \"img/regX.94898e50.png\";","module.exports = __webpack_public_path__ + \"img/concept.3933ace9.png\";","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"width\":\"32\",\"height\":\"32\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"d\":\"M26.666 1.333A1.333 1.333 0 0128 2.667v26.666a1.333 1.333 0 01-1.334 1.334H5.334A1.333 1.333 0 014 29.333V2.667a1.333 1.333 0 011.333-1.334h21.334zm0-1.333H5.334a2.667 2.667 0 00-2.667 2.667v26.666A2.667 2.667 0 005.333 32h21.334a2.667 2.667 0 002.666-2.667V2.667A2.667 2.667 0 0026.667 0z\",\"fill\":\"#000\"}}),_c('path',{attrs:{\"d\":\"M15.666 6.667a2 2 0 100-4 2 2 0 000 4zM15.667 7A4.667 4.667 0 0011 11.667h9.333A4.667 4.667 0 0015.667 7zM26.333 15.5H5v1.333h21.333V15.5zM26.333 20.587H5v1.333h21.333v-1.333zM26.333 25.667H5V27h21.333v-1.333z\",\"fill\":\"#000\"}})])\n )\n }\n }\n ","module.exports = __webpack_public_path__ + \"img/querybuilder.75ad2214.png\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./About.vue?vue&type=style&index=0&id=71f764a6&scoped=true&lang=css&\"","module.exports = __webpack_public_path__ + \"img/quotes.a819a60b.png\";","module.exports = __webpack_public_path__ + \"img/data-coll.478ebcd0.png\";","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 48 48\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"d\":\"M40.9 40.9h-7.11V29.76c0-2.65 0-6.07-3.7-6.07s-4.28 2.89-4.28 5.88V40.9H18.7V18h6.83v3.13h.1a7.46 7.46 0 016.73-3.7c7.21 0 8.54 4.74 8.54 10.91V40.9zm-30.22-26a4.13 4.13 0 114.12-4.12 4.13 4.13 0 01-4.12 4.12zm3.56 26H7.12V18h7.12v22.9zM44.45 0H3.54A3.5 3.5 0 000 3.46v41.08A3.5 3.5 0 003.54 48h40.91A3.51 3.51 0 0048 44.54V3.46A3.51 3.51 0 0044.45 0z\",\"fill\":\"#fff\",\"data-name\":\"Layer 2\"}})])\n )\n }\n }\n ","module.exports = __webpack_public_path__ + \"img/greenbox_app3.eca497a4.png\";","module.exports = __webpack_public_path__ + \"img/ticket1.fd67465f.jpeg\";","module.exports = __webpack_public_path__ + \"img/greenbox_v2.aefd06ed.jpg\";","module.exports = __webpack_public_path__ + \"img/querybuilders.51618a71.png\";","module.exports = __webpack_public_path__ + \"img/pattern.db6777fa.png\";","module.exports = __webpack_public_path__ + \"img/greenbox_presentation.eea2892e.png\";","module.exports = __webpack_public_path__ + \"img/demo.82967291.png\";","module.exports = __webpack_public_path__ + \"img/foveated-rendering.5897ea89.png\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PageNotFound.vue?vue&type=style&index=0&id=af73ad34&scoped=true&lang=css&\"","module.exports = __webpack_public_path__ + \"img/communities.4f837362.png\";","module.exports = __webpack_public_path__ + \"img/brainstorming-sideshot.56840d0c.jpg\";","module.exports = __webpack_public_path__ + \"img/project-plan.2d8ee402.png\";","module.exports = __webpack_public_path__ + \"img/node-issues.d5af57fb.png\";"],"sourceRoot":""} \ No newline at end of file diff --git a/js/chunk-vendors.7674dbda.js b/js/chunk-vendors.7674dbda.js new file mode 100644 index 0000000..a56d4f6 --- /dev/null +++ b/js/chunk-vendors.7674dbda.js @@ -0,0 +1,13 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-vendors"],{"00ee":function(t,e,n){var r=n("b622"),o=r("toStringTag"),i={};i[o]="z",t.exports="[object z]"===String(i)},"0366":function(t,e,n){var r=n("1c0b");t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 0:return function(){return t.call(e)};case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}}},"057f":function(t,e,n){var r=n("fc6a"),o=n("241c").f,i={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],c=function(t){try{return o(t)}catch(e){return a.slice()}};t.exports.f=function(t){return a&&"[object Window]"==i.call(t)?c(t):o(r(t))}},"06cf":function(t,e,n){var r=n("83ab"),o=n("d1e7"),i=n("5c6c"),a=n("fc6a"),c=n("c04e"),s=n("5135"),u=n("0cfb"),f=Object.getOwnPropertyDescriptor;e.f=r?f:function(t,e){if(t=a(t),e=c(e,!0),u)try{return f(t,e)}catch(n){}if(s(t,e))return i(!o.f.call(t,e),t[e])}},"0cfb":function(t,e,n){var r=n("83ab"),o=n("d039"),i=n("cc12");t.exports=!r&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},"159b":function(t,e,n){var r=n("da84"),o=n("fdbc"),i=n("17c2"),a=n("9112");for(var c in o){var s=r[c],u=s&&s.prototype;if(u&&u.forEach!==i)try{a(u,"forEach",i)}catch(f){u.forEach=i}}},"17c2":function(t,e,n){"use strict";var r=n("b727").forEach,o=n("a640"),i=n("ae40"),a=o("forEach"),c=i("forEach");t.exports=a&&c?[].forEach:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}},"19aa":function(t,e){t.exports=function(t,e,n){if(!(t instanceof e))throw TypeError("Incorrect "+(n?n+" ":"")+"invocation");return t}},"1be4":function(t,e,n){var r=n("d066");t.exports=r("document","documentElement")},"1c0b":function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t}},"1c7e":function(t,e,n){var r=n("b622"),o=r("iterator"),i=!1;try{var a=0,c={next:function(){return{done:!!a++}},return:function(){i=!0}};c[o]=function(){return this},Array.from(c,(function(){throw 2}))}catch(s){}t.exports=function(t,e){if(!e&&!i)return!1;var n=!1;try{var r={};r[o]=function(){return{next:function(){return{done:n=!0}}}},t(r)}catch(s){}return n}},"1cdc":function(t,e,n){var r=n("342f");t.exports=/(iphone|ipod|ipad).*applewebkit/i.test(r)},"1d80":function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},"1dde":function(t,e,n){var r=n("d039"),o=n("b622"),i=n("2d00"),a=o("species");t.exports=function(t){return i>=51||!r((function(){var e=[],n=e.constructor={};return n[a]=function(){return{foo:1}},1!==e[t](Boolean).foo}))}},2266:function(t,e,n){var r=n("825a"),o=n("e95a"),i=n("50c4"),a=n("0366"),c=n("35a1"),s=n("9bdd"),u=function(t,e){this.stopped=t,this.result=e},f=t.exports=function(t,e,n,f,l){var p,d,h,v,y,m,g,b=a(e,n,f?2:1);if(l)p=t;else{if(d=c(t),"function"!=typeof d)throw TypeError("Target is not iterable");if(o(d)){for(h=0,v=i(t.length);v>h;h++)if(y=f?b(r(g=t[h])[0],g[1]):b(t[h]),y&&y instanceof u)return y;return new u(!1)}p=d.call(t)}m=p.next;while(!(g=m.call(p)).done)if(y=s(p,b,g.value,f),"object"==typeof y&&y&&y instanceof u)return y;return new u(!1)};f.stop=function(t){return new u(!0,t)}},"23cb":function(t,e,n){var r=n("a691"),o=Math.max,i=Math.min;t.exports=function(t,e){var n=r(t);return n<0?o(n+e,0):i(n,e)}},"23e7":function(t,e,n){var r=n("da84"),o=n("06cf").f,i=n("9112"),a=n("6eeb"),c=n("ce4e"),s=n("e893"),u=n("94ca");t.exports=function(t,e){var n,f,l,p,d,h,v=t.target,y=t.global,m=t.stat;if(f=y?r:m?r[v]||c(v,{}):(r[v]||{}).prototype,f)for(l in e){if(d=e[l],t.noTargetGet?(h=o(f,l),p=h&&h.value):p=f[l],n=u(y?l:v+(m?".":"#")+l,t.forced),!n&&void 0!==p){if(typeof d===typeof p)continue;s(d,p)}(t.sham||p&&p.sham)&&i(d,"sham",!0),a(f,l,d,t)}}},"241c":function(t,e,n){var r=n("ca84"),o=n("7839"),i=o.concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,i)}},2626:function(t,e,n){"use strict";var r=n("d066"),o=n("9bf2"),i=n("b622"),a=n("83ab"),c=i("species");t.exports=function(t){var e=r(t),n=o.f;a&&e&&!e[c]&&n(e,c,{configurable:!0,get:function(){return this}})}},2877:function(t,e,n){"use strict";function r(t,e,n,r,o,i,a,c){var s,u="function"===typeof t?t.options:t;if(e&&(u.render=e,u.staticRenderFns=n,u._compiled=!0),r&&(u.functional=!0),i&&(u._scopeId="data-v-"+i),a?(s=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||"undefined"===typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),o&&o.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},u._ssrRegister=s):o&&(s=c?function(){o.call(this,(u.functional?this.parent:this).$root.$options.shadowRoot)}:o),s)if(u.functional){u._injectStyles=s;var f=u.render;u.render=function(t,e){return s.call(e),f(t,e)}}else{var l=u.beforeCreate;u.beforeCreate=l?[].concat(l,s):[s]}return{exports:t,options:u}}n.d(e,"a",(function(){return r}))},"2b0e":function(t,e,n){"use strict";(function(t){ +/*! + * Vue.js v2.6.11 + * (c) 2014-2019 Evan You + * Released under the MIT License. + */ +var n=Object.freeze({});function r(t){return void 0===t||null===t}function o(t){return void 0!==t&&null!==t}function i(t){return!0===t}function a(t){return!1===t}function c(t){return"string"===typeof t||"number"===typeof t||"symbol"===typeof t||"boolean"===typeof t}function s(t){return null!==t&&"object"===typeof t}var u=Object.prototype.toString;function f(t){return"[object Object]"===u.call(t)}function l(t){return"[object RegExp]"===u.call(t)}function p(t){var e=parseFloat(String(t));return e>=0&&Math.floor(e)===e&&isFinite(t)}function d(t){return o(t)&&"function"===typeof t.then&&"function"===typeof t.catch}function h(t){return null==t?"":Array.isArray(t)||f(t)&&t.toString===u?JSON.stringify(t,null,2):String(t)}function v(t){var e=parseFloat(t);return isNaN(e)?t:e}function y(t,e){for(var n=Object.create(null),r=t.split(","),o=0;o-1)return t.splice(n,1)}}var b=Object.prototype.hasOwnProperty;function _(t,e){return b.call(t,e)}function w(t){var e=Object.create(null);return function(n){var r=e[n];return r||(e[n]=t(n))}}var x=/-(\w)/g,O=w((function(t){return t.replace(x,(function(t,e){return e?e.toUpperCase():""}))})),C=w((function(t){return t.charAt(0).toUpperCase()+t.slice(1)})),A=/\B([A-Z])/g,S=w((function(t){return t.replace(A,"-$1").toLowerCase()}));function k(t,e){function n(n){var r=arguments.length;return r?r>1?t.apply(e,arguments):t.call(e,n):t.call(e)}return n._length=t.length,n}function j(t,e){return t.bind(e)}var $=Function.prototype.bind?j:k;function E(t,e){e=e||0;var n=t.length-e,r=new Array(n);while(n--)r[n]=t[n+e];return r}function T(t,e){for(var n in e)t[n]=e[n];return t}function P(t){for(var e={},n=0;n0,nt=Z&&Z.indexOf("edge/")>0,rt=(Z&&Z.indexOf("android"),Z&&/iphone|ipad|ipod|ios/.test(Z)||"ios"===Q),ot=(Z&&/chrome\/\d+/.test(Z),Z&&/phantomjs/.test(Z),Z&&Z.match(/firefox\/(\d+)/)),it={}.watch,at=!1;if(J)try{var ct={};Object.defineProperty(ct,"passive",{get:function(){at=!0}}),window.addEventListener("test-passive",null,ct)}catch(Oa){}var st=function(){return void 0===K&&(K=!J&&!Y&&"undefined"!==typeof t&&(t["process"]&&"server"===t["process"].env.VUE_ENV)),K},ut=J&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function ft(t){return"function"===typeof t&&/native code/.test(t.toString())}var lt,pt="undefined"!==typeof Symbol&&ft(Symbol)&&"undefined"!==typeof Reflect&&ft(Reflect.ownKeys);lt="undefined"!==typeof Set&&ft(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var dt=I,ht=0,vt=function(){this.id=ht++,this.subs=[]};vt.prototype.addSub=function(t){this.subs.push(t)},vt.prototype.removeSub=function(t){g(this.subs,t)},vt.prototype.depend=function(){vt.target&&vt.target.addDep(this)},vt.prototype.notify=function(){var t=this.subs.slice();for(var e=0,n=t.length;e-1)if(i&&!_(o,"default"))a=!1;else if(""===a||a===S(t)){var s=te(String,o.type);(s<0||c0&&(a=ke(a,(e||"")+"_"+n),Se(a[0])&&Se(u)&&(f[s]=xt(u.text+a[0].text),a.shift()),f.push.apply(f,a)):c(a)?Se(u)?f[s]=xt(u.text+a):""!==a&&f.push(xt(a)):Se(a)&&Se(u)?f[s]=xt(u.text+a.text):(i(t._isVList)&&o(a.tag)&&r(a.key)&&o(e)&&(a.key="__vlist"+e+"_"+n+"__"),f.push(a)));return f}function je(t){var e=t.$options.provide;e&&(t._provided="function"===typeof e?e.call(t):e)}function $e(t){var e=Ee(t.$options.inject,t);e&&($t(!1),Object.keys(e).forEach((function(n){Lt(t,n,e[n])})),$t(!0))}function Ee(t,e){if(t){for(var n=Object.create(null),r=pt?Reflect.ownKeys(t):Object.keys(t),o=0;o0,a=t?!!t.$stable:!i,c=t&&t.$key;if(t){if(t._normalized)return t._normalized;if(a&&r&&r!==n&&c===r.$key&&!i&&!r.$hasNormal)return r;for(var s in o={},t)t[s]&&"$"!==s[0]&&(o[s]=Le(e,s,t[s]))}else o={};for(var u in e)u in o||(o[u]=Re(e,u));return t&&Object.isExtensible(t)&&(t._normalized=o),z(o,"$stable",a),z(o,"$key",c),z(o,"$hasNormal",i),o}function Le(t,e,n){var r=function(){var t=arguments.length?n.apply(null,arguments):n({});return t=t&&"object"===typeof t&&!Array.isArray(t)?[t]:Ae(t),t&&(0===t.length||1===t.length&&t[0].isComment)?void 0:t};return n.proxy&&Object.defineProperty(t,e,{get:r,enumerable:!0,configurable:!0}),r}function Re(t,e){return function(){return t[e]}}function Me(t,e){var n,r,i,a,c;if(Array.isArray(t)||"string"===typeof t)for(n=new Array(t.length),r=0,i=t.length;r1?E(n):n;for(var r=E(arguments,1),o='event handler for "'+t+'"',i=0,a=n.length;idocument.createEvent("Event").timeStamp&&(Kn=function(){return Xn.now()})}function Jn(){var t,e;for(Gn=Kn(),qn=!0,Un.sort((function(t,e){return t.id-e.id})),zn=0;znzn&&Un[n].id>t.id)n--;Un.splice(n+1,0,t)}else Un.push(t);Hn||(Hn=!0,he(Jn))}}var er=0,nr=function(t,e,n,r,o){this.vm=t,o&&(t._watcher=this),t._watchers.push(this),r?(this.deep=!!r.deep,this.user=!!r.user,this.lazy=!!r.lazy,this.sync=!!r.sync,this.before=r.before):this.deep=this.user=this.lazy=this.sync=!1,this.cb=n,this.id=++er,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new lt,this.newDepIds=new lt,this.expression="","function"===typeof e?this.getter=e:(this.getter=G(e),this.getter||(this.getter=I)),this.value=this.lazy?void 0:this.get()};nr.prototype.get=function(){var t;mt(this);var e=this.vm;try{t=this.getter.call(e,e)}catch(Oa){if(!this.user)throw Oa;ee(Oa,e,'getter for watcher "'+this.expression+'"')}finally{this.deep&&ye(t),gt(),this.cleanupDeps()}return t},nr.prototype.addDep=function(t){var e=t.id;this.newDepIds.has(e)||(this.newDepIds.add(e),this.newDeps.push(t),this.depIds.has(e)||t.addSub(this))},nr.prototype.cleanupDeps=function(){var t=this.deps.length;while(t--){var e=this.deps[t];this.newDepIds.has(e.id)||e.removeSub(this)}var n=this.depIds;this.depIds=this.newDepIds,this.newDepIds=n,this.newDepIds.clear(),n=this.deps,this.deps=this.newDeps,this.newDeps=n,this.newDeps.length=0},nr.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():tr(this)},nr.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||s(t)||this.deep){var e=this.value;if(this.value=t,this.user)try{this.cb.call(this.vm,t,e)}catch(Oa){ee(Oa,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,t,e)}}},nr.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},nr.prototype.depend=function(){var t=this.deps.length;while(t--)this.deps[t].depend()},nr.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||g(this.vm._watchers,this);var t=this.deps.length;while(t--)this.deps[t].removeSub(this);this.active=!1}};var rr={enumerable:!0,configurable:!0,get:I,set:I};function or(t,e,n){rr.get=function(){return this[e][n]},rr.set=function(t){this[e][n]=t},Object.defineProperty(t,n,rr)}function ir(t){t._watchers=[];var e=t.$options;e.props&&ar(t,e.props),e.methods&&hr(t,e.methods),e.data?cr(t):It(t._data={},!0),e.computed&&fr(t,e.computed),e.watch&&e.watch!==it&&vr(t,e.watch)}function ar(t,e){var n=t.$options.propsData||{},r=t._props={},o=t.$options._propKeys=[],i=!t.$parent;i||$t(!1);var a=function(i){o.push(i);var a=Jt(i,e,n,t);Lt(r,i,a),i in t||or(t,"_props",i)};for(var c in e)a(c);$t(!0)}function cr(t){var e=t.$options.data;e=t._data="function"===typeof e?sr(e,t):e||{},f(e)||(e={});var n=Object.keys(e),r=t.$options.props,o=(t.$options.methods,n.length);while(o--){var i=n[o];0,r&&_(r,i)||q(i)||or(t,"_data",i)}It(e,!0)}function sr(t,e){mt();try{return t.call(e,e)}catch(Oa){return ee(Oa,e,"data()"),{}}finally{gt()}}var ur={lazy:!0};function fr(t,e){var n=t._computedWatchers=Object.create(null),r=st();for(var o in e){var i=e[o],a="function"===typeof i?i:i.get;0,r||(n[o]=new nr(t,a||I,I,ur)),o in t||lr(t,o,i)}}function lr(t,e,n){var r=!st();"function"===typeof n?(rr.get=r?pr(e):dr(n),rr.set=I):(rr.get=n.get?r&&!1!==n.cache?pr(e):dr(n.get):I,rr.set=n.set||I),Object.defineProperty(t,e,rr)}function pr(t){return function(){var e=this._computedWatchers&&this._computedWatchers[t];if(e)return e.dirty&&e.evaluate(),vt.target&&e.depend(),e.value}}function dr(t){return function(){return t.call(this,this)}}function hr(t,e){t.$options.props;for(var n in e)t[n]="function"!==typeof e[n]?I:$(e[n],t)}function vr(t,e){for(var n in e){var r=e[n];if(Array.isArray(r))for(var o=0;o-1)return this;var n=E(arguments,1);return n.unshift(this),"function"===typeof t.install?t.install.apply(t,n):"function"===typeof t&&t.apply(null,n),e.push(t),this}}function Ar(t){t.mixin=function(t){return this.options=Kt(this.options,t),this}}function Sr(t){t.cid=0;var e=1;t.extend=function(t){t=t||{};var n=this,r=n.cid,o=t._Ctor||(t._Ctor={});if(o[r])return o[r];var i=t.name||n.options.name;var a=function(t){this._init(t)};return a.prototype=Object.create(n.prototype),a.prototype.constructor=a,a.cid=e++,a.options=Kt(n.options,t),a["super"]=n,a.options.props&&kr(a),a.options.computed&&jr(a),a.extend=n.extend,a.mixin=n.mixin,a.use=n.use,U.forEach((function(t){a[t]=n[t]})),i&&(a.options.components[i]=a),a.superOptions=n.options,a.extendOptions=t,a.sealedOptions=T({},a.options),o[r]=a,a}}function kr(t){var e=t.options.props;for(var n in e)or(t.prototype,"_props",n)}function jr(t){var e=t.options.computed;for(var n in e)lr(t.prototype,n,e[n])}function $r(t){U.forEach((function(e){t[e]=function(t,n){return n?("component"===e&&f(n)&&(n.name=n.name||t,n=this.options._base.extend(n)),"directive"===e&&"function"===typeof n&&(n={bind:n,update:n}),this.options[e+"s"][t]=n,n):this.options[e+"s"][t]}}))}function Er(t){return t&&(t.Ctor.options.name||t.tag)}function Tr(t,e){return Array.isArray(t)?t.indexOf(e)>-1:"string"===typeof t?t.split(",").indexOf(e)>-1:!!l(t)&&t.test(e)}function Pr(t,e){var n=t.cache,r=t.keys,o=t._vnode;for(var i in n){var a=n[i];if(a){var c=Er(a.componentOptions);c&&!e(c)&&Ir(n,i,r,o)}}}function Ir(t,e,n,r){var o=t[e];!o||r&&o.tag===r.tag||o.componentInstance.$destroy(),t[e]=null,g(n,e)}br(Or),mr(Or),$n(Or),In(Or),gn(Or);var Lr=[String,RegExp,Array],Rr={name:"keep-alive",abstract:!0,props:{include:Lr,exclude:Lr,max:[String,Number]},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var t in this.cache)Ir(this.cache,t,this.keys)},mounted:function(){var t=this;this.$watch("include",(function(e){Pr(t,(function(t){return Tr(e,t)}))})),this.$watch("exclude",(function(e){Pr(t,(function(t){return!Tr(e,t)}))}))},render:function(){var t=this.$slots.default,e=On(t),n=e&&e.componentOptions;if(n){var r=Er(n),o=this,i=o.include,a=o.exclude;if(i&&(!r||!Tr(i,r))||a&&r&&Tr(a,r))return e;var c=this,s=c.cache,u=c.keys,f=null==e.key?n.Ctor.cid+(n.tag?"::"+n.tag:""):e.key;s[f]?(e.componentInstance=s[f].componentInstance,g(u,f),u.push(f)):(s[f]=e,u.push(f),this.max&&u.length>parseInt(this.max)&&Ir(s,u[0],u,this._vnode)),e.data.keepAlive=!0}return e||t&&t[0]}},Mr={KeepAlive:Rr};function Dr(t){var e={get:function(){return B}};Object.defineProperty(t,"config",e),t.util={warn:dt,extend:T,mergeOptions:Kt,defineReactive:Lt},t.set=Rt,t.delete=Mt,t.nextTick=he,t.observable=function(t){return It(t),t},t.options=Object.create(null),U.forEach((function(e){t.options[e+"s"]=Object.create(null)})),t.options._base=t,T(t.options.components,Mr),Cr(t),Ar(t),Sr(t),$r(t)}Dr(Or),Object.defineProperty(Or.prototype,"$isServer",{get:st}),Object.defineProperty(Or.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Or,"FunctionalRenderContext",{value:Ye}),Or.version="2.6.11";var Nr=y("style,class"),Fr=y("input,textarea,option,select,progress"),Ur=function(t,e,n){return"value"===n&&Fr(t)&&"button"!==e||"selected"===n&&"option"===t||"checked"===n&&"input"===t||"muted"===n&&"video"===t},Vr=y("contenteditable,draggable,spellcheck"),Br=y("events,caret,typing,plaintext-only"),Hr=function(t,e){return Kr(e)||"false"===e?"false":"contenteditable"===t&&Br(e)?e:"true"},qr=y("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),zr="http://www.w3.org/1999/xlink",Wr=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},Gr=function(t){return Wr(t)?t.slice(6,t.length):""},Kr=function(t){return null==t||!1===t};function Xr(t){var e=t.data,n=t,r=t;while(o(r.componentInstance))r=r.componentInstance._vnode,r&&r.data&&(e=Jr(r.data,e));while(o(n=n.parent))n&&n.data&&(e=Jr(e,n.data));return Yr(e.staticClass,e.class)}function Jr(t,e){return{staticClass:Qr(t.staticClass,e.staticClass),class:o(t.class)?[t.class,e.class]:e.class}}function Yr(t,e){return o(t)||o(e)?Qr(t,Zr(e)):""}function Qr(t,e){return t?e?t+" "+e:t:e||""}function Zr(t){return Array.isArray(t)?to(t):s(t)?eo(t):"string"===typeof t?t:""}function to(t){for(var e,n="",r=0,i=t.length;r-1?co[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:co[t]=/HTMLUnknownElement/.test(e.toString())}var uo=y("text,number,password,search,email,tel,url");function fo(t){if("string"===typeof t){var e=document.querySelector(t);return e||document.createElement("div")}return t}function lo(t,e){var n=document.createElement(t);return"select"!==t||e.data&&e.data.attrs&&void 0!==e.data.attrs.multiple&&n.setAttribute("multiple","multiple"),n}function po(t,e){return document.createElementNS(no[t],e)}function ho(t){return document.createTextNode(t)}function vo(t){return document.createComment(t)}function yo(t,e,n){t.insertBefore(e,n)}function mo(t,e){t.removeChild(e)}function go(t,e){t.appendChild(e)}function bo(t){return t.parentNode}function _o(t){return t.nextSibling}function wo(t){return t.tagName}function xo(t,e){t.textContent=e}function Oo(t,e){t.setAttribute(e,"")}var Co=Object.freeze({createElement:lo,createElementNS:po,createTextNode:ho,createComment:vo,insertBefore:yo,removeChild:mo,appendChild:go,parentNode:bo,nextSibling:_o,tagName:wo,setTextContent:xo,setStyleScope:Oo}),Ao={create:function(t,e){So(e)},update:function(t,e){t.data.ref!==e.data.ref&&(So(t,!0),So(e))},destroy:function(t){So(t,!0)}};function So(t,e){var n=t.data.ref;if(o(n)){var r=t.context,i=t.componentInstance||t.elm,a=r.$refs;e?Array.isArray(a[n])?g(a[n],i):a[n]===i&&(a[n]=void 0):t.data.refInFor?Array.isArray(a[n])?a[n].indexOf(i)<0&&a[n].push(i):a[n]=[i]:a[n]=i}}var ko=new bt("",{},[]),jo=["create","activate","update","remove","destroy"];function $o(t,e){return t.key===e.key&&(t.tag===e.tag&&t.isComment===e.isComment&&o(t.data)===o(e.data)&&Eo(t,e)||i(t.isAsyncPlaceholder)&&t.asyncFactory===e.asyncFactory&&r(e.asyncFactory.error))}function Eo(t,e){if("input"!==t.tag)return!0;var n,r=o(n=t.data)&&o(n=n.attrs)&&n.type,i=o(n=e.data)&&o(n=n.attrs)&&n.type;return r===i||uo(r)&&uo(i)}function To(t,e,n){var r,i,a={};for(r=e;r<=n;++r)i=t[r].key,o(i)&&(a[i]=r);return a}function Po(t){var e,n,a={},s=t.modules,u=t.nodeOps;for(e=0;ev?(l=r(n[g+1])?null:n[g+1].elm,O(t,l,n,h,g,i)):h>g&&A(e,p,v)}function j(t,e,n,r){for(var i=n;i-1?Ho(t,e,n):qr(e)?Kr(n)?t.removeAttribute(e):(n="allowfullscreen"===e&&"EMBED"===t.tagName?"true":e,t.setAttribute(e,n)):Vr(e)?t.setAttribute(e,Hr(e,n)):Wr(e)?Kr(n)?t.removeAttributeNS(zr,Gr(e)):t.setAttributeNS(zr,e,n):Ho(t,e,n)}function Ho(t,e,n){if(Kr(n))t.removeAttribute(e);else{if(tt&&!et&&"TEXTAREA"===t.tagName&&"placeholder"===e&&""!==n&&!t.__ieph){var r=function(e){e.stopImmediatePropagation(),t.removeEventListener("input",r)};t.addEventListener("input",r),t.__ieph=!0}t.setAttribute(e,n)}}var qo={create:Vo,update:Vo};function zo(t,e){var n=e.elm,i=e.data,a=t.data;if(!(r(i.staticClass)&&r(i.class)&&(r(a)||r(a.staticClass)&&r(a.class)))){var c=Xr(e),s=n._transitionClasses;o(s)&&(c=Qr(c,Zr(s))),c!==n._prevClass&&(n.setAttribute("class",c),n._prevClass=c)}}var Wo,Go={create:zo,update:zo},Ko="__r",Xo="__c";function Jo(t){if(o(t[Ko])){var e=tt?"change":"input";t[e]=[].concat(t[Ko],t[e]||[]),delete t[Ko]}o(t[Xo])&&(t.change=[].concat(t[Xo],t.change||[]),delete t[Xo])}function Yo(t,e,n){var r=Wo;return function o(){var i=e.apply(null,arguments);null!==i&&ti(t,o,n,r)}}var Qo=ae&&!(ot&&Number(ot[1])<=53);function Zo(t,e,n,r){if(Qo){var o=Gn,i=e;e=i._wrapper=function(t){if(t.target===t.currentTarget||t.timeStamp>=o||t.timeStamp<=0||t.target.ownerDocument!==document)return i.apply(this,arguments)}}Wo.addEventListener(t,e,at?{capture:n,passive:r}:n)}function ti(t,e,n,r){(r||Wo).removeEventListener(t,e._wrapper||e,n)}function ei(t,e){if(!r(t.data.on)||!r(e.data.on)){var n=e.data.on||{},o=t.data.on||{};Wo=e.elm,Jo(n),_e(n,o,Zo,ti,Yo,e.context),Wo=void 0}}var ni,ri={create:ei,update:ei};function oi(t,e){if(!r(t.data.domProps)||!r(e.data.domProps)){var n,i,a=e.elm,c=t.data.domProps||{},s=e.data.domProps||{};for(n in o(s.__ob__)&&(s=e.data.domProps=T({},s)),c)n in s||(a[n]="");for(n in s){if(i=s[n],"textContent"===n||"innerHTML"===n){if(e.children&&(e.children.length=0),i===c[n])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if("value"===n&&"PROGRESS"!==a.tagName){a._value=i;var u=r(i)?"":String(i);ii(a,u)&&(a.value=u)}else if("innerHTML"===n&&oo(a.tagName)&&r(a.innerHTML)){ni=ni||document.createElement("div"),ni.innerHTML=""+i+"";var f=ni.firstChild;while(a.firstChild)a.removeChild(a.firstChild);while(f.firstChild)a.appendChild(f.firstChild)}else if(i!==c[n])try{a[n]=i}catch(Oa){}}}}function ii(t,e){return!t.composing&&("OPTION"===t.tagName||ai(t,e)||ci(t,e))}function ai(t,e){var n=!0;try{n=document.activeElement!==t}catch(Oa){}return n&&t.value!==e}function ci(t,e){var n=t.value,r=t._vModifiers;if(o(r)){if(r.number)return v(n)!==v(e);if(r.trim)return n.trim()!==e.trim()}return n!==e}var si={create:oi,update:oi},ui=w((function(t){var e={},n=/;(?![^(]*\))/g,r=/:(.+)/;return t.split(n).forEach((function(t){if(t){var n=t.split(r);n.length>1&&(e[n[0].trim()]=n[1].trim())}})),e}));function fi(t){var e=li(t.style);return t.staticStyle?T(t.staticStyle,e):e}function li(t){return Array.isArray(t)?P(t):"string"===typeof t?ui(t):t}function pi(t,e){var n,r={};if(e){var o=t;while(o.componentInstance)o=o.componentInstance._vnode,o&&o.data&&(n=fi(o.data))&&T(r,n)}(n=fi(t.data))&&T(r,n);var i=t;while(i=i.parent)i.data&&(n=fi(i.data))&&T(r,n);return r}var di,hi=/^--/,vi=/\s*!important$/,yi=function(t,e,n){if(hi.test(e))t.style.setProperty(e,n);else if(vi.test(n))t.style.setProperty(S(e),n.replace(vi,""),"important");else{var r=gi(e);if(Array.isArray(n))for(var o=0,i=n.length;o-1?e.split(wi).forEach((function(e){return t.classList.add(e)})):t.classList.add(e);else{var n=" "+(t.getAttribute("class")||"")+" ";n.indexOf(" "+e+" ")<0&&t.setAttribute("class",(n+e).trim())}}function Oi(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(wi).forEach((function(e){return t.classList.remove(e)})):t.classList.remove(e),t.classList.length||t.removeAttribute("class");else{var n=" "+(t.getAttribute("class")||"")+" ",r=" "+e+" ";while(n.indexOf(r)>=0)n=n.replace(r," ");n=n.trim(),n?t.setAttribute("class",n):t.removeAttribute("class")}}function Ci(t){if(t){if("object"===typeof t){var e={};return!1!==t.css&&T(e,Ai(t.name||"v")),T(e,t),e}return"string"===typeof t?Ai(t):void 0}}var Ai=w((function(t){return{enterClass:t+"-enter",enterToClass:t+"-enter-to",enterActiveClass:t+"-enter-active",leaveClass:t+"-leave",leaveToClass:t+"-leave-to",leaveActiveClass:t+"-leave-active"}})),Si=J&&!et,ki="transition",ji="animation",$i="transition",Ei="transitionend",Ti="animation",Pi="animationend";Si&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&($i="WebkitTransition",Ei="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(Ti="WebkitAnimation",Pi="webkitAnimationEnd"));var Ii=J?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(t){return t()};function Li(t){Ii((function(){Ii(t)}))}function Ri(t,e){var n=t._transitionClasses||(t._transitionClasses=[]);n.indexOf(e)<0&&(n.push(e),xi(t,e))}function Mi(t,e){t._transitionClasses&&g(t._transitionClasses,e),Oi(t,e)}function Di(t,e,n){var r=Fi(t,e),o=r.type,i=r.timeout,a=r.propCount;if(!o)return n();var c=o===ki?Ei:Pi,s=0,u=function(){t.removeEventListener(c,f),n()},f=function(e){e.target===t&&++s>=a&&u()};setTimeout((function(){s0&&(n=ki,f=a,l=i.length):e===ji?u>0&&(n=ji,f=u,l=s.length):(f=Math.max(a,u),n=f>0?a>u?ki:ji:null,l=n?n===ki?i.length:s.length:0);var p=n===ki&&Ni.test(r[$i+"Property"]);return{type:n,timeout:f,propCount:l,hasTransform:p}}function Ui(t,e){while(t.length1}function Wi(t,e){!0!==e.data.show&&Bi(e)}var Gi=J?{create:Wi,activate:Wi,remove:function(t,e){!0!==t.data.show?Hi(t,e):e()}}:{},Ki=[qo,Go,ri,si,_i,Gi],Xi=Ki.concat(Uo),Ji=Po({nodeOps:Co,modules:Xi});et&&document.addEventListener("selectionchange",(function(){var t=document.activeElement;t&&t.vmodel&&oa(t,"input")}));var Yi={inserted:function(t,e,n,r){"select"===n.tag?(r.elm&&!r.elm._vOptions?we(n,"postpatch",(function(){Yi.componentUpdated(t,e,n)})):Qi(t,e,n.context),t._vOptions=[].map.call(t.options,ea)):("textarea"===n.tag||uo(t.type))&&(t._vModifiers=e.modifiers,e.modifiers.lazy||(t.addEventListener("compositionstart",na),t.addEventListener("compositionend",ra),t.addEventListener("change",ra),et&&(t.vmodel=!0)))},componentUpdated:function(t,e,n){if("select"===n.tag){Qi(t,e,n.context);var r=t._vOptions,o=t._vOptions=[].map.call(t.options,ea);if(o.some((function(t,e){return!M(t,r[e])}))){var i=t.multiple?e.value.some((function(t){return ta(t,o)})):e.value!==e.oldValue&&ta(e.value,o);i&&oa(t,"change")}}}};function Qi(t,e,n){Zi(t,e,n),(tt||nt)&&setTimeout((function(){Zi(t,e,n)}),0)}function Zi(t,e,n){var r=e.value,o=t.multiple;if(!o||Array.isArray(r)){for(var i,a,c=0,s=t.options.length;c-1,a.selected!==i&&(a.selected=i);else if(M(ea(a),r))return void(t.selectedIndex!==c&&(t.selectedIndex=c));o||(t.selectedIndex=-1)}}function ta(t,e){return e.every((function(e){return!M(e,t)}))}function ea(t){return"_value"in t?t._value:t.value}function na(t){t.target.composing=!0}function ra(t){t.target.composing&&(t.target.composing=!1,oa(t.target,"input"))}function oa(t,e){var n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0),t.dispatchEvent(n)}function ia(t){return!t.componentInstance||t.data&&t.data.transition?t:ia(t.componentInstance._vnode)}var aa={bind:function(t,e,n){var r=e.value;n=ia(n);var o=n.data&&n.data.transition,i=t.__vOriginalDisplay="none"===t.style.display?"":t.style.display;r&&o?(n.data.show=!0,Bi(n,(function(){t.style.display=i}))):t.style.display=r?i:"none"},update:function(t,e,n){var r=e.value,o=e.oldValue;if(!r!==!o){n=ia(n);var i=n.data&&n.data.transition;i?(n.data.show=!0,r?Bi(n,(function(){t.style.display=t.__vOriginalDisplay})):Hi(n,(function(){t.style.display="none"}))):t.style.display=r?t.__vOriginalDisplay:"none"}},unbind:function(t,e,n,r,o){o||(t.style.display=t.__vOriginalDisplay)}},ca={model:Yi,show:aa},sa={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function ua(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?ua(On(e.children)):t}function fa(t){var e={},n=t.$options;for(var r in n.propsData)e[r]=t[r];var o=n._parentListeners;for(var i in o)e[O(i)]=o[i];return e}function la(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{props:e.componentOptions.propsData})}function pa(t){while(t=t.parent)if(t.data.transition)return!0}function da(t,e){return e.key===t.key&&e.tag===t.tag}var ha=function(t){return t.tag||xn(t)},va=function(t){return"show"===t.name},ya={name:"transition",props:sa,abstract:!0,render:function(t){var e=this,n=this.$slots.default;if(n&&(n=n.filter(ha),n.length)){0;var r=this.mode;0;var o=n[0];if(pa(this.$vnode))return o;var i=ua(o);if(!i)return o;if(this._leaving)return la(t,o);var a="__transition-"+this._uid+"-";i.key=null==i.key?i.isComment?a+"comment":a+i.tag:c(i.key)?0===String(i.key).indexOf(a)?i.key:a+i.key:i.key;var s=(i.data||(i.data={})).transition=fa(this),u=this._vnode,f=ua(u);if(i.data.directives&&i.data.directives.some(va)&&(i.data.show=!0),f&&f.data&&!da(i,f)&&!xn(f)&&(!f.componentInstance||!f.componentInstance._vnode.isComment)){var l=f.data.transition=T({},s);if("out-in"===r)return this._leaving=!0,we(l,"afterLeave",(function(){e._leaving=!1,e.$forceUpdate()})),la(t,o);if("in-out"===r){if(xn(i))return u;var p,d=function(){p()};we(s,"afterEnter",d),we(s,"enterCancelled",d),we(l,"delayLeave",(function(t){p=t}))}}return o}}},ma=T({tag:String,moveClass:String},sa);delete ma.mode;var ga={props:ma,beforeMount:function(){var t=this,e=this._update;this._update=function(n,r){var o=Tn(t);t.__patch__(t._vnode,t.kept,!1,!0),t._vnode=t.kept,o(),e.call(t,n,r)}},render:function(t){for(var e=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,o=this.$slots.default||[],i=this.children=[],a=fa(this),c=0;cn)e.push(arguments[n++]);return _[++b]=function(){("function"==typeof t?t:Function(t)).apply(void 0,e)},r(b),b},v=function(t){delete _[t]},"process"==s(y)?r=function(t){y.nextTick(O(t))}:g&&g.now?r=function(t){g.now(O(t))}:m&&!p?(o=new m,i=o.port2,o.port1.onmessage=C,r=u(i.postMessage,i,1)):!a.addEventListener||"function"!=typeof postMessage||a.importScripts||c(A)||"file:"===d.protocol?r=w in l("script")?function(t){f.appendChild(l("script"))[w]=function(){f.removeChild(this),x(t)}}:function(t){setTimeout(O(t),0)}:(r=A,a.addEventListener("message",C,!1))),t.exports={set:h,clear:v}},"2d00":function(t,e,n){var r,o,i=n("da84"),a=n("342f"),c=i.process,s=c&&c.versions,u=s&&s.v8;u?(r=u.split("."),o=r[0]+r[1]):a&&(r=a.match(/Edge\/(\d+)/),(!r||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/),r&&(o=r[1]))),t.exports=o&&+o},"342f":function(t,e,n){var r=n("d066");t.exports=r("navigator","userAgent")||""},"35a1":function(t,e,n){var r=n("f5df"),o=n("3f8c"),i=n("b622"),a=i("iterator");t.exports=function(t){if(void 0!=t)return t[a]||t["@@iterator"]||o[r(t)]}},"37e8":function(t,e,n){var r=n("83ab"),o=n("9bf2"),i=n("825a"),a=n("df75");t.exports=r?Object.defineProperties:function(t,e){i(t);var n,r=a(e),c=r.length,s=0;while(c>s)o.f(t,n=r[s++],e[n]);return t}},"3bbe":function(t,e,n){var r=n("861d");t.exports=function(t){if(!r(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype");return t}},"3f8c":function(t,e){t.exports={}},4082:function(t,e,n){n("a4d3");var r=n("f0e4");function o(t,e){if(null==t)return{};var n,o,i=r(t,e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(i[n]=t[n])}return i}t.exports=o,t.exports.__esModule=!0,t.exports["default"]=t.exports},"428f":function(t,e,n){var r=n("da84");t.exports=r},"44ad":function(t,e,n){var r=n("d039"),o=n("c6b6"),i="".split;t.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==o(t)?i.call(t,""):Object(t)}:Object},"44d2":function(t,e,n){var r=n("b622"),o=n("7c73"),i=n("9bf2"),a=r("unscopables"),c=Array.prototype;void 0==c[a]&&i.f(c,a,{configurable:!0,value:o(null)}),t.exports=function(t){c[a][t]=!0}},"44de":function(t,e,n){var r=n("da84");t.exports=function(t,e){var n=r.console;n&&n.error&&(1===arguments.length?n.error(t):n.error(t,e))}},"44e7":function(t,e,n){var r=n("861d"),o=n("c6b6"),i=n("b622"),a=i("match");t.exports=function(t){var e;return r(t)&&(void 0!==(e=t[a])?!!e:"RegExp"==o(t))}},4840:function(t,e,n){var r=n("825a"),o=n("1c0b"),i=n("b622"),a=i("species");t.exports=function(t,e){var n,i=r(t).constructor;return void 0===i||void 0==(n=r(i)[a])?e:o(n)}},4930:function(t,e,n){var r=n("d039");t.exports=!!Object.getOwnPropertySymbols&&!r((function(){return!String(Symbol())}))},"4d64":function(t,e,n){var r=n("fc6a"),o=n("50c4"),i=n("23cb"),a=function(t){return function(e,n,a){var c,s=r(e),u=o(s.length),f=i(a,u);if(t&&n!=n){while(u>f)if(c=s[f++],c!=c)return!0}else for(;u>f;f++)if((t||f in s)&&s[f]===n)return t||f||0;return!t&&-1}};t.exports={includes:a(!0),indexOf:a(!1)}},"4de4":function(t,e,n){"use strict";var r=n("23e7"),o=n("b727").filter,i=n("1dde"),a=n("ae40"),c=i("filter"),s=a("filter");r({target:"Array",proto:!0,forced:!c||!s},{filter:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},"50c4":function(t,e,n){var r=n("a691"),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},5135:function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},5692:function(t,e,n){var r=n("c430"),o=n("c6cd");(t.exports=function(t,e){return o[t]||(o[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.6.5",mode:r?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},"56ef":function(t,e,n){var r=n("d066"),o=n("241c"),i=n("7418"),a=n("825a");t.exports=r("Reflect","ownKeys")||function(t){var e=o.f(a(t)),n=i.f;return n?e.concat(n(t)):e}},"5a34":function(t,e,n){var r=n("44e7");t.exports=function(t){if(r(t))throw TypeError("The method doesn't accept regular expressions");return t}},"5c6c":function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},"60da":function(t,e,n){"use strict";var r=n("83ab"),o=n("d039"),i=n("df75"),a=n("7418"),c=n("d1e7"),s=n("7b0b"),u=n("44ad"),f=Object.assign,l=Object.defineProperty;t.exports=!f||o((function(){if(r&&1!==f({b:1},f(l({},"a",{enumerable:!0,get:function(){l(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},e={},n=Symbol(),o="abcdefghijklmnopqrst";return t[n]=7,o.split("").forEach((function(t){e[t]=t})),7!=f({},t)[n]||i(f({},e)).join("")!=o}))?function(t,e){var n=s(t),o=arguments.length,f=1,l=a.f,p=c.f;while(o>f){var d,h=u(arguments[f++]),v=l?i(h).concat(l(h)):i(h),y=v.length,m=0;while(y>m)d=v[m++],r&&!p.call(h,d)||(n[d]=h[d])}return n}:f},"65f0":function(t,e,n){var r=n("861d"),o=n("e8b5"),i=n("b622"),a=i("species");t.exports=function(t,e){var n;return o(t)&&(n=t.constructor,"function"!=typeof n||n!==Array&&!o(n.prototype)?r(n)&&(n=n[a],null===n&&(n=void 0)):n=void 0),new(void 0===n?Array:n)(0===e?0:e)}},"69f3":function(t,e,n){var r,o,i,a=n("7f9a"),c=n("da84"),s=n("861d"),u=n("9112"),f=n("5135"),l=n("f772"),p=n("d012"),d=c.WeakMap,h=function(t){return i(t)?o(t):r(t,{})},v=function(t){return function(e){var n;if(!s(e)||(n=o(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return n}};if(a){var y=new d,m=y.get,g=y.has,b=y.set;r=function(t,e){return b.call(y,t,e),e},o=function(t){return m.call(y,t)||{}},i=function(t){return g.call(y,t)}}else{var _=l("state");p[_]=!0,r=function(t,e){return u(t,_,e),e},o=function(t){return f(t,_)?t[_]:{}},i=function(t){return f(t,_)}}t.exports={set:r,get:o,has:i,enforce:h,getterFor:v}},"6eeb":function(t,e,n){var r=n("da84"),o=n("9112"),i=n("5135"),a=n("ce4e"),c=n("8925"),s=n("69f3"),u=s.get,f=s.enforce,l=String(String).split("String");(t.exports=function(t,e,n,c){var s=!!c&&!!c.unsafe,u=!!c&&!!c.enumerable,p=!!c&&!!c.noTargetGet;"function"==typeof n&&("string"!=typeof e||i(n,"name")||o(n,"name",e),f(n).source=l.join("string"==typeof e?e:"")),t!==r?(s?!p&&t[e]&&(u=!0):delete t[e],u?t[e]=n:o(t,e,n)):u?t[e]=n:a(e,n)})(Function.prototype,"toString",(function(){return"function"==typeof this&&u(this).source||c(this)}))},7418:function(t,e){e.f=Object.getOwnPropertySymbols},"746f":function(t,e,n){var r=n("428f"),o=n("5135"),i=n("e538"),a=n("9bf2").f;t.exports=function(t){var e=r.Symbol||(r.Symbol={});o(e,t)||a(e,t,{value:i.f(t)})}},7839:function(t,e){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},"7b0b":function(t,e,n){var r=n("1d80");t.exports=function(t){return Object(r(t))}},"7c73":function(t,e,n){var r,o=n("825a"),i=n("37e8"),a=n("7839"),c=n("d012"),s=n("1be4"),u=n("cc12"),f=n("f772"),l=">",p="<",d="prototype",h="script",v=f("IE_PROTO"),y=function(){},m=function(t){return p+h+l+t+p+"/"+h+l},g=function(t){t.write(m("")),t.close();var e=t.parentWindow.Object;return t=null,e},b=function(){var t,e=u("iframe"),n="java"+h+":";return e.style.display="none",s.appendChild(e),e.src=String(n),t=e.contentWindow.document,t.open(),t.write(m("document.F=Object")),t.close(),t.F},_=function(){try{r=document.domain&&new ActiveXObject("htmlfile")}catch(e){}_=r?g(r):b();var t=a.length;while(t--)delete _[d][a[t]];return _()};c[v]=!0,t.exports=Object.create||function(t,e){var n;return null!==t?(y[d]=o(t),n=new y,y[d]=null,n[v]=t):n=_(),void 0===e?n:i(n,e)}},"7dd0":function(t,e,n){"use strict";var r=n("23e7"),o=n("9ed3"),i=n("e163"),a=n("d2bb"),c=n("d44e"),s=n("9112"),u=n("6eeb"),f=n("b622"),l=n("c430"),p=n("3f8c"),d=n("ae93"),h=d.IteratorPrototype,v=d.BUGGY_SAFARI_ITERATORS,y=f("iterator"),m="keys",g="values",b="entries",_=function(){return this};t.exports=function(t,e,n,f,d,w,x){o(n,e,f);var O,C,A,S=function(t){if(t===d&&T)return T;if(!v&&t in $)return $[t];switch(t){case m:return function(){return new n(this,t)};case g:return function(){return new n(this,t)};case b:return function(){return new n(this,t)}}return function(){return new n(this)}},k=e+" Iterator",j=!1,$=t.prototype,E=$[y]||$["@@iterator"]||d&&$[d],T=!v&&E||S(d),P="Array"==e&&$.entries||E;if(P&&(O=i(P.call(new t)),h!==Object.prototype&&O.next&&(l||i(O)===h||(a?a(O,h):"function"!=typeof O[y]&&s(O,y,_)),c(O,k,!0,!0),l&&(p[k]=_))),d==g&&E&&E.name!==g&&(j=!0,T=function(){return E.call(this)}),l&&!x||$[y]===T||s($,y,T),p[e]=T,d)if(C={values:S(g),keys:w?T:S(m),entries:S(b)},x)for(A in C)(v||j||!(A in $))&&u($,A,C[A]);else r({target:e,proto:!0,forced:v||j},C);return C}},"7f9a":function(t,e,n){var r=n("da84"),o=n("8925"),i=r.WeakMap;t.exports="function"===typeof i&&/native code/.test(o(i))},"825a":function(t,e,n){var r=n("861d");t.exports=function(t){if(!r(t))throw TypeError(String(t)+" is not an object");return t}},"83ab":function(t,e,n){var r=n("d039");t.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},8418:function(t,e,n){"use strict";var r=n("c04e"),o=n("9bf2"),i=n("5c6c");t.exports=function(t,e,n){var a=r(e);a in t?o.f(t,a,i(0,n)):t[a]=n}},"861d":function(t,e){t.exports=function(t){return"object"===typeof t?null!==t:"function"===typeof t}},8925:function(t,e,n){var r=n("c6cd"),o=Function.toString;"function"!=typeof r.inspectSource&&(r.inspectSource=function(t){return o.call(t)}),t.exports=r.inspectSource},"8a79":function(t,e,n){"use strict";var r=n("23e7"),o=n("06cf").f,i=n("50c4"),a=n("5a34"),c=n("1d80"),s=n("ab13"),u=n("c430"),f="".endsWith,l=Math.min,p=s("endsWith"),d=!u&&!p&&!!function(){var t=o(String.prototype,"endsWith");return t&&!t.writable}();r({target:"String",proto:!0,forced:!d&&!p},{endsWith:function(t){var e=String(c(this));a(t);var n=arguments.length>1?arguments[1]:void 0,r=i(e.length),o=void 0===n?r:l(i(n),r),s=String(t);return f?f.call(e,s,o):e.slice(o-s.length,o)===s}})},"8c4f":function(t,e,n){"use strict"; +/*! + * vue-router v3.1.6 + * (c) 2020 Evan You + * @license MIT + */function r(t,e){0}function o(t){return Object.prototype.toString.call(t).indexOf("Error")>-1}function i(t,e){return e instanceof t||e&&(e.name===t.name||e._name===t._name)}function a(t,e){for(var n in e)t[n]=e[n];return t}var c={name:"RouterView",functional:!0,props:{name:{type:String,default:"default"}},render:function(t,e){var n=e.props,r=e.children,o=e.parent,i=e.data;i.routerView=!0;var c=o.$createElement,u=n.name,f=o.$route,l=o._routerViewCache||(o._routerViewCache={}),p=0,d=!1;while(o&&o._routerRoot!==o){var h=o.$vnode?o.$vnode.data:{};h.routerView&&p++,h.keepAlive&&o._directInactive&&o._inactive&&(d=!0),o=o.$parent}if(i.routerViewDepth=p,d){var v=l[u],y=v&&v.component;return y?(v.configProps&&s(y,i,v.route,v.configProps),c(y,i,r)):c()}var m=f.matched[p],g=m&&m.components[u];if(!m||!g)return l[u]=null,c();l[u]={component:g},i.registerRouteInstance=function(t,e){var n=m.instances[u];(e&&n!==t||!e&&n===t)&&(m.instances[u]=e)},(i.hook||(i.hook={})).prepatch=function(t,e){m.instances[u]=e.componentInstance},i.hook.init=function(t){t.data.keepAlive&&t.componentInstance&&t.componentInstance!==m.instances[u]&&(m.instances[u]=t.componentInstance)};var b=m.props&&m.props[u];return b&&(a(l[u],{route:f,configProps:b}),s(g,i,f,b)),c(g,i,r)}};function s(t,e,n,r){var o=e.props=u(n,r);if(o){o=e.props=a({},o);var i=e.attrs=e.attrs||{};for(var c in o)t.props&&c in t.props||(i[c]=o[c],delete o[c])}}function u(t,e){switch(typeof e){case"undefined":return;case"object":return e;case"function":return e(t);case"boolean":return e?t.params:void 0;default:0}}var f=/[!'()*]/g,l=function(t){return"%"+t.charCodeAt(0).toString(16)},p=/%2C/g,d=function(t){return encodeURIComponent(t).replace(f,l).replace(p,",")},h=decodeURIComponent;function v(t,e,n){void 0===e&&(e={});var r,o=n||y;try{r=o(t||"")}catch(a){r={}}for(var i in e)r[i]=e[i];return r}function y(t){var e={};return t=t.trim().replace(/^(\?|#|&)/,""),t?(t.split("&").forEach((function(t){var n=t.replace(/\+/g," ").split("="),r=h(n.shift()),o=n.length>0?h(n.join("=")):null;void 0===e[r]?e[r]=o:Array.isArray(e[r])?e[r].push(o):e[r]=[e[r],o]})),e):e}function m(t){var e=t?Object.keys(t).map((function(e){var n=t[e];if(void 0===n)return"";if(null===n)return d(e);if(Array.isArray(n)){var r=[];return n.forEach((function(t){void 0!==t&&(null===t?r.push(d(e)):r.push(d(e)+"="+d(t)))})),r.join("&")}return d(e)+"="+d(n)})).filter((function(t){return t.length>0})).join("&"):null;return e?"?"+e:""}var g=/\/?$/;function b(t,e,n,r){var o=r&&r.options.stringifyQuery,i=e.query||{};try{i=_(i)}catch(c){}var a={name:e.name||t&&t.name,meta:t&&t.meta||{},path:e.path||"/",hash:e.hash||"",query:i,params:e.params||{},fullPath:O(e,o),matched:t?x(t):[]};return n&&(a.redirectedFrom=O(n,o)),Object.freeze(a)}function _(t){if(Array.isArray(t))return t.map(_);if(t&&"object"===typeof t){var e={};for(var n in t)e[n]=_(t[n]);return e}return t}var w=b(null,{path:"/"});function x(t){var e=[];while(t)e.unshift(t),t=t.parent;return e}function O(t,e){var n=t.path,r=t.query;void 0===r&&(r={});var o=t.hash;void 0===o&&(o="");var i=e||m;return(n||"/")+i(r)+o}function C(t,e){return e===w?t===e:!!e&&(t.path&&e.path?t.path.replace(g,"")===e.path.replace(g,"")&&t.hash===e.hash&&A(t.query,e.query):!(!t.name||!e.name)&&(t.name===e.name&&t.hash===e.hash&&A(t.query,e.query)&&A(t.params,e.params)))}function A(t,e){if(void 0===t&&(t={}),void 0===e&&(e={}),!t||!e)return t===e;var n=Object.keys(t),r=Object.keys(e);return n.length===r.length&&n.every((function(n){var r=t[n],o=e[n];return"object"===typeof r&&"object"===typeof o?A(r,o):String(r)===String(o)}))}function S(t,e){return 0===t.path.replace(g,"/").indexOf(e.path.replace(g,"/"))&&(!e.hash||t.hash===e.hash)&&k(t.query,e.query)}function k(t,e){for(var n in e)if(!(n in t))return!1;return!0}function j(t,e,n){var r=t.charAt(0);if("/"===r)return t;if("?"===r||"#"===r)return e+t;var o=e.split("/");n&&o[o.length-1]||o.pop();for(var i=t.replace(/^\//,"").split("/"),a=0;a=0&&(e=t.slice(r),t=t.slice(0,r));var o=t.indexOf("?");return o>=0&&(n=t.slice(o+1),t=t.slice(0,o)),{path:t,query:n,hash:e}}function E(t){return t.replace(/\/\//g,"/")}var T=Array.isArray||function(t){return"[object Array]"==Object.prototype.toString.call(t)},P=Y,I=N,L=F,R=B,M=J,D=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function N(t,e){var n,r=[],o=0,i=0,a="",c=e&&e.delimiter||"/";while(null!=(n=D.exec(t))){var s=n[0],u=n[1],f=n.index;if(a+=t.slice(i,f),i=f+s.length,u)a+=u[1];else{var l=t[i],p=n[2],d=n[3],h=n[4],v=n[5],y=n[6],m=n[7];a&&(r.push(a),a="");var g=null!=p&&null!=l&&l!==p,b="+"===y||"*"===y,_="?"===y||"*"===y,w=n[2]||c,x=h||v;r.push({name:d||o++,prefix:p||"",delimiter:w,optional:_,repeat:b,partial:g,asterisk:!!m,pattern:x?q(x):m?".*":"[^"+H(w)+"]+?"})}}return i1||!w.length)return 0===w.length?t():t("span",{},w)}if("a"===this.tag)_.on=g,_.attrs={href:s};else{var x=ct(this.$slots.default);if(x){x.isStatic=!1;var O=x.data=a({},x.data);for(var A in O.on=O.on||{},O.on){var k=O.on[A];A in g&&(O.on[A]=Array.isArray(k)?k:[k])}for(var j in g)j in O.on?O.on[j].push(g[j]):O.on[j]=m;var $=x.data.attrs=a({},x.data.attrs);$.href=s}else _.on=g}return t(this.tag,_,this.$slots.default)}};function at(t){if(!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)&&!t.defaultPrevented&&(void 0===t.button||0===t.button)){if(t.currentTarget&&t.currentTarget.getAttribute){var e=t.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return t.preventDefault&&t.preventDefault(),!0}}function ct(t){if(t)for(var e,n=0;n-1&&(c.params[p]=n.params[p]);return c.path=Z(u.path,c.params,'named route "'+s+'"'),f(u,c,a)}if(c.path){c.params={};for(var d=0;d=t.length?n():t[o]?e(t[o],(function(){r(o+1)})):r(o+1)};r(0)}function Nt(t){return function(e,n,r){var i=!1,a=0,c=null;Ft(t,(function(t,e,n,s){if("function"===typeof t&&void 0===t.cid){i=!0,a++;var u,f=Ht((function(e){Bt(e)&&(e=e.default),t.resolved="function"===typeof e?e:et.extend(e),n.components[s]=e,a--,a<=0&&r()})),l=Ht((function(t){var e="Failed to resolve async component "+s+": "+t;c||(c=o(t)?t:new Error(e),r(c))}));try{u=t(f,l)}catch(d){l(d)}if(u)if("function"===typeof u.then)u.then(f,l);else{var p=u.component;p&&"function"===typeof p.then&&p.then(f,l)}}})),i||r()}}function Ft(t,e){return Ut(t.map((function(t){return Object.keys(t.components).map((function(n){return e(t.components[n],t.instances[n],t,n)}))})))}function Ut(t){return Array.prototype.concat.apply([],t)}var Vt="function"===typeof Symbol&&"symbol"===typeof Symbol.toStringTag;function Bt(t){return t.__esModule||Vt&&"Module"===t[Symbol.toStringTag]}function Ht(t){var e=!1;return function(){var n=[],r=arguments.length;while(r--)n[r]=arguments[r];if(!e)return e=!0,t.apply(this,n)}}var qt=function(t){function e(e){t.call(this),this.name=this._name="NavigationDuplicated",this.message='Navigating to current location ("'+e.fullPath+'") is not allowed',Object.defineProperty(this,"stack",{value:(new t).stack,writable:!0,configurable:!0})}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(Error);qt._name="NavigationDuplicated";var zt=function(t,e){this.router=t,this.base=Wt(e),this.current=w,this.pending=null,this.ready=!1,this.readyCbs=[],this.readyErrorCbs=[],this.errorCbs=[]};function Wt(t){if(!t)if(ut){var e=document.querySelector("base");t=e&&e.getAttribute("href")||"/",t=t.replace(/^https?:\/\/[^\/]+/,"")}else t="/";return"/"!==t.charAt(0)&&(t="/"+t),t.replace(/\/$/,"")}function Gt(t,e){var n,r=Math.max(t.length,e.length);for(n=0;n-1?decodeURI(t.slice(0,r))+t.slice(r):decodeURI(t)}else t=decodeURI(t.slice(0,n))+t.slice(n);return t}function se(t){var e=window.location.href,n=e.indexOf("#"),r=n>=0?e.slice(0,n):e;return r+"#"+t}function ue(t){Lt?Rt(se(t)):window.location.hash=t}function fe(t){Lt?Mt(se(t)):window.location.replace(se(t))}var le=function(t){function e(e,n){t.call(this,e,n),this.stack=[],this.index=-1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.push=function(t,e,n){var r=this;this.transitionTo(t,(function(t){r.stack=r.stack.slice(0,r.index+1).concat(t),r.index++,e&&e(t)}),n)},e.prototype.replace=function(t,e,n){var r=this;this.transitionTo(t,(function(t){r.stack=r.stack.slice(0,r.index).concat(t),e&&e(t)}),n)},e.prototype.go=function(t){var e=this,n=this.index+t;if(!(n<0||n>=this.stack.length)){var r=this.stack[n];this.confirmTransition(r,(function(){e.index=n,e.updateRoute(r)}),(function(t){i(qt,t)&&(e.index=n)}))}},e.prototype.getCurrentLocation=function(){var t=this.stack[this.stack.length-1];return t?t.fullPath:"/"},e.prototype.ensureURL=function(){},e}(zt),pe=function(t){void 0===t&&(t={}),this.app=null,this.apps=[],this.options=t,this.beforeHooks=[],this.resolveHooks=[],this.afterHooks=[],this.matcher=ht(t.routes||[],this);var e=t.mode||"hash";switch(this.fallback="history"===e&&!Lt&&!1!==t.fallback,this.fallback&&(e="hash"),ut||(e="abstract"),this.mode=e,e){case"history":this.history=new ne(this,t.base);break;case"hash":this.history=new oe(this,t.base,this.fallback);break;case"abstract":this.history=new le(this,t.base);break;default:0}},de={currentRoute:{configurable:!0}};function he(t,e){return t.push(e),function(){var n=t.indexOf(e);n>-1&&t.splice(n,1)}}function ve(t,e,n){var r="hash"===n?"#"+e:e;return t?E(t+"/"+r):r}pe.prototype.match=function(t,e,n){return this.matcher.match(t,e,n)},de.currentRoute.get=function(){return this.history&&this.history.current},pe.prototype.init=function(t){var e=this;if(this.apps.push(t),t.$once("hook:destroyed",(function(){var n=e.apps.indexOf(t);n>-1&&e.apps.splice(n,1),e.app===t&&(e.app=e.apps[0]||null)})),!this.app){this.app=t;var n=this.history;if(n instanceof ne)n.transitionTo(n.getCurrentLocation());else if(n instanceof oe){var r=function(){n.setupListeners()};n.transitionTo(n.getCurrentLocation(),r,r)}n.listen((function(t){e.apps.forEach((function(e){e._route=t}))}))}},pe.prototype.beforeEach=function(t){return he(this.beforeHooks,t)},pe.prototype.beforeResolve=function(t){return he(this.resolveHooks,t)},pe.prototype.afterEach=function(t){return he(this.afterHooks,t)},pe.prototype.onReady=function(t,e){this.history.onReady(t,e)},pe.prototype.onError=function(t){this.history.onError(t)},pe.prototype.push=function(t,e,n){var r=this;if(!e&&!n&&"undefined"!==typeof Promise)return new Promise((function(e,n){r.history.push(t,e,n)}));this.history.push(t,e,n)},pe.prototype.replace=function(t,e,n){var r=this;if(!e&&!n&&"undefined"!==typeof Promise)return new Promise((function(e,n){r.history.replace(t,e,n)}));this.history.replace(t,e,n)},pe.prototype.go=function(t){this.history.go(t)},pe.prototype.back=function(){this.go(-1)},pe.prototype.forward=function(){this.go(1)},pe.prototype.getMatchedComponents=function(t){var e=t?t.matched?t:this.resolve(t).route:this.currentRoute;return e?[].concat.apply([],e.matched.map((function(t){return Object.keys(t.components).map((function(e){return t.components[e]}))}))):[]},pe.prototype.resolve=function(t,e,n){e=e||this.history.current;var r=tt(t,e,n,this),o=this.match(r,e),i=o.redirectedFrom||o.fullPath,a=this.history.base,c=ve(a,i,this.mode);return{location:r,route:o,href:c,normalizedTo:r,resolved:o}},pe.prototype.addRoutes=function(t){this.matcher.addRoutes(t),this.history.current!==w&&this.history.transitionTo(this.history.getCurrentLocation())},Object.defineProperties(pe.prototype,de),pe.install=st,pe.version="3.1.6",ut&&window.Vue&&window.Vue.use(pe),e["a"]=pe},"90e3":function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++n+r).toString(36)}},9112:function(t,e,n){var r=n("83ab"),o=n("9bf2"),i=n("5c6c");t.exports=r?function(t,e,n){return o.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},"94ca":function(t,e,n){var r=n("d039"),o=/#|\.prototype\./,i=function(t,e){var n=c[a(t)];return n==u||n!=s&&("function"==typeof e?r(e):!!e)},a=i.normalize=function(t){return String(t).replace(o,".").toLowerCase()},c=i.data={},s=i.NATIVE="N",u=i.POLYFILL="P";t.exports=i},9523:function(t,e){function n(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}t.exports=n,t.exports.__esModule=!0,t.exports["default"]=t.exports},"99af":function(t,e,n){"use strict";var r=n("23e7"),o=n("d039"),i=n("e8b5"),a=n("861d"),c=n("7b0b"),s=n("50c4"),u=n("8418"),f=n("65f0"),l=n("1dde"),p=n("b622"),d=n("2d00"),h=p("isConcatSpreadable"),v=9007199254740991,y="Maximum allowed index exceeded",m=d>=51||!o((function(){var t=[];return t[h]=!1,t.concat()[0]!==t})),g=l("concat"),b=function(t){if(!a(t))return!1;var e=t[h];return void 0!==e?!!e:i(t)},_=!m||!g;r({target:"Array",proto:!0,forced:_},{concat:function(t){var e,n,r,o,i,a=c(this),l=f(a,0),p=0;for(e=-1,r=arguments.length;ev)throw TypeError(y);for(n=0;n=v)throw TypeError(y);u(l,p++,i)}return l.length=p,l}})},"9bdd":function(t,e,n){var r=n("825a");t.exports=function(t,e,n,o){try{return o?e(r(n)[0],n[1]):e(n)}catch(a){var i=t["return"];throw void 0!==i&&r(i.call(t)),a}}},"9bf2":function(t,e,n){var r=n("83ab"),o=n("0cfb"),i=n("825a"),a=n("c04e"),c=Object.defineProperty;e.f=r?c:function(t,e,n){if(i(t),e=a(e,!0),i(n),o)try{return c(t,e,n)}catch(r){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(t[e]=n.value),t}},"9ed3":function(t,e,n){"use strict";var r=n("ae93").IteratorPrototype,o=n("7c73"),i=n("5c6c"),a=n("d44e"),c=n("3f8c"),s=function(){return this};t.exports=function(t,e,n){var u=e+" Iterator";return t.prototype=o(r,{next:i(1,n)}),a(t,u,!1,!0),c[u]=s,t}},a4d3:function(t,e,n){"use strict";var r=n("23e7"),o=n("da84"),i=n("d066"),a=n("c430"),c=n("83ab"),s=n("4930"),u=n("fdbf"),f=n("d039"),l=n("5135"),p=n("e8b5"),d=n("861d"),h=n("825a"),v=n("7b0b"),y=n("fc6a"),m=n("c04e"),g=n("5c6c"),b=n("7c73"),_=n("df75"),w=n("241c"),x=n("057f"),O=n("7418"),C=n("06cf"),A=n("9bf2"),S=n("d1e7"),k=n("9112"),j=n("6eeb"),$=n("5692"),E=n("f772"),T=n("d012"),P=n("90e3"),I=n("b622"),L=n("e538"),R=n("746f"),M=n("d44e"),D=n("69f3"),N=n("b727").forEach,F=E("hidden"),U="Symbol",V="prototype",B=I("toPrimitive"),H=D.set,q=D.getterFor(U),z=Object[V],W=o.Symbol,G=i("JSON","stringify"),K=C.f,X=A.f,J=x.f,Y=S.f,Q=$("symbols"),Z=$("op-symbols"),tt=$("string-to-symbol-registry"),et=$("symbol-to-string-registry"),nt=$("wks"),rt=o.QObject,ot=!rt||!rt[V]||!rt[V].findChild,it=c&&f((function(){return 7!=b(X({},"a",{get:function(){return X(this,"a",{value:7}).a}})).a}))?function(t,e,n){var r=K(z,e);r&&delete z[e],X(t,e,n),r&&t!==z&&X(z,e,r)}:X,at=function(t,e){var n=Q[t]=b(W[V]);return H(n,{type:U,tag:t,description:e}),c||(n.description=e),n},ct=u?function(t){return"symbol"==typeof t}:function(t){return Object(t)instanceof W},st=function(t,e,n){t===z&&st(Z,e,n),h(t);var r=m(e,!0);return h(n),l(Q,r)?(n.enumerable?(l(t,F)&&t[F][r]&&(t[F][r]=!1),n=b(n,{enumerable:g(0,!1)})):(l(t,F)||X(t,F,g(1,{})),t[F][r]=!0),it(t,r,n)):X(t,r,n)},ut=function(t,e){h(t);var n=y(e),r=_(n).concat(ht(n));return N(r,(function(e){c&&!lt.call(n,e)||st(t,e,n[e])})),t},ft=function(t,e){return void 0===e?b(t):ut(b(t),e)},lt=function(t){var e=m(t,!0),n=Y.call(this,e);return!(this===z&&l(Q,e)&&!l(Z,e))&&(!(n||!l(this,e)||!l(Q,e)||l(this,F)&&this[F][e])||n)},pt=function(t,e){var n=y(t),r=m(e,!0);if(n!==z||!l(Q,r)||l(Z,r)){var o=K(n,r);return!o||!l(Q,r)||l(n,F)&&n[F][r]||(o.enumerable=!0),o}},dt=function(t){var e=J(y(t)),n=[];return N(e,(function(t){l(Q,t)||l(T,t)||n.push(t)})),n},ht=function(t){var e=t===z,n=J(e?Z:y(t)),r=[];return N(n,(function(t){!l(Q,t)||e&&!l(z,t)||r.push(Q[t])})),r};if(s||(W=function(){if(this instanceof W)throw TypeError("Symbol is not a constructor");var t=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,e=P(t),n=function(t){this===z&&n.call(Z,t),l(this,F)&&l(this[F],e)&&(this[F][e]=!1),it(this,e,g(1,t))};return c&&ot&&it(z,e,{configurable:!0,set:n}),at(e,t)},j(W[V],"toString",(function(){return q(this).tag})),j(W,"withoutSetter",(function(t){return at(P(t),t)})),S.f=lt,A.f=st,C.f=pt,w.f=x.f=dt,O.f=ht,L.f=function(t){return at(I(t),t)},c&&(X(W[V],"description",{configurable:!0,get:function(){return q(this).description}}),a||j(z,"propertyIsEnumerable",lt,{unsafe:!0}))),r({global:!0,wrap:!0,forced:!s,sham:!s},{Symbol:W}),N(_(nt),(function(t){R(t)})),r({target:U,stat:!0,forced:!s},{for:function(t){var e=String(t);if(l(tt,e))return tt[e];var n=W(e);return tt[e]=n,et[n]=e,n},keyFor:function(t){if(!ct(t))throw TypeError(t+" is not a symbol");if(l(et,t))return et[t]},useSetter:function(){ot=!0},useSimple:function(){ot=!1}}),r({target:"Object",stat:!0,forced:!s,sham:!c},{create:ft,defineProperty:st,defineProperties:ut,getOwnPropertyDescriptor:pt}),r({target:"Object",stat:!0,forced:!s},{getOwnPropertyNames:dt,getOwnPropertySymbols:ht}),r({target:"Object",stat:!0,forced:f((function(){O.f(1)}))},{getOwnPropertySymbols:function(t){return O.f(v(t))}}),G){var vt=!s||f((function(){var t=W();return"[null]"!=G([t])||"{}"!=G({a:t})||"{}"!=G(Object(t))}));r({target:"JSON",stat:!0,forced:vt},{stringify:function(t,e,n){var r,o=[t],i=1;while(arguments.length>i)o.push(arguments[i++]);if(r=e,(d(e)||void 0!==t)&&!ct(t))return p(e)||(e=function(t,e){if("function"==typeof r&&(e=r.call(this,t,e)),!ct(e))return e}),o[1]=e,G.apply(null,o)}})}W[V][B]||k(W[V],B,W[V].valueOf),M(W,U),T[F]=!0},a640:function(t,e,n){"use strict";var r=n("d039");t.exports=function(t,e){var n=[][t];return!!n&&r((function(){n.call(null,e||function(){throw 1},1)}))}},a691:function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},a79d:function(t,e,n){"use strict";var r=n("23e7"),o=n("c430"),i=n("fea9"),a=n("d039"),c=n("d066"),s=n("4840"),u=n("cdf9"),f=n("6eeb"),l=!!i&&a((function(){i.prototype["finally"].call({then:function(){}},(function(){}))}));r({target:"Promise",proto:!0,real:!0,forced:l},{finally:function(t){var e=s(this,c("Promise")),n="function"==typeof t;return this.then(n?function(n){return u(e,t()).then((function(){return n}))}:t,n?function(n){return u(e,t()).then((function(){throw n}))}:t)}}),o||"function"!=typeof i||i.prototype["finally"]||f(i.prototype,"finally",c("Promise").prototype["finally"])},ab13:function(t,e,n){var r=n("b622"),o=r("match");t.exports=function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[o]=!1,"/./"[t](e)}catch(r){}}return!1}},ae40:function(t,e,n){var r=n("83ab"),o=n("d039"),i=n("5135"),a=Object.defineProperty,c={},s=function(t){throw t};t.exports=function(t,e){if(i(c,t))return c[t];e||(e={});var n=[][t],u=!!i(e,"ACCESSORS")&&e.ACCESSORS,f=i(e,0)?e[0]:s,l=i(e,1)?e[1]:void 0;return c[t]=!!n&&!o((function(){if(u&&!r)return!0;var t={length:-1};u?a(t,1,{enumerable:!0,get:s}):t[1]=1,n.call(t,f,l)}))}},ae93:function(t,e,n){"use strict";var r,o,i,a=n("e163"),c=n("9112"),s=n("5135"),u=n("b622"),f=n("c430"),l=u("iterator"),p=!1,d=function(){return this};[].keys&&(i=[].keys(),"next"in i?(o=a(a(i)),o!==Object.prototype&&(r=o)):p=!0),void 0==r&&(r={}),f||s(r,l)||c(r,l,d),t.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:p}},b041:function(t,e,n){"use strict";var r=n("00ee"),o=n("f5df");t.exports=r?{}.toString:function(){return"[object "+o(this)+"]"}},b575:function(t,e,n){var r,o,i,a,c,s,u,f,l=n("da84"),p=n("06cf").f,d=n("c6b6"),h=n("2cf4").set,v=n("1cdc"),y=l.MutationObserver||l.WebKitMutationObserver,m=l.process,g=l.Promise,b="process"==d(m),_=p(l,"queueMicrotask"),w=_&&_.value;w||(r=function(){var t,e;b&&(t=m.domain)&&t.exit();while(o){e=o.fn,o=o.next;try{e()}catch(n){throw o?a():i=void 0,n}}i=void 0,t&&t.enter()},b?a=function(){m.nextTick(r)}:y&&!v?(c=!0,s=document.createTextNode(""),new y(r).observe(s,{characterData:!0}),a=function(){s.data=c=!c}):g&&g.resolve?(u=g.resolve(void 0),f=u.then,a=function(){f.call(u,r)}):a=function(){h.call(l,r)}),t.exports=w||function(t){var e={fn:t,next:void 0};i&&(i.next=e),o||(o=e,a()),i=e}},b622:function(t,e,n){var r=n("da84"),o=n("5692"),i=n("5135"),a=n("90e3"),c=n("4930"),s=n("fdbf"),u=o("wks"),f=r.Symbol,l=s?f:f&&f.withoutSetter||a;t.exports=function(t){return i(u,t)||(c&&i(f,t)?u[t]=f[t]:u[t]=l("Symbol."+t)),u[t]}},b64b:function(t,e,n){var r=n("23e7"),o=n("7b0b"),i=n("df75"),a=n("d039"),c=a((function(){i(1)}));r({target:"Object",stat:!0,forced:c},{keys:function(t){return i(o(t))}})},b727:function(t,e,n){var r=n("0366"),o=n("44ad"),i=n("7b0b"),a=n("50c4"),c=n("65f0"),s=[].push,u=function(t){var e=1==t,n=2==t,u=3==t,f=4==t,l=6==t,p=5==t||l;return function(d,h,v,y){for(var m,g,b=i(d),_=o(b),w=r(h,v,3),x=a(_.length),O=0,C=y||c,A=e?C(d,x):n?C(d,0):void 0;x>O;O++)if((p||O in _)&&(m=_[O],g=w(m,O,b),t))if(e)A[O]=g;else if(g)switch(t){case 3:return!0;case 5:return m;case 6:return O;case 2:s.call(A,m)}else if(f)return!1;return l?-1:u||f?f:A}};t.exports={forEach:u(0),map:u(1),filter:u(2),some:u(3),every:u(4),find:u(5),findIndex:u(6)}},c04e:function(t,e,n){var r=n("861d");t.exports=function(t,e){if(!r(t))return t;var n,o;if(e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;if("function"==typeof(n=t.valueOf)&&!r(o=n.call(t)))return o;if(!e&&"function"==typeof(n=t.toString)&&!r(o=n.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},c430:function(t,e){t.exports=!1},c6b6:function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},c6cd:function(t,e,n){var r=n("da84"),o=n("ce4e"),i="__core-js_shared__",a=r[i]||o(i,{});t.exports=a},c8ba:function(t,e){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(r){"object"===typeof window&&(n=window)}t.exports=n},ca84:function(t,e,n){var r=n("5135"),o=n("fc6a"),i=n("4d64").indexOf,a=n("d012");t.exports=function(t,e){var n,c=o(t),s=0,u=[];for(n in c)!r(a,n)&&r(c,n)&&u.push(n);while(e.length>s)r(c,n=e[s++])&&(~i(u,n)||u.push(n));return u}},cc12:function(t,e,n){var r=n("da84"),o=n("861d"),i=r.document,a=o(i)&&o(i.createElement);t.exports=function(t){return a?i.createElement(t):{}}},cca6:function(t,e,n){var r=n("23e7"),o=n("60da");r({target:"Object",stat:!0,forced:Object.assign!==o},{assign:o})},cdf9:function(t,e,n){var r=n("825a"),o=n("861d"),i=n("f069");t.exports=function(t,e){if(r(t),o(e)&&e.constructor===t)return e;var n=i.f(t),a=n.resolve;return a(e),n.promise}},ce4e:function(t,e,n){var r=n("da84"),o=n("9112");t.exports=function(t,e){try{o(r,t,e)}catch(n){r[t]=e}return e}},d012:function(t,e){t.exports={}},d039:function(t,e){t.exports=function(t){try{return!!t()}catch(e){return!0}}},d066:function(t,e,n){var r=n("428f"),o=n("da84"),i=function(t){return"function"==typeof t?t:void 0};t.exports=function(t,e){return arguments.length<2?i(r[t])||i(o[t]):r[t]&&r[t][e]||o[t]&&o[t][e]}},d1e7:function(t,e,n){"use strict";var r={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,i=o&&!r.call({1:2},1);e.f=i?function(t){var e=o(this,t);return!!e&&e.enumerable}:r},d2bb:function(t,e,n){var r=n("825a"),o=n("3bbe");t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,n={};try{t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set,t.call(n,[]),e=n instanceof Array}catch(i){}return function(n,i){return r(n),o(i),e?t.call(n,i):n.__proto__=i,n}}():void 0)},d3b7:function(t,e,n){var r=n("00ee"),o=n("6eeb"),i=n("b041");r||o(Object.prototype,"toString",i,{unsafe:!0})},d44e:function(t,e,n){var r=n("9bf2").f,o=n("5135"),i=n("b622"),a=i("toStringTag");t.exports=function(t,e,n){t&&!o(t=n?t:t.prototype,a)&&r(t,a,{configurable:!0,value:e})}},d81d:function(t,e,n){"use strict";var r=n("23e7"),o=n("b727").map,i=n("1dde"),a=n("ae40"),c=i("map"),s=a("map");r({target:"Array",proto:!0,forced:!c||!s},{map:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},da84:function(t,e,n){(function(e){var n=function(t){return t&&t.Math==Math&&t};t.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof e&&e)||Function("return this")()}).call(this,n("c8ba"))},dbb4:function(t,e,n){var r=n("23e7"),o=n("83ab"),i=n("56ef"),a=n("fc6a"),c=n("06cf"),s=n("8418");r({target:"Object",stat:!0,sham:!o},{getOwnPropertyDescriptors:function(t){var e,n,r=a(t),o=c.f,u=i(r),f={},l=0;while(u.length>l)n=o(r,e=u[l++]),void 0!==n&&s(f,e,n);return f}})},ded3:function(t,e,n){n("b64b"),n("a4d3"),n("4de4"),n("d3b7"),n("e439"),n("159b"),n("dbb4");var r=n("9523");function o(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function i(t){for(var e=1;e=e.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==n?{value:r,done:!1}:"values"==n?{value:e[r],done:!1}:{value:[r,e[r]],done:!1}}),"values"),i.Arguments=i.Array,o("keys"),o("values"),o("entries")},e2cc:function(t,e,n){var r=n("6eeb");t.exports=function(t,e,n){for(var o in e)r(t,o,e[o],n);return t}},e439:function(t,e,n){var r=n("23e7"),o=n("d039"),i=n("fc6a"),a=n("06cf").f,c=n("83ab"),s=o((function(){a(1)})),u=!c||s;r({target:"Object",stat:!0,forced:u,sham:!c},{getOwnPropertyDescriptor:function(t,e){return a(i(t),e)}})},e538:function(t,e,n){var r=n("b622");e.f=r},e667:function(t,e){t.exports=function(t){try{return{error:!1,value:t()}}catch(e){return{error:!0,value:e}}}},e6cf:function(t,e,n){"use strict";var r,o,i,a,c=n("23e7"),s=n("c430"),u=n("da84"),f=n("d066"),l=n("fea9"),p=n("6eeb"),d=n("e2cc"),h=n("d44e"),v=n("2626"),y=n("861d"),m=n("1c0b"),g=n("19aa"),b=n("c6b6"),_=n("8925"),w=n("2266"),x=n("1c7e"),O=n("4840"),C=n("2cf4").set,A=n("b575"),S=n("cdf9"),k=n("44de"),j=n("f069"),$=n("e667"),E=n("69f3"),T=n("94ca"),P=n("b622"),I=n("2d00"),L=P("species"),R="Promise",M=E.get,D=E.set,N=E.getterFor(R),F=l,U=u.TypeError,V=u.document,B=u.process,H=f("fetch"),q=j.f,z=q,W="process"==b(B),G=!!(V&&V.createEvent&&u.dispatchEvent),K="unhandledrejection",X="rejectionhandled",J=0,Y=1,Q=2,Z=1,tt=2,et=T(R,(function(){var t=_(F)!==String(F);if(!t){if(66===I)return!0;if(!W&&"function"!=typeof PromiseRejectionEvent)return!0}if(s&&!F.prototype["finally"])return!0;if(I>=51&&/native code/.test(F))return!1;var e=F.resolve(1),n=function(t){t((function(){}),(function(){}))},r=e.constructor={};return r[L]=n,!(e.then((function(){}))instanceof n)})),nt=et||!x((function(t){F.all(t)["catch"]((function(){}))})),rt=function(t){var e;return!(!y(t)||"function"!=typeof(e=t.then))&&e},ot=function(t,e,n){if(!e.notified){e.notified=!0;var r=e.reactions;A((function(){var o=e.value,i=e.state==Y,a=0;while(r.length>a){var c,s,u,f=r[a++],l=i?f.ok:f.fail,p=f.resolve,d=f.reject,h=f.domain;try{l?(i||(e.rejection===tt&&st(t,e),e.rejection=Z),!0===l?c=o:(h&&h.enter(),c=l(o),h&&(h.exit(),u=!0)),c===f.promise?d(U("Promise-chain cycle")):(s=rt(c))?s.call(c,p,d):p(c)):d(o)}catch(v){h&&!u&&h.exit(),d(v)}}e.reactions=[],e.notified=!1,n&&!e.rejection&&at(t,e)}))}},it=function(t,e,n){var r,o;G?(r=V.createEvent("Event"),r.promise=e,r.reason=n,r.initEvent(t,!1,!0),u.dispatchEvent(r)):r={promise:e,reason:n},(o=u["on"+t])?o(r):t===K&&k("Unhandled promise rejection",n)},at=function(t,e){C.call(u,(function(){var n,r=e.value,o=ct(e);if(o&&(n=$((function(){W?B.emit("unhandledRejection",r,t):it(K,t,r)})),e.rejection=W||ct(e)?tt:Z,n.error))throw n.value}))},ct=function(t){return t.rejection!==Z&&!t.parent},st=function(t,e){C.call(u,(function(){W?B.emit("rejectionHandled",t):it(X,t,e.value)}))},ut=function(t,e,n,r){return function(o){t(e,n,o,r)}},ft=function(t,e,n,r){e.done||(e.done=!0,r&&(e=r),e.value=n,e.state=Q,ot(t,e,!0))},lt=function(t,e,n,r){if(!e.done){e.done=!0,r&&(e=r);try{if(t===n)throw U("Promise can't be resolved itself");var o=rt(n);o?A((function(){var r={done:!1};try{o.call(n,ut(lt,t,r,e),ut(ft,t,r,e))}catch(i){ft(t,r,i,e)}})):(e.value=n,e.state=Y,ot(t,e,!1))}catch(i){ft(t,{done:!1},i,e)}}};et&&(F=function(t){g(this,F,R),m(t),r.call(this);var e=M(this);try{t(ut(lt,this,e),ut(ft,this,e))}catch(n){ft(this,e,n)}},r=function(t){D(this,{type:R,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:J,value:void 0})},r.prototype=d(F.prototype,{then:function(t,e){var n=N(this),r=q(O(this,F));return r.ok="function"!=typeof t||t,r.fail="function"==typeof e&&e,r.domain=W?B.domain:void 0,n.parent=!0,n.reactions.push(r),n.state!=J&&ot(this,n,!1),r.promise},catch:function(t){return this.then(void 0,t)}}),o=function(){var t=new r,e=M(t);this.promise=t,this.resolve=ut(lt,t,e),this.reject=ut(ft,t,e)},j.f=q=function(t){return t===F||t===i?new o(t):z(t)},s||"function"!=typeof l||(a=l.prototype.then,p(l.prototype,"then",(function(t,e){var n=this;return new F((function(t,e){a.call(n,t,e)})).then(t,e)}),{unsafe:!0}),"function"==typeof H&&c({global:!0,enumerable:!0,forced:!0},{fetch:function(t){return S(F,H.apply(u,arguments))}}))),c({global:!0,wrap:!0,forced:et},{Promise:F}),h(F,R,!1,!0),v(R),i=f(R),c({target:R,stat:!0,forced:et},{reject:function(t){var e=q(this);return e.reject.call(void 0,t),e.promise}}),c({target:R,stat:!0,forced:s||et},{resolve:function(t){return S(s&&this===i?F:this,t)}}),c({target:R,stat:!0,forced:nt},{all:function(t){var e=this,n=q(e),r=n.resolve,o=n.reject,i=$((function(){var n=m(e.resolve),i=[],a=0,c=1;w(t,(function(t){var s=a++,u=!1;i.push(void 0),c++,n.call(e,t).then((function(t){u||(u=!0,i[s]=t,--c||r(i))}),o)})),--c||r(i)}));return i.error&&o(i.value),n.promise},race:function(t){var e=this,n=q(e),r=n.reject,o=$((function(){var o=m(e.resolve);w(t,(function(t){o.call(e,t).then(n.resolve,r)}))}));return o.error&&r(o.value),n.promise}})},e893:function(t,e,n){var r=n("5135"),o=n("56ef"),i=n("06cf"),a=n("9bf2");t.exports=function(t,e){for(var n=o(e),c=a.f,s=i.f,u=0;u=0||(o[n]=t[n]);return o}n("b64b"),t.exports=r,t.exports.__esModule=!0,t.exports["default"]=t.exports},f5df:function(t,e,n){var r=n("00ee"),o=n("c6b6"),i=n("b622"),a=i("toStringTag"),c="Arguments"==o(function(){return arguments}()),s=function(t,e){try{return t[e]}catch(n){}};t.exports=r?o:function(t){var e,n,r;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=s(e=Object(t),a))?n:c?o(e):"Object"==(r=o(e))&&"function"==typeof e.callee?"Arguments":r}},f772:function(t,e,n){var r=n("5692"),o=n("90e3"),i=r("keys");t.exports=function(t){return i[t]||(i[t]=o(t))}},fb6a:function(t,e,n){"use strict";var r=n("23e7"),o=n("861d"),i=n("e8b5"),a=n("23cb"),c=n("50c4"),s=n("fc6a"),u=n("8418"),f=n("b622"),l=n("1dde"),p=n("ae40"),d=l("slice"),h=p("slice",{ACCESSORS:!0,0:0,1:2}),v=f("species"),y=[].slice,m=Math.max;r({target:"Array",proto:!0,forced:!d||!h},{slice:function(t,e){var n,r,f,l=s(this),p=c(l.length),d=a(t,p),h=a(void 0===e?p:e,p);if(i(l)&&(n=l.constructor,"function"!=typeof n||n!==Array&&!i(n.prototype)?o(n)&&(n=n[v],null===n&&(n=void 0)):n=void 0,n===Array||void 0===n))return y.call(l,d,h);for(r=new(void 0===n?Array:n)(m(h-d,0)),f=0;d 1 ? arguments[1] : undefined);\n} : [].forEach;\n","module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line no-throw-literal\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.github.io/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","var anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {\n var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);\n var iterator, iterFn, index, length, result, next, step;\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = AS_ENTRIES\n ? boundFunction(anObject(step = iterable[index])[0], step[1])\n : boundFunction(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n\niterate.stop = function (result) {\n return new Result(true, result);\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.github.io/ecma262/#sec-object.getownpropertynames\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","/*!\n * Vue.js v2.6.11\n * (c) 2014-2019 Evan You\n * Released under the MIT License.\n */\n/* */\n\nvar emptyObject = Object.freeze({});\n\n// These helpers produce better VM code in JS engines due to their\n// explicitness and function inlining.\nfunction isUndef (v) {\n return v === undefined || v === null\n}\n\nfunction isDef (v) {\n return v !== undefined && v !== null\n}\n\nfunction isTrue (v) {\n return v === true\n}\n\nfunction isFalse (v) {\n return v === false\n}\n\n/**\n * Check if value is primitive.\n */\nfunction isPrimitive (value) {\n return (\n typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean'\n )\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\n/**\n * Get the raw type string of a value, e.g., [object Object].\n */\nvar _toString = Object.prototype.toString;\n\nfunction toRawType (value) {\n return _toString.call(value).slice(8, -1)\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject (obj) {\n return _toString.call(obj) === '[object Object]'\n}\n\nfunction isRegExp (v) {\n return _toString.call(v) === '[object RegExp]'\n}\n\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex (val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val)\n}\n\nfunction isPromise (val) {\n return (\n isDef(val) &&\n typeof val.then === 'function' &&\n typeof val.catch === 'function'\n )\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n return val == null\n ? ''\n : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert an input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n str,\n expectsLowerCase\n) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase\n ? function (val) { return map[val.toLowerCase()]; }\n : function (val) { return map[val]; }\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if an attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n/**\n * Remove an item from an array.\n */\nfunction remove (arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n}\n\n/**\n * Check whether an object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n var cache = Object.create(null);\n return (function cachedFn (str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str))\n })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase()\n});\n\n/**\n * Simple bind polyfill for environments that do not support it,\n * e.g., PhantomJS 1.x. Technically, we don't need this anymore\n * since native bind is now performant enough in most browsers.\n * But removing it would mean breaking code that was able to run in\n * PhantomJS 1.x, so this must be kept for backward compatibility.\n */\n\n/* istanbul ignore next */\nfunction polyfillBind (fn, ctx) {\n function boundFn (a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx)\n }\n\n boundFn._length = fn.length;\n return boundFn\n}\n\nfunction nativeBind (fn, ctx) {\n return fn.bind(ctx)\n}\n\nvar bind = Function.prototype.bind\n ? nativeBind\n : polyfillBind;\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend (to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject (arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res\n}\n\n/* eslint-disable no-unused-vars */\n\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).\n */\nfunction noop (a, b, c) {}\n\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n\n/* eslint-enable no-unused-vars */\n\n/**\n * Return the same value.\n */\nvar identity = function (_) { return _; };\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime()\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\n/**\n * Return the first index at which a loosely equal value can be\n * found in the array (if value is a plain object, the array must\n * contain an object of the same shape), or -1 if it is not present.\n */\nfunction looseIndexOf (arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) { return i }\n }\n return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n }\n}\n\nvar SSR_ATTR = 'data-server-rendered';\n\nvar ASSET_TYPES = [\n 'component',\n 'directive',\n 'filter'\n];\n\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured',\n 'serverPrefetch'\n];\n\n/* */\n\n\n\nvar config = ({\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * Perform updates asynchronously. Intended to be used by Vue Test Utils\n * This will significantly reduce performance if set to false.\n */\n async: true,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n});\n\n/* */\n\n/**\n * unicode letters used for parsing html tags, component names and property paths.\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\n */\nvar unicodeRegExp = /a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = new RegExp((\"[^\" + (unicodeRegExp.source) + \".$_\\\\d]\"));\nfunction parsePath (path) {\n if (bailRE.test(path)) {\n return\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj) { return }\n obj = obj[segments[i]];\n }\n return obj\n }\n}\n\n/* */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nvar weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nvar isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\nvar isPhantomJS = UA && /phantomjs/.test(UA);\nvar isFF = UA && UA.match(/firefox\\/(\\d+)/);\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\n\nvar supportsPassive = false;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', ({\n get: function get () {\n /* istanbul ignore next */\n supportsPassive = true;\n }\n })); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'] && global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n} else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = /*@__PURE__*/(function () {\n function Set () {\n this.set = Object.create(null);\n }\n Set.prototype.has = function has (key) {\n return this.set[key] === true\n };\n Set.prototype.add = function add (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function clear () {\n this.set = Object.create(null);\n };\n\n return Set;\n }());\n}\n\n/* */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = (noop); // work around flow check\nvar formatComponentName = (noop);\n\nif (process.env.NODE_ENV !== 'production') {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n var classify = function (str) { return str\n .replace(classifyRE, function (c) { return c.toUpperCase(); })\n .replace(/[-_]/g, ''); };\n\n warn = function (msg, vm) {\n var trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && (!config.silent)) {\n console.error((\"[Vue warn]: \" + msg + trace));\n }\n };\n\n tip = function (msg, vm) {\n if (hasConsole && (!config.silent)) {\n console.warn(\"[Vue tip]: \" + msg + (\n vm ? generateComponentTrace(vm) : ''\n ));\n }\n };\n\n formatComponentName = function (vm, includeFile) {\n if (vm.$root === vm) {\n return ''\n }\n var options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm;\n var name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (\n (name ? (\"<\" + (classify(name)) + \">\") : \"\") +\n (file && includeFile !== false ? (\" at \" + file) : '')\n )\n };\n\n var repeat = function (str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1) { res += str; }\n if (n > 1) { str += str; }\n n >>= 1;\n }\n return res\n };\n\n generateComponentTrace = function (vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm) {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n tree.push(vm);\n vm = vm.$parent;\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n : formatComponentName(vm))); })\n .join('\\n')\n } else {\n return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n }\n };\n}\n\n/* */\n\nvar uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n this.id = uid++;\n this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n if (Dep.target) {\n Dep.target.addDep(this);\n }\n};\n\nDep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n // subs aren't sorted in scheduler if not running async\n // we need to sort them now to make sure they fire in correct\n // order\n subs.sort(function (a, b) { return a.id - b.id; });\n }\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n};\n\n// The current target watcher being evaluated.\n// This is globally unique because only one watcher\n// can be evaluated at a time.\nDep.target = null;\nvar targetStack = [];\n\nfunction pushTarget (target) {\n targetStack.push(target);\n Dep.target = target;\n}\n\nfunction popTarget () {\n targetStack.pop();\n Dep.target = targetStack[targetStack.length - 1];\n}\n\n/* */\n\nvar VNode = function VNode (\n tag,\n data,\n children,\n text,\n elm,\n context,\n componentOptions,\n asyncFactory\n) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n};\n\nvar prototypeAccessors = { child: { configurable: true } };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n return this.componentInstance\n};\n\nObject.defineProperties( VNode.prototype, prototypeAccessors );\n\nvar createEmptyVNode = function (text) {\n if ( text === void 0 ) text = '';\n\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node\n};\n\nfunction createTextVNode (val) {\n return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n var cloned = new VNode(\n vnode.tag,\n vnode.data,\n // #7975\n // clone children array to avoid mutating original in case of cloning\n // a child.\n vnode.children && vnode.children.slice(),\n vnode.text,\n vnode.elm,\n vnode.context,\n vnode.componentOptions,\n vnode.asyncFactory\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.asyncMeta = vnode.asyncMeta;\n cloned.isCloned = true;\n return cloned\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\n\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break\n case 'splice':\n inserted = args.slice(2);\n break\n }\n if (inserted) { ob.observeArray(inserted); }\n // notify change\n ob.dep.notify();\n return result\n });\n});\n\n/* */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\n\nfunction toggleObserving (value) {\n shouldObserve = value;\n}\n\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = function Observer (value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (Array.isArray(value)) {\n if (hasProto) {\n protoAugment(value, arrayMethods);\n } else {\n copyAugment(value, arrayMethods, arrayKeys);\n }\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through all properties and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk (obj) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n defineReactive$$1(obj, keys[i]);\n }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray (items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n};\n\n// helpers\n\n/**\n * Augment a target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment a target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n if (!isObject(value) || value instanceof VNode) {\n return\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (\n shouldObserve &&\n !isServerRendering() &&\n (Array.isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value._isVue\n ) {\n ob = new Observer(value);\n }\n if (asRootData && ob) {\n ob.vmCount++;\n }\n return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive$$1 (\n obj,\n key,\n val,\n customSetter,\n shallow\n) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n var setter = property && property.set;\n if ((!getter || setter) && arguments.length === 2) {\n val = obj[key];\n }\n\n var childOb = !shallow && observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter () {\n var value = getter ? getter.call(obj) : val;\n if (Dep.target) {\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n }\n return value\n },\n set: function reactiveSetter (newVal) {\n var value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n if (newVal === value || (newVal !== newVal && value !== value)) {\n return\n }\n /* eslint-enable no-self-compare */\n if (process.env.NODE_ENV !== 'production' && customSetter) {\n customSetter();\n }\n // #7981: for accessor properties without setter\n if (getter && !setter) { return }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal);\n dep.notify();\n }\n });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot set reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.'\n );\n return val\n }\n if (!ob) {\n target[key] = val;\n return val\n }\n defineReactive$$1(ob.value, key, val);\n ob.dep.notify();\n return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot delete reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.'\n );\n return\n }\n if (!hasOwn(target, key)) {\n return\n }\n delete target[key];\n if (!ob) {\n return\n }\n ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n}\n\n/* */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (process.env.NODE_ENV !== 'production') {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\n \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n 'creation with the `new` keyword.'\n );\n }\n return defaultStrat(parent, child)\n };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n if (!from) { return to }\n var key, toVal, fromVal;\n\n var keys = hasSymbol\n ? Reflect.ownKeys(from)\n : Object.keys(from);\n\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n // in case the object is already observed...\n if (key === '__ob__') { continue }\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (\n toVal !== fromVal &&\n isPlainObject(toVal) &&\n isPlainObject(fromVal)\n ) {\n mergeData(toVal, fromVal);\n }\n }\n return to\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal\n }\n if (!parentVal) {\n return childVal\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn () {\n return mergeData(\n typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n )\n }\n } else {\n return function mergedInstanceDataFn () {\n // instance merge\n var instanceData = typeof childVal === 'function'\n ? childVal.call(vm, vm)\n : childVal;\n var defaultData = typeof parentVal === 'function'\n ? parentVal.call(vm, vm)\n : parentVal;\n if (instanceData) {\n return mergeData(instanceData, defaultData)\n } else {\n return defaultData\n }\n }\n }\n}\n\nstrats.data = function (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n process.env.NODE_ENV !== 'production' && warn(\n 'The \"data\" option should be a function ' +\n 'that returns a per-instance value in component ' +\n 'definitions.',\n vm\n );\n\n return parentVal\n }\n return mergeDataOrFn(parentVal, childVal)\n }\n\n return mergeDataOrFn(parentVal, childVal, vm)\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n parentVal,\n childVal\n) {\n var res = childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal;\n return res\n ? dedupeHooks(res)\n : res\n}\n\nfunction dedupeHooks (hooks) {\n var res = [];\n for (var i = 0; i < hooks.length; i++) {\n if (res.indexOf(hooks[i]) === -1) {\n res.push(hooks[i]);\n }\n }\n return res\n}\n\nLIFECYCLE_HOOKS.forEach(function (hook) {\n strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (\n parentVal,\n childVal,\n vm,\n key\n) {\n var res = Object.create(parentVal || null);\n if (childVal) {\n process.env.NODE_ENV !== 'production' && assertObjectType(key, childVal, vm);\n return extend(res, childVal)\n } else {\n return res\n }\n}\n\nASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n // work around Firefox's Object.prototype.watch...\n if (parentVal === nativeWatch) { parentVal = undefined; }\n if (childVal === nativeWatch) { childVal = undefined; }\n /* istanbul ignore if */\n if (!childVal) { return Object.create(parentVal || null) }\n if (process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = {};\n extend(ret, parentVal);\n for (var key$1 in childVal) {\n var parent = ret[key$1];\n var child = childVal[key$1];\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n ret[key$1] = parent\n ? parent.concat(child)\n : Array.isArray(child) ? child : [child];\n }\n return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.inject =\nstrats.computed = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n if (childVal && process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = Object.create(null);\n extend(ret, parentVal);\n if (childVal) { extend(ret, childVal); }\n return ret\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n for (var key in options.components) {\n validateComponentName(key);\n }\n}\n\nfunction validateComponentName (name) {\n if (!new RegExp((\"^[a-zA-Z][\\\\-\\\\.0-9_\" + (unicodeRegExp.source) + \"]*$\")).test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'should conform to valid custom element name in html5 specification.'\n );\n }\n if (isBuiltInTag(name) || config.isReservedTag(name)) {\n warn(\n 'Do not use built-in or reserved HTML elements as component ' +\n 'id: ' + name\n );\n }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options, vm) {\n var props = options.props;\n if (!props) { return }\n var res = {};\n var i, val, name;\n if (Array.isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n } else if (process.env.NODE_ENV !== 'production') {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val)\n ? val\n : { type: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(props)) + \".\",\n vm\n );\n }\n options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject (options, vm) {\n var inject = options.inject;\n if (!inject) { return }\n var normalized = options.inject = {};\n if (Array.isArray(inject)) {\n for (var i = 0; i < inject.length; i++) {\n normalized[inject[i]] = { from: inject[i] };\n }\n } else if (isPlainObject(inject)) {\n for (var key in inject) {\n var val = inject[key];\n normalized[key] = isPlainObject(val)\n ? extend({ from: key }, val)\n : { from: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(inject)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n var dirs = options.directives;\n if (dirs) {\n for (var key in dirs) {\n var def$$1 = dirs[key];\n if (typeof def$$1 === 'function') {\n dirs[key] = { bind: def$$1, update: def$$1 };\n }\n }\n }\n}\n\nfunction assertObjectType (name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\n \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n \"but got \" + (toRawType(value)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n parent,\n child,\n vm\n) {\n if (process.env.NODE_ENV !== 'production') {\n checkComponents(child);\n }\n\n if (typeof child === 'function') {\n child = child.options;\n }\n\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives(child);\n\n // Apply extends and mixins on the child options,\n // but only if it is a raw options object that isn't\n // the result of another mergeOptions call.\n // Only merged options has the _base property.\n if (!child._base) {\n if (child.extends) {\n parent = mergeOptions(parent, child.extends, vm);\n }\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n }\n\n var options = {};\n var key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField (key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n options,\n type,\n id,\n warnMissing\n) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return\n }\n var assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id)) { return assets[id] }\n var camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n var PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n // fallback to prototype chain\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if (process.env.NODE_ENV !== 'production' && warnMissing && !res) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\n}\n\n/* */\n\n\n\nfunction validateProp (\n key,\n propOptions,\n propsData,\n vm\n) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key];\n // boolean casting\n var booleanIndex = getTypeIndex(Boolean, prop.type);\n if (booleanIndex > -1) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (value === '' || value === hyphenate(key)) {\n // only cast empty string / same name to boolean if\n // boolean has higher priority\n var stringIndex = getTypeIndex(String, prop.type);\n if (stringIndex < 0 || booleanIndex < stringIndex) {\n value = true;\n }\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n var prevShouldObserve = shouldObserve;\n toggleObserving(true);\n observe(value);\n toggleObserving(prevShouldObserve);\n }\n if (\n process.env.NODE_ENV !== 'production' &&\n // skip validation for weex recycle-list child component props\n !(false)\n ) {\n assertProp(prop, key, value, vm, absent);\n }\n return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined\n }\n var def = prop.default;\n // warn against non-factory defaults for Object & Array\n if (process.env.NODE_ENV !== 'production' && isObject(def)) {\n warn(\n 'Invalid default value for prop \"' + key + '\": ' +\n 'Props with type Object/Array must use a factory function ' +\n 'to return the default value.',\n vm\n );\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm && vm.$options.propsData &&\n vm.$options.propsData[key] === undefined &&\n vm._props[key] !== undefined\n ) {\n return vm._props[key]\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return typeof def === 'function' && getType(prop.type) !== 'Function'\n ? def.call(vm)\n : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n prop,\n name,\n value,\n vm,\n absent\n) {\n if (prop.required && absent) {\n warn(\n 'Missing required prop: \"' + name + '\"',\n vm\n );\n return\n }\n if (value == null && !prop.required) {\n return\n }\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i]);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n\n if (!valid) {\n warn(\n getInvalidTypeMessage(name, value, expectedTypes),\n vm\n );\n return\n }\n var validator = prop.validator;\n if (validator) {\n if (!validator(value)) {\n warn(\n 'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n vm\n );\n }\n }\n}\n\nvar simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/;\n\nfunction assertType (value, type) {\n var valid;\n var expectedType = getType(type);\n if (simpleCheckRE.test(expectedType)) {\n var t = typeof value;\n valid = t === expectedType.toLowerCase();\n // for primitive wrapper objects\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (expectedType === 'Array') {\n valid = Array.isArray(value);\n } else {\n valid = value instanceof type;\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n}\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType (fn) {\n var match = fn && fn.toString().match(/^\\s*function (\\w+)/);\n return match ? match[1] : ''\n}\n\nfunction isSameType (a, b) {\n return getType(a) === getType(b)\n}\n\nfunction getTypeIndex (type, expectedTypes) {\n if (!Array.isArray(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1\n }\n for (var i = 0, len = expectedTypes.length; i < len; i++) {\n if (isSameType(expectedTypes[i], type)) {\n return i\n }\n }\n return -1\n}\n\nfunction getInvalidTypeMessage (name, value, expectedTypes) {\n var message = \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n \" Expected \" + (expectedTypes.map(capitalize).join(', '));\n var expectedType = expectedTypes[0];\n var receivedType = toRawType(value);\n var expectedValue = styleValue(value, expectedType);\n var receivedValue = styleValue(value, receivedType);\n // check if we need to specify expected value\n if (expectedTypes.length === 1 &&\n isExplicable(expectedType) &&\n !isBoolean(expectedType, receivedType)) {\n message += \" with value \" + expectedValue;\n }\n message += \", got \" + receivedType + \" \";\n // check if we need to specify received value\n if (isExplicable(receivedType)) {\n message += \"with value \" + receivedValue + \".\";\n }\n return message\n}\n\nfunction styleValue (value, type) {\n if (type === 'String') {\n return (\"\\\"\" + value + \"\\\"\")\n } else if (type === 'Number') {\n return (\"\" + (Number(value)))\n } else {\n return (\"\" + value)\n }\n}\n\nfunction isExplicable (value) {\n var explicitTypes = ['string', 'number', 'boolean'];\n return explicitTypes.some(function (elem) { return value.toLowerCase() === elem; })\n}\n\nfunction isBoolean () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; })\n}\n\n/* */\n\nfunction handleError (err, vm, info) {\n // Deactivate deps tracking while processing error handler to avoid possible infinite rendering.\n // See: https://github.com/vuejs/vuex/issues/1505\n pushTarget();\n try {\n if (vm) {\n var cur = vm;\n while ((cur = cur.$parent)) {\n var hooks = cur.$options.errorCaptured;\n if (hooks) {\n for (var i = 0; i < hooks.length; i++) {\n try {\n var capture = hooks[i].call(cur, err, vm, info) === false;\n if (capture) { return }\n } catch (e) {\n globalHandleError(e, cur, 'errorCaptured hook');\n }\n }\n }\n }\n }\n globalHandleError(err, vm, info);\n } finally {\n popTarget();\n }\n}\n\nfunction invokeWithErrorHandling (\n handler,\n context,\n args,\n vm,\n info\n) {\n var res;\n try {\n res = args ? handler.apply(context, args) : handler.call(context);\n if (res && !res._isVue && isPromise(res) && !res._handled) {\n res.catch(function (e) { return handleError(e, vm, info + \" (Promise/async)\"); });\n // issue #9511\n // avoid catch triggering multiple times when nested calls\n res._handled = true;\n }\n } catch (e) {\n handleError(e, vm, info);\n }\n return res\n}\n\nfunction globalHandleError (err, vm, info) {\n if (config.errorHandler) {\n try {\n return config.errorHandler.call(null, err, vm, info)\n } catch (e) {\n // if the user intentionally throws the original error in the handler,\n // do not log it twice\n if (e !== err) {\n logError(e, null, 'config.errorHandler');\n }\n }\n }\n logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n }\n /* istanbul ignore else */\n if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n console.error(err);\n } else {\n throw err\n }\n}\n\n/* */\n\nvar isUsingMicroTask = false;\n\nvar callbacks = [];\nvar pending = false;\n\nfunction flushCallbacks () {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks.length = 0;\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n}\n\n// Here we have async deferring wrappers using microtasks.\n// In 2.5 we used (macro) tasks (in combination with microtasks).\n// However, it has subtle problems when state is changed right before repaint\n// (e.g. #6813, out-in transitions).\n// Also, using (macro) tasks in event handler would cause some weird behaviors\n// that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).\n// So we now use microtasks everywhere, again.\n// A major drawback of this tradeoff is that there are some scenarios\n// where microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690, which have workarounds)\n// or even between bubbling of the same event (#6566).\nvar timerFunc;\n\n// The nextTick behavior leverages the microtask queue, which can be accessed\n// via either native Promise.then or MutationObserver.\n// MutationObserver has wider support, however it is seriously bugged in\n// UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It\n// completely stops working after triggering a few times... so, if native\n// Promise is available, we will use it:\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n timerFunc = function () {\n p.then(flushCallbacks);\n // In problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n if (isIOS) { setTimeout(noop); }\n };\n isUsingMicroTask = true;\n} else if (!isIE && typeof MutationObserver !== 'undefined' && (\n isNative(MutationObserver) ||\n // PhantomJS and iOS 7.x\n MutationObserver.toString() === '[object MutationObserverConstructor]'\n)) {\n // Use MutationObserver where native Promise is not available,\n // e.g. PhantomJS, iOS7, Android 4.4\n // (#6466 MutationObserver is unreliable in IE11)\n var counter = 1;\n var observer = new MutationObserver(flushCallbacks);\n var textNode = document.createTextNode(String(counter));\n observer.observe(textNode, {\n characterData: true\n });\n timerFunc = function () {\n counter = (counter + 1) % 2;\n textNode.data = String(counter);\n };\n isUsingMicroTask = true;\n} else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n // Fallback to setImmediate.\n // Technically it leverages the (macro) task queue,\n // but it is still a better choice than setTimeout.\n timerFunc = function () {\n setImmediate(flushCallbacks);\n };\n} else {\n // Fallback to setTimeout.\n timerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n}\n\nfunction nextTick (cb, ctx) {\n var _resolve;\n callbacks.push(function () {\n if (cb) {\n try {\n cb.call(ctx);\n } catch (e) {\n handleError(e, ctx, 'nextTick');\n }\n } else if (_resolve) {\n _resolve(ctx);\n }\n });\n if (!pending) {\n pending = true;\n timerFunc();\n }\n // $flow-disable-line\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(function (resolve) {\n _resolve = resolve;\n })\n }\n}\n\n/* */\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (process.env.NODE_ENV !== 'production') {\n var allowedGlobals = makeMap(\n 'Infinity,undefined,NaN,isFinite,isNaN,' +\n 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' +\n 'require' // for Webpack/Browserify\n );\n\n var warnNonPresent = function (target, key) {\n warn(\n \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n 'referenced during render. Make sure that this property is reactive, ' +\n 'either in the data option, or for class-based components, by ' +\n 'initializing the property. ' +\n 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n target\n );\n };\n\n var warnReservedPrefix = function (target, key) {\n warn(\n \"Property \\\"\" + key + \"\\\" must be accessed with \\\"$data.\" + key + \"\\\" because \" +\n 'properties starting with \"$\" or \"_\" are not proxied in the Vue instance to ' +\n 'prevent conflicts with Vue internals. ' +\n 'See: https://vuejs.org/v2/api/#data',\n target\n );\n };\n\n var hasProxy =\n typeof Proxy !== 'undefined' && isNative(Proxy);\n\n if (hasProxy) {\n var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n config.keyCodes = new Proxy(config.keyCodes, {\n set: function set (target, key, value) {\n if (isBuiltInModifier(key)) {\n warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n return false\n } else {\n target[key] = value;\n return true\n }\n }\n });\n }\n\n var hasHandler = {\n has: function has (target, key) {\n var has = key in target;\n var isAllowed = allowedGlobals(key) ||\n (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data));\n if (!has && !isAllowed) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return has || !isAllowed\n }\n };\n\n var getHandler = {\n get: function get (target, key) {\n if (typeof key === 'string' && !(key in target)) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return target[key]\n }\n };\n\n initProxy = function initProxy (vm) {\n if (hasProxy) {\n // determine which proxy handler to use\n var options = vm.$options;\n var handlers = options.render && options.render._withStripped\n ? getHandler\n : hasHandler;\n vm._renderProxy = new Proxy(vm, handlers);\n } else {\n vm._renderProxy = vm;\n }\n };\n}\n\n/* */\n\nvar seenObjects = new _Set();\n\n/**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\nfunction traverse (val) {\n _traverse(val, seenObjects);\n seenObjects.clear();\n}\n\nfunction _traverse (val, seen) {\n var i, keys;\n var isA = Array.isArray(val);\n if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n return\n }\n if (val.__ob__) {\n var depId = val.__ob__.dep.id;\n if (seen.has(depId)) {\n return\n }\n seen.add(depId);\n }\n if (isA) {\n i = val.length;\n while (i--) { _traverse(val[i], seen); }\n } else {\n keys = Object.keys(val);\n i = keys.length;\n while (i--) { _traverse(val[keys[i]], seen); }\n }\n}\n\nvar mark;\nvar measure;\n\nif (process.env.NODE_ENV !== 'production') {\n var perf = inBrowser && window.performance;\n /* istanbul ignore if */\n if (\n perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n perf.clearMeasures\n ) {\n mark = function (tag) { return perf.mark(tag); };\n measure = function (name, startTag, endTag) {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n // perf.clearMeasures(name)\n };\n }\n}\n\n/* */\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once$$1 ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once$$1,\n capture: capture,\n passive: passive\n }\n});\n\nfunction createFnInvoker (fns, vm) {\n function invoker () {\n var arguments$1 = arguments;\n\n var fns = invoker.fns;\n if (Array.isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n invokeWithErrorHandling(cloned[i], null, arguments$1, vm, \"v-on handler\");\n }\n } else {\n // return handler return value for single handlers\n return invokeWithErrorHandling(fns, null, arguments, vm, \"v-on handler\")\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n createOnceHandler,\n vm\n) {\n var name, def$$1, cur, old, event;\n for (name in on) {\n def$$1 = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n if (isUndef(cur)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n vm\n );\n } else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur, vm);\n }\n if (isTrue(event.once)) {\n cur = on[name] = createOnceHandler(event.name, cur, event.capture);\n }\n add(event.name, cur, event.capture, event.passive, event.params);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n}\n\n/* */\n\nfunction mergeVNodeHook (def, hookKey, hook) {\n if (def instanceof VNode) {\n def = def.data.hook || (def.data.hook = {});\n }\n var invoker;\n var oldHook = def[hookKey];\n\n function wrappedHook () {\n hook.apply(this, arguments);\n // important: remove merged hook to ensure it's called only once\n // and prevent memory leak\n remove(invoker.fns, wrappedHook);\n }\n\n if (isUndef(oldHook)) {\n // no existing hook\n invoker = createFnInvoker([wrappedHook]);\n } else {\n /* istanbul ignore if */\n if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {\n // already a merged invoker\n invoker = oldHook;\n invoker.fns.push(wrappedHook);\n } else {\n // existing plain hook\n invoker = createFnInvoker([oldHook, wrappedHook]);\n }\n }\n\n invoker.merged = true;\n def[hookKey] = invoker;\n}\n\n/* */\n\nfunction extractPropsFromVNodeData (\n data,\n Ctor,\n tag\n) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n return\n }\n var res = {};\n var attrs = data.attrs;\n var props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (process.env.NODE_ENV !== 'production') {\n var keyInLowerCase = key.toLowerCase();\n if (\n key !== keyInLowerCase &&\n attrs && hasOwn(attrs, keyInLowerCase)\n ) {\n tip(\n \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n \" \\\"\" + key + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n );\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n return res\n}\n\nfunction checkProp (\n res,\n hash,\n key,\n altKey,\n preserve\n) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true\n } else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true\n }\n }\n return false\n}\n\n/* */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren (children) {\n for (var i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children)\n }\n }\n return children\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g. - - diff --git a/src/components/projects/Greenbox.vue b/src/components/projects/Greenbox.vue deleted file mode 100644 index dbd8874..0000000 --- a/src/components/projects/Greenbox.vue +++ /dev/null @@ -1,45 +0,0 @@ - - - \ No newline at end of file diff --git a/src/components/projects/KnimeHub.vue b/src/components/projects/KnimeHub.vue deleted file mode 100644 index fb3147d..0000000 --- a/src/components/projects/KnimeHub.vue +++ /dev/null @@ -1,67 +0,0 @@ - - - \ No newline at end of file diff --git a/src/components/projects/Mechanics.vue b/src/components/projects/Mechanics.vue deleted file mode 100644 index e603f63..0000000 --- a/src/components/projects/Mechanics.vue +++ /dev/null @@ -1,45 +0,0 @@ - - - \ No newline at end of file diff --git a/src/components/projects/Phoenix.vue b/src/components/projects/Phoenix.vue deleted file mode 100644 index 33e5706..0000000 --- a/src/components/projects/Phoenix.vue +++ /dev/null @@ -1,74 +0,0 @@ - - - \ No newline at end of file diff --git a/src/components/projects/QueryBuilder.vue b/src/components/projects/QueryBuilder.vue deleted file mode 100644 index be0a8ea..0000000 --- a/src/components/projects/QueryBuilder.vue +++ /dev/null @@ -1,52 +0,0 @@ - - - diff --git a/src/components/projects/ScenarioManager.vue b/src/components/projects/ScenarioManager.vue deleted file mode 100644 index 9fd6968..0000000 --- a/src/components/projects/ScenarioManager.vue +++ /dev/null @@ -1,64 +0,0 @@ - - - \ No newline at end of file diff --git a/src/components/projects/Thesis.vue b/src/components/projects/Thesis.vue deleted file mode 100644 index e41946f..0000000 --- a/src/components/projects/Thesis.vue +++ /dev/null @@ -1,77 +0,0 @@ - - - - - diff --git a/src/components/projects/TrafficTicket.vue b/src/components/projects/TrafficTicket.vue deleted file mode 100644 index 1143f99..0000000 --- a/src/components/projects/TrafficTicket.vue +++ /dev/null @@ -1,28 +0,0 @@ - - - \ No newline at end of file diff --git a/src/main.js b/src/main.js deleted file mode 100644 index 260aa6e..0000000 --- a/src/main.js +++ /dev/null @@ -1,16 +0,0 @@ -// The Vue build version to load with the `import` command -// (runtime-only or standalone) has been set in webpack.base.conf with an alias. -import Vue from 'vue' -import App from './App' -import router from './router' - -Vue.config.productionTip = false - -/* eslint-disable no-new */ -new Vue({ - render: h => h(App), - el: '#app', - router, - components: { App }, - template: '' -}).$mount('#app') diff --git a/src/router/index.js b/src/router/index.js deleted file mode 100644 index a418014..0000000 --- a/src/router/index.js +++ /dev/null @@ -1,41 +0,0 @@ -import Vue from 'vue' -import Router from 'vue-router' -import About from '@/components/content/About.vue' -import CodeSnippets from '@/components/projects/CodeSnippets.vue' -import EsGehtLos from '@/components/projects/EsGehtLos.vue' -import Greenbox from '@/components/projects/Greenbox.vue' -import KnimeHub from '@/components/projects/KnimeHub.vue' -import LandingPage from '@/components/content/LandingPage.vue' -import Legal from '@/components/content/Legal.vue' -import Mechanics from '@/components/projects/Mechanics.vue' -import PageNotFound from '@/components/content/PageNotFound.vue' -import Phoenix from '@/components/projects/Phoenix.vue' -import QueryBuilder from '@/components/projects/QueryBuilder.vue' -import ScenarioManager from '@/components/projects/ScenarioManager.vue' -import Thesis from '@/components/projects/Thesis.vue' -import TrafficTicket from '@/components/projects/TrafficTicket.vue' - -Vue.use(Router) - -export default new Router({ - routes: [ - { path: '/', component: LandingPage }, - { path: '/about', component: About }, - { path: '/codesnippets', component: CodeSnippets }, - { path: '/esgehtlos', component: EsGehtLos }, - { path: '/greenbox', component: Greenbox }, - { path: '/knimehub', component: KnimeHub }, - { path: '/legal', component: Legal}, - { path: '/mechanics', component: Mechanics }, - { path: '/phoenix', component: Phoenix }, - { path: '/querybuilder', component: QueryBuilder }, - { path: '/scenariomanager', component: ScenarioManager }, - { path: '/thesis', component: Thesis }, - { path: '/trafficticket', component: TrafficTicket }, - { path: '*', component: PageNotFound} - ], - mode: 'history', - scrollBehavior () { - return { x: 0, y: 0 } - } -}) diff --git a/src/styles.css b/src/styles.css deleted file mode 100644 index 7248c7d..0000000 --- a/src/styles.css +++ /dev/null @@ -1,192 +0,0 @@ -/* lato-300 - latin */ -@font-face { - font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ - font-family: 'Lato'; - font-style: normal; - font-weight: 300; - src: url('../public/fonts/lato-v23-latin-300.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+ */ - url('../public/fonts/lato-v23-latin-300.woff') format('woff'); /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */ -} -/* lato-regular - latin */ -@font-face { - font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ - font-family: 'Lato'; - font-style: normal; - font-weight: 400; - src: url('../public/fonts/lato-v23-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+ */ - url('../public/fonts/lato-v23-latin-regular.woff') format('woff'); /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */ -} -/* lato-700 - latin */ -@font-face { - font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ - font-family: 'Lato'; - font-style: normal; - font-weight: 700; - src: url('../public/fonts/lato-v23-latin-700.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+ */ - url('../public/fonts/lato-v23-latin-700.woff') format('woff'); /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */ -} -/* lora-regular - latin */ -@font-face { - font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ - font-family: 'Lora'; - font-style: normal; - font-weight: 400; - src: url('../public/fonts/lora-v32-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+ */ - url('../public/fonts/lora-v32-latin-regular.woff') format('woff'); /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */ -} -/* lora-700 - latin */ -@font-face { - font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ - font-family: 'Lora'; - font-style: normal; - font-weight: 700; - src: url('../public/fonts/lora-v32-latin-700.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+ */ - url('../public/fonts/lora-v32-latin-700.woff') format('woff'); /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */ -} - -:root { - --font-sans: "Lato", sans-serif; - --font-serif: "Lora", serif; - --content-padding: 30px; - --dark: #212121; - --light: #666666; - --blue: #355DAE; - --light-blue: #E6ECF2; - --shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24); - --grad: linear-gradient(180deg, var(--light-blue) 0%, #EBF2F2 100%); - --radius: 2px; - /* Font sizes */ - --size-h1: 96px; - --size-h2: 60px; - --size-h3: 48px; - --size-h4: 34px; - --size-h5: 24px; - --size-h6: 20px; - --size-sub1: 16px; - --size-sub2: 14px; -} - -body { - font-family: var(--font-sans); - color: var(--dark); - margin: 0; - height: 100%; - background: var(--grad); -} - -#app { - display: grid; - grid-template-rows: 64px 1fr auto; - height: 100%; -} - -/* Headings */ -h1, h2, h3, h4, h5, h6 { - font-family: var(--font-serif); - /* color: red; */ - font-weight: 400; -} - -h1 { - font-size: var(--size-h1); - margin: 112px 0 48px 0; -} - -h2 { - font-size: var(--size-h2); - margin: 72px 0 32px 0; -} - -h3 { - font-size: var(--size-h3); - margin: 60px 0 24px 0; -} - -h4 { - font-size: var(--size-h4); - margin: 40px 0 16px 0; -} - -h5, .h5sans { - font-size: var(--size-h5); - margin: 32px 0 12px 0; -} - -h6, .h6sans { - font-size: var(--size-h6); - margin: 24px 0 8px 0; -} - -.h5sans, .h6sans, .subtitle1, .subtitle2, .body1, .body2 { - font-family: var(--font-sans); -} - -.subtitle1 { - font-size: var(--size-sub1); - text-transform: uppercase; - color: var(--light); -} - -.subtitle2 { - font-size: var(--size-sub2); - text-transform: uppercase; - color: var(--light); -} - -.body1 { - font-size: var(--size-sub1); -} - -.body2 { - font-size: var(--size-sub2); -} - -.body1 p { - margin: 0 0 24px 0; - line-height: 32px; -} - -.body2 p { - margin: 6px 0; - line-height: 24px; -} - - -/* General classes */ -a { - text-decoration: none; - color: var(--dark); -} - -p, ul, ol { - max-width: 700px; -} - -p { - line-height: 28px; -} - -ul { - margin: 0 0 24px 0; -} - -ul li, ol li { - line-height: 28px; -} - -/* custom classes */ -.link { - border-bottom: 2px solid rgba(53, 93, 174, 0.5); -} - -.link:hover { - border-bottom: 2px solid var(--blue); -} - -/* responsive content*/ -.responsive { - padding-left: var(--content-padding); - padding-right: var(--content-padding); - max-width: 1200px; - margin: 0 auto; -} diff --git a/src/utils/index.js b/src/utils/index.js deleted file mode 100644 index 6e2295d..0000000 --- a/src/utils/index.js +++ /dev/null @@ -1,43 +0,0 @@ -import { projData, activeRoutes } from './projects.js' - -// returns the name of the project from a route (e.g. '/phoenix' -> Phoenix) -export function getProjectNameFromRoute(route) { - // remove trailing / - if (route !== '/' & route.slice(-1) === '/') { - route = route.slice(0, -1) - } - // check for known routes - let names = projData.filter(obj => obj.route === route) - if (names.length) { - return names[0] - } else { - // for 404 routes - return '404' - } -} - -// returns a correct modulo -function getMod(i, j) { - return ((i % j) + j) % j -} - -// returns the route and name of the previous and the next project -export function getPreviousNextProjects(route) { - // find index of current project - // by default found is the last project (e.g. inactive ones) - let found = activeRoutes.length; - for (let i = 0; i < activeRoutes.length; i++) { - if (activeRoutes[i].route == route) { - found = i - break - } - } - let previous = getMod(found - 1, activeRoutes.length) - let next = getMod(found + 1, activeRoutes.length) - - return { - previous: activeRoutes[previous], - next: activeRoutes[next] - } -} - diff --git a/src/utils/projects.js b/src/utils/projects.js deleted file mode 100644 index 3b5cc40..0000000 --- a/src/utils/projects.js +++ /dev/null @@ -1,139 +0,0 @@ -// data for the projects -export const projData = [ - { - route: '/trafficticket', - image: { - src: 'trafficticket/ticket1.jpeg', - alt: 'A parking ticket on a windshield' - }, - name: 'Traffic ticket', - slogan: 'Processing traffic tickets for a car rental', - clients: ['MaibornWolff', 'Car rental company'], - task: 'Project lead', - date: 'Feb 2022-Jan 2023', - active: true - }, - { - route: '/esgehtlos', - image: { - src: 'esgehtlos/demo.png', - alt: 'Screen design for mobile web app' - }, - name: 'Es geht los', - slogan: 'More democracy with civic councils', - clients: ['MaibornWolff', 'Demokratie Innovation e. V.'], - task: 'UI Design', - date: 'Jan-Feb 2022', - active: true - }, - { - route: '/scenariomanager', - image: { - src: 'scenariomanager/brainstorming-sideshot.jpg', - alt: 'Scenario Manager UI' - }, - name: 'Scenario Manager', - slogan: 'Helping financial decision makers in stormy times', - clients: ['Valsight'], - task: 'UX Research', - date: 'Jan-Mar 2020', - active: true // active projects are shown on the landing page, inactive ones are only accessible by route - }, - { - route: '/knimehub', - image: { - src: 'knimehub/front_page.jpg', - alt: 'Screenshot of the landing page of KNIME hub' - }, - name: 'KNIME Hub', - slogan: 'Collaborative platform for data scientists', - clients: ['KNIME'], - task: 'UI/UX Design', - date: '2018-2019', - active: true - }, - { - route: '/greenbox', - image: { - src: 'greenbox/greenbox_app2.png', - alt: 'Usability test of the greenbox app' - }, - name: 'Greenbox', - slogan: 'Turning people into urban gardeners', - clients: ['Greenbox'], - task: 'Usability evaluation', - date: '2015', - active: false - }, - { - route: '/phoenix', - image: { - src: 'phoenix/phoenix_mp.jpg', - alt: 'Screenshot of phoenix application' - }, - name: 'Phoenix', - slogan: 'The musicplayer that knows what you want to hear', - clients: ['Myself'], - task: 'Design & Development', - date: '2015-2017', - active: false - }, - { - route: '/querybuilder', - image: { - src: 'querybuilder/querybuilder.png', - alt: 'Graph representation of an SQL query' - }, - name: 'Querybuilder', - slogan: 'Finding the needle in the data haystack', - clients: ['KNIME'], - task: 'UI/UX Design', - date: '2018', - active: false - }, - { - route: '/codesnippets', - image: { - src: 'codesnippets/formulas04.jpg', - alt: 'Screenshot of phoenix application' - }, - name: 'Code snippets', - slogan: 'Code snippets for faster data transformation', - clients: ['KNIME'], - task: 'UI/UX Design', - date: '2017', - active: false - }, - { - route: '/mechanics', - image: { - src: 'mechanics/mechanics.png', - alt: 'Mechanic with helmet camera interacting with tablet' - }, - name: 'Mechanics', - slogan: 'Digitalizing the work of mechanics', - clients: ['Condat'], - task: 'Field test', - date: '2015', - active: false - }, - { - route: '/thesis', - image: { - src: 'thesis/adjustable-eyes.jpg', - alt: 'Adjustable artificial eyes' - }, - name: 'Thesis', - slogan: 'How to make eye tracking more robust', - clients: ['TU Berlin'], - task: 'Master thesis', - date: '2016-2017', - active: false - }, -] - -// only active routes (shown on landing page) -export const activeRoutes = projData.filter(e => e.active) - -// projectRoutes (all project routes with landing page) -export const projectRoutes = projData.map(e => e.route).concat(['/']) diff --git a/tests/e2e/fixtures/example.json b/tests/e2e/fixtures/example.json deleted file mode 100644 index da18d93..0000000 --- a/tests/e2e/fixtures/example.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "Using fixtures to represent data", - "email": "hello@cypress.io", - "body": "Fixtures are a great way to mock data for responses to routes" -} \ No newline at end of file diff --git a/tests/e2e/integration/launch.spec.js b/tests/e2e/integration/launch.spec.js deleted file mode 100644 index 8b96ffd..0000000 --- a/tests/e2e/integration/launch.spec.js +++ /dev/null @@ -1,14 +0,0 @@ -describe('Actions', () => { - it('launches landing page', () => { - cy.visit('/') - cy.title().should('eq', 'Johannes Schweig') - // find welcome message - cy.get('#welcome').contains('I am Johannes, a UX Designer based in Berlin, and this is my work.') - // find three projects - cy.get('.tile.responsive').its('length').should('eq', 3) - // find about - cy.get('#about') - // find legal link - cy.get('#legal') - }) -}) diff --git a/tests/e2e/plugins/index.js b/tests/e2e/plugins/index.js deleted file mode 100644 index aa9918d..0000000 --- a/tests/e2e/plugins/index.js +++ /dev/null @@ -1,21 +0,0 @@ -/// -// *********************************************************** -// This example plugins/index.js can be used to load plugins -// -// You can change the location of this file or turn off loading -// the plugins file with the 'pluginsFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/plugins-guide -// *********************************************************** - -// This function is called when a project is opened or re-opened (e.g. due to -// the project's config changing) - -/** - * @type {Cypress.PluginConfig} - */ -module.exports = (on, config) => { - // `on` is used to hook into various events Cypress emits - // `config` is the resolved Cypress config -} diff --git a/tests/e2e/support/commands.js b/tests/e2e/support/commands.js deleted file mode 100644 index ca4d256..0000000 --- a/tests/e2e/support/commands.js +++ /dev/null @@ -1,25 +0,0 @@ -// *********************************************** -// This example commands.js shows you how to -// create various custom commands and overwrite -// existing commands. -// -// For more comprehensive examples of custom -// commands please read more here: -// https://on.cypress.io/custom-commands -// *********************************************** -// -// -// -- This is a parent command -- -// Cypress.Commands.add("login", (email, password) => { ... }) -// -// -// -- This is a child command -- -// Cypress.Commands.add("drag", { prevSubject: 'element'}, (subject, options) => { ... }) -// -// -// -- This is a dual command -- -// Cypress.Commands.add("dismiss", { prevSubject: 'optional'}, (subject, options) => { ... }) -// -// -// -- This will overwrite an existing command -- -// Cypress.Commands.overwrite("visit", (originalFn, url, options) => { ... }) diff --git a/tests/e2e/support/index.js b/tests/e2e/support/index.js deleted file mode 100644 index d68db96..0000000 --- a/tests/e2e/support/index.js +++ /dev/null @@ -1,20 +0,0 @@ -// *********************************************************** -// This example support/index.js is processed and -// loaded automatically before your test files. -// -// This is a great place to put global configuration and -// behavior that modifies Cypress. -// -// You can change the location of this file or turn off -// automatically serving support files with the -// 'supportFile' configuration option. -// -// You can read more here: -// https://on.cypress.io/configuration -// *********************************************************** - -// Import commands.js using ES2015 syntax: -import './commands' - -// Alternatively you can use CommonJS syntax: -// require('./commands') diff --git a/tests/unit/Bio.spec.js b/tests/unit/Bio.spec.js deleted file mode 100644 index 5a03cef..0000000 --- a/tests/unit/Bio.spec.js +++ /dev/null @@ -1,13 +0,0 @@ -import { mount } from '@vue/test-utils' -import About from '@/components/content/About' - -describe('About.vue', () => { - it('renders', () => { - const wrapper = mount(About) - - expect(wrapper.find('#about').exists()).toBeTruthy() - expect(wrapper.find('#mail-address').exists()).toBeFalsy() - wrapper.setData({ mail_activated: true }) - expect(wrapper.find('#mail-address').exists()).toBeTruthy() - }) -}) \ No newline at end of file diff --git a/tests/unit/SocialIcon.spec.js b/tests/unit/SocialIcon.spec.js deleted file mode 100644 index 93bb63a..0000000 --- a/tests/unit/SocialIcon.spec.js +++ /dev/null @@ -1,14 +0,0 @@ -import { mount } from '@vue/test-utils' -import SocialIcon from '@/components/elements/SocialIcon' - -describe('SocialIcon.vue', () => { - it('renders with correct image', () => { - const wrapper = mount(SocialIcon , { - propsData: { - img: 'mail' - } - }) - - expect(wrapper.find('img').exists()).toBeTruthy() - }) -}) \ No newline at end of file diff --git a/tests/unit/utils.spec.js b/tests/unit/utils.spec.js deleted file mode 100644 index c1a0a1a..0000000 --- a/tests/unit/utils.spec.js +++ /dev/null @@ -1,78 +0,0 @@ -import { projData, namedRoutes, activeRoutes } from '@/utils/projects.js' -import { getProjectNameFromRoute, getPreviousNextProjects } from '@/utils/index.js' - -// required props for projects -const requiredProps = ['route', 'image', 'name', 'slogan', 'clients', 'task', 'date', 'active' ] - -describe('utils/index.js', () => { - it('returns names to routes', () => { - // check project routes - for (let i = 0; i < projData.length; i++) { - requiredProps.forEach(p => expect(projData[i].hasOwnProperty(p)).toEqual(true)) - expect(getProjectNameFromRoute(projData[i].route)).toEqual(projData[i].name) - expect(getProjectNameFromRoute(projData[i].route + '/')).toEqual(projData[i].name) - } - // check 404 - expect(getProjectNameFromRoute('foo')).toEqual('404') - // check root - expect(getProjectNameFromRoute('/')).toEqual('Portfolio') - // check legal - expect(getProjectNameFromRoute('/legal')).toEqual('Legal') - }) - - it('returns previous and next projects', () => { - // check active routes - let previousNext - for (let i = 0; i < activeRoutes.length; i++) { - let previous = i - 1 === -1 ? activeRoutes.slice(-1)[0] : activeRoutes[i - 1] - previous = { route: previous.route, name: previous.name } - let next = i + 1 >= activeRoutes.length ? activeRoutes[0] : activeRoutes[i + 1] - next = { route: next.route, name: next.name } - - previousNext = { - previous, - next - } - expect(getPreviousNextProjects(activeRoutes[i].route)).toEqual(previousNext) - } - - // inactive routes and unknown routes - let inactiveRoutes = projData.filter(e => !e.active).concat([{ route: 'foo' }]) - // previous = last, next = first - previousNext = { - previous: { - route: activeRoutes.slice(-1)[0].route, - name: activeRoutes.slice(-1)[0].name, - }, - next: { - route: activeRoutes[0].route, - name: activeRoutes[0].name, - } - } - for (let i = 0; i < inactiveRoutes.length; i++) { - expect(getPreviousNextProjects(inactiveRoutes[i].route)).toEqual(previousNext) - } - }) - - it('returns active routes', () => { - for (let i = 0; i < activeRoutes.length; i++) { - expect(activeRoutes[i].active).toEqual(true) - } - }) - - it('returns named routes', () => { - // contains root and legal route - for (let i = 0; i < namedRoutes.length; i++) { - expect(namedRoutes[i].hasOwnProperty('name')).toEqual(true) - expect(namedRoutes[i].hasOwnProperty('route')).toEqual(true) - // root route - if (namedRoutes[i].route === '/') { - expect(namedRoutes[i].name).toEqual('Portfolio') - } - // legal route - if (namedRoutes[i].route === '/legal') { - expect(namedRoutes[i].name).toEqual('Legal') - } - } - }) -}) diff --git a/vue.config.js b/vue.config.js deleted file mode 100644 index b76b6f0..0000000 --- a/vue.config.js +++ /dev/null @@ -1,22 +0,0 @@ -module.exports = { - chainWebpack: config => { - // pdf loading - config.module.rule('pdf') - .test(/\.(pdf)(\?.*)?$/) - .use('file-loader') - .loader('file-loader') - .options({ - name: 'assets/pdf/[name].[hash:8].[ext]' - }) - - // svg loading - const svgRule = config.module.rule('svg'); - svgRule.uses.clear(); - svgRule - .use('babel-loader') - .loader('babel-loader') - .end() - .use('vue-svg-loader') - .loader('vue-svg-loader'); - } -} \ No newline at end of file