diff --git a/.travis.yml b/.travis.yml
index 9a08fd85b7261c371dfd9b840dfd4e8887c3e92f..0ce77cc2891d4ce0884b5e44e85175559e7ada90 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -7,9 +7,10 @@ services:
   - postgresql
 
 php:
-  - 7.1
   - 7.2
   - 7.3
+  # https://travis-ci.community/t/some-extensions-are-missing-in-php-7-4-0-zip-gmp-sodium/6320/8
+  # - 7.4
 
 addons:
   postgresql: 9.5
diff --git a/css/vote.scss b/css/vote.scss
index 0259cbc894c5a3ab475fe21d96d7345062290560..bd5be9cb0cbb5943b9af131736369af46a193599 100644
--- a/css/vote.scss
+++ b/css/vote.scss
@@ -8,36 +8,66 @@
 	font-size: 420px;
 }
 
+/* hotfixcss
+ setting the width to 70% so it takes a more reasonable place for long titles
+ line height to 1 so the lines don't overlap
+ adding a margin-bottom for confort
+*/
 .sv_container {
 	h3 {
-		width: 400px;
+		width: 70%;
+		line-height: 1;
+		margin-bottom: 5%;
 		font-size: 30px;
 	}
 }
 
+
+/* hotfixcss
+changing to color so it matches the header
+setting the width to 70% to match the previous fix
+setting a more confortable margin-bottom
+*/
 .sv_qstn .sq-root {
 	border: 1px solid gray;
-	border-left: 4px solid #18a689;
+	border-left: 4px solid #0082c9;
 	border-radius: 5px;
 	padding: 20px;
-	width: 400px;
-	margin-bottom: 30px;
+	width: 70%;
+	margin-bottom: 6%;
 	font-size: 18px;
 }
 
+
+/* hotfixcss
+adding a margin
+*/
 .sq-title {
 	font-size: 20px;
 	margin-left: 20px;
+	margin-bottom: 2%;
 }
 
 .sq-title-required {
 	color: black;
 }
 
+/* hotfixcss
+display fex and align items center so the radio button is aligned with the text
+*/
 .sq-label {
 	margin-left: 30px;
+	display: flex;
+	align-items: center;
 }
 
 .sq-item:nth-child(1) {
 	margin-bottom: 5px;
 }
+
+/* hotfixcss
+adding the checkbox text's class to add a comfort margin
+*/
+.sv_q_checkbox_control_label {
+	margin-left: 1%;
+}
diff --git a/l10n/af.js b/l10n/af.js
new file mode 100644
index 0000000000000000000000000000000000000000..406d0917e9982c6f52ca8b6b5b6cbed4b5d9b9fc
--- /dev/null
+++ b/l10n/af.js
@@ -0,0 +1,15 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Group" : "Groep",
+    "Title" : "Titel",
+    "Owner" : "Eienaar",
+    "Created" : "Geskep",
+    "Public access" : "Openbare toegang",
+    "never" : "nooit",
+    "Description" : "Beskrywing",
+    "Done" : "Gereed",
+    "Expiration date" : "Vervaldatum",
+    "New" : "Nuut"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/l10n/af.json b/l10n/af.json
new file mode 100644
index 0000000000000000000000000000000000000000..e11dca9b893b095a97edcd278b37c9a579d2033c
--- /dev/null
+++ b/l10n/af.json
@@ -0,0 +1,13 @@
+{ "translations": {
+    "Group" : "Groep",
+    "Title" : "Titel",
+    "Owner" : "Eienaar",
+    "Created" : "Geskep",
+    "Public access" : "Openbare toegang",
+    "never" : "nooit",
+    "Description" : "Beskrywing",
+    "Done" : "Gereed",
+    "Expiration date" : "Vervaldatum",
+    "New" : "Nuut"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+}
\ No newline at end of file
diff --git a/l10n/ar.js b/l10n/ar.js
index b8a5ca5768558902c854cc6be80082fb4c9e39e1..b9e5691d89d0da6ff62d1bf984d8e33e8b1174cf 100644
--- a/l10n/ar.js
+++ b/l10n/ar.js
@@ -5,12 +5,16 @@ OC.L10N.register(
     "Title" : "العنوان",
     "Access" : "النفاذ",
     "Owner" : "المالك",
+    "Public access" : "النفاذ إليه مُصرّح للعامة",
+    "never" : "بتاتاً",
     "Error, while copying link to clipboard" : "خطأ أثناء نسخ الرابط إلى الحافظة",
     "Add Answer" : "إضافة إجابة",
     "Share with" : "شارك مع",
     "Description" : "الوصف",
     "Add Question" : "إضافة سؤال",
+    "Configuration" : "إعداد",
     "Done" : "ŘŞŮ…",
+    "Expiration date" : "تاريخ إنتهاء الصلاحية",
     "New" : "جديد"
 },
 "nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;");
diff --git a/l10n/ar.json b/l10n/ar.json
index 1f412423dd218a173e351a92a3876d294c530198..751cccfec371662879e7cae44c5aece5a90715c5 100644
--- a/l10n/ar.json
+++ b/l10n/ar.json
@@ -3,12 +3,16 @@
     "Title" : "العنوان",
     "Access" : "النفاذ",
     "Owner" : "المالك",
+    "Public access" : "النفاذ إليه مُصرّح للعامة",
+    "never" : "بتاتاً",
     "Error, while copying link to clipboard" : "خطأ أثناء نسخ الرابط إلى الحافظة",
     "Add Answer" : "إضافة إجابة",
     "Share with" : "شارك مع",
     "Description" : "الوصف",
     "Add Question" : "إضافة سؤال",
+    "Configuration" : "إعداد",
     "Done" : "ŘŞŮ…",
+    "Expiration date" : "تاريخ إنتهاء الصلاحية",
     "New" : "جديد"
 },"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
 }
\ No newline at end of file
diff --git a/l10n/ast.js b/l10n/ast.js
new file mode 100644
index 0000000000000000000000000000000000000000..77f02b406144d8b9df92d021947e2a35bf5ce470
--- /dev/null
+++ b/l10n/ast.js
@@ -0,0 +1,16 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Group" : "Group",
+    "Title" : "TĂ­tulu",
+    "Owner" : "Owner",
+    "Created" : "CreĂłse",
+    "Public access" : "Accesu pĂşblicu",
+    "never" : "never",
+    "Description" : "DescripciĂłn",
+    "Configuration" : "ConfiguraciĂłn",
+    "Done" : "Fecho",
+    "Expiration date" : "Data de caducidá",
+    "New" : "Nuevu"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/l10n/ast.json b/l10n/ast.json
new file mode 100644
index 0000000000000000000000000000000000000000..eb36e7f6449efba25d7f17c0e604b5177f5dc65d
--- /dev/null
+++ b/l10n/ast.json
@@ -0,0 +1,14 @@
+{ "translations": {
+    "Group" : "Group",
+    "Title" : "TĂ­tulu",
+    "Owner" : "Owner",
+    "Created" : "CreĂłse",
+    "Public access" : "Accesu pĂşblicu",
+    "never" : "never",
+    "Description" : "DescripciĂłn",
+    "Configuration" : "ConfiguraciĂłn",
+    "Done" : "Fecho",
+    "Expiration date" : "Data de caducidá",
+    "New" : "Nuevu"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+}
\ No newline at end of file
diff --git a/l10n/az.js b/l10n/az.js
new file mode 100644
index 0000000000000000000000000000000000000000..a77b2d4d3b2a141361d9c96693c073a02cb472a7
--- /dev/null
+++ b/l10n/az.js
@@ -0,0 +1,13 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Group" : "Qrup",
+    "Title" : "Başlıq",
+    "Owner" : "Owner",
+    "never" : "heç vaxt",
+    "Description" : "Açıqlanma",
+    "Configuration" : "Konfiqurasiya",
+    "Done" : "Done",
+    "New" : "Yeni"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/l10n/az.json b/l10n/az.json
new file mode 100644
index 0000000000000000000000000000000000000000..bac818f60ed58e139ca63d432263b1b13786282a
--- /dev/null
+++ b/l10n/az.json
@@ -0,0 +1,11 @@
+{ "translations": {
+    "Group" : "Qrup",
+    "Title" : "Başlıq",
+    "Owner" : "Owner",
+    "never" : "heç vaxt",
+    "Description" : "Açıqlanma",
+    "Configuration" : "Konfiqurasiya",
+    "Done" : "Done",
+    "New" : "Yeni"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+}
\ No newline at end of file
diff --git a/l10n/be.js b/l10n/be.js
new file mode 100644
index 0000000000000000000000000000000000000000..120d38942aeb9f7f58981ad50826fcb8f626b3a3
--- /dev/null
+++ b/l10n/be.js
@@ -0,0 +1,10 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Group" : "Group",
+    "Title" : "Title",
+    "Owner" : "Owner",
+    "never" : "never",
+    "Done" : "Done"
+},
+"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);");
diff --git a/l10n/be.json b/l10n/be.json
new file mode 100644
index 0000000000000000000000000000000000000000..4ea0fa9c7f9251baccf8f1cc9cb55df46dbca116
--- /dev/null
+++ b/l10n/be.json
@@ -0,0 +1,8 @@
+{ "translations": {
+    "Group" : "Group",
+    "Title" : "Title",
+    "Owner" : "Owner",
+    "never" : "never",
+    "Done" : "Done"
+},"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"
+}
\ No newline at end of file
diff --git a/l10n/bg.js b/l10n/bg.js
new file mode 100644
index 0000000000000000000000000000000000000000..6a264b947247eb178c7c7830d752842616277352
--- /dev/null
+++ b/l10n/bg.js
@@ -0,0 +1,17 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Group" : "Група",
+    "Title" : "Име",
+    "Owner" : "Създател",
+    "Created" : "Създаден",
+    "Public access" : "Публичен достъп",
+    "never" : "никога",
+    "Share with" : "Сподели с",
+    "Description" : "Описание",
+    "Configuration" : "Настройки",
+    "Done" : "Готово",
+    "Expiration date" : "Валидност",
+    "New" : "Нов"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/l10n/bg.json b/l10n/bg.json
new file mode 100644
index 0000000000000000000000000000000000000000..1c9105e13b50b55996f01cb03a860acc7eb8468e
--- /dev/null
+++ b/l10n/bg.json
@@ -0,0 +1,15 @@
+{ "translations": {
+    "Group" : "Група",
+    "Title" : "Име",
+    "Owner" : "Създател",
+    "Created" : "Създаден",
+    "Public access" : "Публичен достъп",
+    "never" : "никога",
+    "Share with" : "Сподели с",
+    "Description" : "Описание",
+    "Configuration" : "Настройки",
+    "Done" : "Готово",
+    "Expiration date" : "Валидност",
+    "New" : "Нов"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+}
\ No newline at end of file
diff --git a/l10n/bn_BD.js b/l10n/bn_BD.js
new file mode 100644
index 0000000000000000000000000000000000000000..58fff36b91538b1e6c39148cef73e5bf2430b6e7
--- /dev/null
+++ b/l10n/bn_BD.js
@@ -0,0 +1,14 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Group" : "গোষ্ঠীসমূহ",
+    "Title" : "শিরোনাম",
+    "Owner" : "Owner",
+    "never" : "কখনোই নয়",
+    "Description" : "বিবরণ",
+    "Configuration" : "কনফিগারেসন",
+    "Done" : "Done",
+    "Expiration date" : "মেয়াদোত্তীর্ণ হওয়ার তারিখ",
+    "New" : "নতুন"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/l10n/bn_BD.json b/l10n/bn_BD.json
new file mode 100644
index 0000000000000000000000000000000000000000..096b1b84836db60e6337bca92cd2c609f6d06485
--- /dev/null
+++ b/l10n/bn_BD.json
@@ -0,0 +1,12 @@
+{ "translations": {
+    "Group" : "গোষ্ঠীসমূহ",
+    "Title" : "শিরোনাম",
+    "Owner" : "Owner",
+    "never" : "কখনোই নয়",
+    "Description" : "বিবরণ",
+    "Configuration" : "কনফিগারেসন",
+    "Done" : "Done",
+    "Expiration date" : "মেয়াদোত্তীর্ণ হওয়ার তারিখ",
+    "New" : "নতুন"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+}
\ No newline at end of file
diff --git a/l10n/bs.js b/l10n/bs.js
new file mode 100644
index 0000000000000000000000000000000000000000..d20a0193d0257e2a43a1b106d66f0fc785941dcf
--- /dev/null
+++ b/l10n/bs.js
@@ -0,0 +1,13 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Group" : "Grupa",
+    "Title" : "Naslov",
+    "Owner" : "Vlasnik",
+    "never" : "nikad",
+    "Description" : "Opis",
+    "Done" : "Done",
+    "Expiration date" : "Datum isteka",
+    "New" : "Novo"
+},
+"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/l10n/bs.json b/l10n/bs.json
new file mode 100644
index 0000000000000000000000000000000000000000..f3908b0855838ec95e6e47d731235cc4adaa563c
--- /dev/null
+++ b/l10n/bs.json
@@ -0,0 +1,11 @@
+{ "translations": {
+    "Group" : "Grupa",
+    "Title" : "Naslov",
+    "Owner" : "Vlasnik",
+    "never" : "nikad",
+    "Description" : "Opis",
+    "Done" : "Done",
+    "Expiration date" : "Datum isteka",
+    "New" : "Novo"
+},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
+}
\ No newline at end of file
diff --git a/l10n/ca.js b/l10n/ca.js
index 883b3adfa4a79a5fcbadf40fbedb9252a55abe68..d5dccb9e60cc030de695c24217757fb599d015a5 100644
--- a/l10n/ca.js
+++ b/l10n/ca.js
@@ -20,6 +20,7 @@ OC.L10N.register(
     "Owner" : "Propietari",
     "Created" : "Creat",
     "Expires" : "Venç",
+    "View results" : "Mostra els resultats",
     "Public access" : "Accés públic",
     "Only shared" : "Només compartit",
     "Registered users only" : "Només usuaris registrats",
@@ -39,6 +40,7 @@ OC.L10N.register(
     "Configuration is locked. Changing options may result in unwanted behaviour, but you can unlock it anyway." : "La configuració està blocada. Canviar opcions ara podria esdevenir en comportaments no desitjats, però ho podeu desblocar de totes maneres.",
     "Unlock configuration " : "Desbloca configuraciĂł",
     "Form configurations" : "Configuracions del formulari",
+    "Only allow one submission per user" : "Admet només una presentació per usuari.",
     "Name of user or group" : "Nom de l'usuari o del grup",
     "Create new form" : "Crea un nou formulari",
     "Writing form" : "S'estĂ  desant el formulari",
diff --git a/l10n/ca.json b/l10n/ca.json
index 21372e46258a7b744742dbc332c22c3ca4224798..c58f451f91eaf1d235b3031d2c018acdc5510d26 100644
--- a/l10n/ca.json
+++ b/l10n/ca.json
@@ -18,6 +18,7 @@
     "Owner" : "Propietari",
     "Created" : "Creat",
     "Expires" : "Venç",
+    "View results" : "Mostra els resultats",
     "Public access" : "Accés públic",
     "Only shared" : "Només compartit",
     "Registered users only" : "Només usuaris registrats",
@@ -37,6 +38,7 @@
     "Configuration is locked. Changing options may result in unwanted behaviour, but you can unlock it anyway." : "La configuració està blocada. Canviar opcions ara podria esdevenir en comportaments no desitjats, però ho podeu desblocar de totes maneres.",
     "Unlock configuration " : "Desbloca configuraciĂł",
     "Form configurations" : "Configuracions del formulari",
+    "Only allow one submission per user" : "Admet només una presentació per usuari.",
     "Name of user or group" : "Nom de l'usuari o del grup",
     "Create new form" : "Crea un nou formulari",
     "Writing form" : "S'estĂ  desant el formulari",
diff --git a/l10n/cs.js b/l10n/cs.js
index 0e9dbe83b0395190714dc1fb0fa40455c7bdf1fc..15429d72d87fa7eb944402467d944e03eb6ab9d0 100644
--- a/l10n/cs.js
+++ b/l10n/cs.js
@@ -3,8 +3,11 @@ OC.L10N.register(
     {
     "Do you really want to delete this new form?" : "Opravdu chcete tento nový formulář smazat?",
     "Forms" : "Formuláře",
+    "Forms App - New Activity" : "Aplikace formuláře – nová aktivita",
+    "{user} participated in the form \"{title}\"" : "{user} se zúčastnil(a) ve formuláři „{title}“",
     "Go to form" : "Přejít na formulář",
     "A forms app, similar to Google Forms." : "Aplikace pro formuláře, podobné jako Google Forms.",
+    "A forms app, similar to Google Forms with the possibility to restrict access (members, certain groups/users, and public)." : "Aplikace formuláře, podobné Google Forms s možností omezovat přístup (jen pro členy, určité skupiny/uživatele a veřejně).",
     "Expired" : "Platnost skonÄŤila",
     "Expires %n" : "Platnost skonÄŤĂ­ %n",
     "Expires never" : "Platí napořád",
@@ -17,6 +20,7 @@ OC.L10N.register(
     "Owner" : "VlastnĂ­k",
     "Created" : "Vytvořeno",
     "Expires" : "Platnost konÄŤĂ­",
+    "View results" : "Zobrazit výsledky",
     "Public access" : "Veřejný přístup",
     "Only shared" : "Pouze sdílené",
     "Registered users only" : "Pouze registrovaní uživatelé",
@@ -36,6 +40,7 @@ OC.L10N.register(
     "Configuration is locked. Changing options may result in unwanted behaviour, but you can unlock it anyway." : "Nastavení je uzamčeno. Změna voleb může vést k nechtěnému chování, ale i tak je možné je odemknout.",
     "Unlock configuration " : "Odemknout nastavenĂ­",
     "Form configurations" : "Nastavení formuláře",
+    "Only allow one submission per user" : "Každému z uživatelů povolit pouze jednou přispět",
     "Name of user or group" : "Jméno uživatele nebo název skupiny",
     "Create new form" : "Vytvořit nový formulář",
     "Writing form" : "Formulář se zapisuje",
@@ -62,8 +67,8 @@ OC.L10N.register(
     "Form \"%n\" deleted" : "Formulář „%n“ smazán",
     "Error while deleting Form \"%n\"" : "Chyba při mazání formuláře „%n“",
     "Form Expired" : "Platnost formuláře skončila",
-    "This Form has expired and is no longer taking answers." : "Tento formulář je po platnosti a nadále není možné na něj odpovídat.",
-    "Access denied" : "Přístup zamítnut",
+    "This Form has expired and is no longer taking answers." : "Platnost tohoto formuláře skončila a už není možné do něj odpovídat.",
+    "Access denied" : "Přístup odepřen",
     "You are not allowed to view this form or the form does not exist." : "Nemáte oprávnění k zobrazení tohoto formuláře nebo formulář neexistuje.",
     "You are not allowed to edit this form or the form does not exist." : "Nemáte oprávnění k úpravě tohoto formuláře nebo formulář neexistuje.",
     "You are either not allowed to delete this form or it doesn't exist." : "Nemáte oprávnění ke smazání tohoto formuláře nebo formulář neexistuje."
diff --git a/l10n/cs.json b/l10n/cs.json
index 8adda7b04a5deea875fbef6396a55172015f6b1a..0598041142bd351c4652eb67a189be35a5a7112a 100644
--- a/l10n/cs.json
+++ b/l10n/cs.json
@@ -1,8 +1,11 @@
 { "translations": {
     "Do you really want to delete this new form?" : "Opravdu chcete tento nový formulář smazat?",
     "Forms" : "Formuláře",
+    "Forms App - New Activity" : "Aplikace formuláře – nová aktivita",
+    "{user} participated in the form \"{title}\"" : "{user} se zúčastnil(a) ve formuláři „{title}“",
     "Go to form" : "Přejít na formulář",
     "A forms app, similar to Google Forms." : "Aplikace pro formuláře, podobné jako Google Forms.",
+    "A forms app, similar to Google Forms with the possibility to restrict access (members, certain groups/users, and public)." : "Aplikace formuláře, podobné Google Forms s možností omezovat přístup (jen pro členy, určité skupiny/uživatele a veřejně).",
     "Expired" : "Platnost skonÄŤila",
     "Expires %n" : "Platnost skonÄŤĂ­ %n",
     "Expires never" : "Platí napořád",
@@ -15,6 +18,7 @@
     "Owner" : "VlastnĂ­k",
     "Created" : "Vytvořeno",
     "Expires" : "Platnost konÄŤĂ­",
+    "View results" : "Zobrazit výsledky",
     "Public access" : "Veřejný přístup",
     "Only shared" : "Pouze sdílené",
     "Registered users only" : "Pouze registrovaní uživatelé",
@@ -34,6 +38,7 @@
     "Configuration is locked. Changing options may result in unwanted behaviour, but you can unlock it anyway." : "Nastavení je uzamčeno. Změna voleb může vést k nechtěnému chování, ale i tak je možné je odemknout.",
     "Unlock configuration " : "Odemknout nastavenĂ­",
     "Form configurations" : "Nastavení formuláře",
+    "Only allow one submission per user" : "Každému z uživatelů povolit pouze jednou přispět",
     "Name of user or group" : "Jméno uživatele nebo název skupiny",
     "Create new form" : "Vytvořit nový formulář",
     "Writing form" : "Formulář se zapisuje",
@@ -60,8 +65,8 @@
     "Form \"%n\" deleted" : "Formulář „%n“ smazán",
     "Error while deleting Form \"%n\"" : "Chyba při mazání formuláře „%n“",
     "Form Expired" : "Platnost formuláře skončila",
-    "This Form has expired and is no longer taking answers." : "Tento formulář je po platnosti a nadále není možné na něj odpovídat.",
-    "Access denied" : "Přístup zamítnut",
+    "This Form has expired and is no longer taking answers." : "Platnost tohoto formuláře skončila a už není možné do něj odpovídat.",
+    "Access denied" : "Přístup odepřen",
     "You are not allowed to view this form or the form does not exist." : "Nemáte oprávnění k zobrazení tohoto formuláře nebo formulář neexistuje.",
     "You are not allowed to edit this form or the form does not exist." : "Nemáte oprávnění k úpravě tohoto formuláře nebo formulář neexistuje.",
     "You are either not allowed to delete this form or it doesn't exist." : "Nemáte oprávnění ke smazání tohoto formuláře nebo formulář neexistuje."
diff --git a/l10n/cy_GB.js b/l10n/cy_GB.js
new file mode 100644
index 0000000000000000000000000000000000000000..d585b9931d37467ecbdfdb1f16f80180c59e1402
--- /dev/null
+++ b/l10n/cy_GB.js
@@ -0,0 +1,14 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Group" : "Grŵp",
+    "Title" : "Teitl",
+    "Owner" : "Owner",
+    "Public access" : "Mynediad cyhoeddus",
+    "never" : "byth",
+    "Description" : "Disgrifiad",
+    "Done" : "Done",
+    "Expiration date" : "Dyddiad dod i ben",
+    "New" : "Newydd"
+},
+"nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;");
diff --git a/l10n/cy_GB.json b/l10n/cy_GB.json
new file mode 100644
index 0000000000000000000000000000000000000000..b981325fbeb16c3948e5c347be138bdef61a8622
--- /dev/null
+++ b/l10n/cy_GB.json
@@ -0,0 +1,12 @@
+{ "translations": {
+    "Group" : "Grŵp",
+    "Title" : "Teitl",
+    "Owner" : "Owner",
+    "Public access" : "Mynediad cyhoeddus",
+    "never" : "byth",
+    "Description" : "Disgrifiad",
+    "Done" : "Done",
+    "Expiration date" : "Dyddiad dod i ben",
+    "New" : "Newydd"
+},"pluralForm" :"nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;"
+}
\ No newline at end of file
diff --git a/l10n/da.js b/l10n/da.js
new file mode 100644
index 0000000000000000000000000000000000000000..04c9b51aca045bb40d9ea22d950ca3555cbb1e55
--- /dev/null
+++ b/l10n/da.js
@@ -0,0 +1,30 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Expired" : "Udløbet",
+    "Expires %n" : "Udløber %n",
+    "Expires never" : "Udløber aldrig",
+    "Group" : "Gruppe",
+    "Title" : "Titel",
+    "Access" : "Adgang",
+    "Owner" : "Ejer",
+    "Created" : "Oprettet",
+    "Expires" : "Udløber",
+    "Public access" : "Offentligt tilgængelig",
+    "Only shared" : "Kun delt",
+    "Registered users only" : "Kun registrerede brugere",
+    "never" : "aldrig",
+    "Link copied to clipboard" : "Link kopieret til udklipsholder",
+    "Share with" : "Del med",
+    "Description" : "Beskrivelse",
+    "Configuration" : "sætning",
+    "Done" : "Færdig",
+    "Expiration date" : "Udløbsdato",
+    "Click to add a date" : "Klik for at tilføje en dato",
+    "Title must not be empty!" : "Overskriften må ikke være tom!",
+    "%n successfully saved" : "%n blev gemt",
+    "Clone of %n" : "Klon af %n",
+    "New" : "Ny",
+    "Access denied" : "Adgang nægtet"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/l10n/da.json b/l10n/da.json
new file mode 100644
index 0000000000000000000000000000000000000000..1ed2a1ab3338eff9e70b52d95f05a7521fc6f408
--- /dev/null
+++ b/l10n/da.json
@@ -0,0 +1,28 @@
+{ "translations": {
+    "Expired" : "Udløbet",
+    "Expires %n" : "Udløber %n",
+    "Expires never" : "Udløber aldrig",
+    "Group" : "Gruppe",
+    "Title" : "Titel",
+    "Access" : "Adgang",
+    "Owner" : "Ejer",
+    "Created" : "Oprettet",
+    "Expires" : "Udløber",
+    "Public access" : "Offentligt tilgængelig",
+    "Only shared" : "Kun delt",
+    "Registered users only" : "Kun registrerede brugere",
+    "never" : "aldrig",
+    "Link copied to clipboard" : "Link kopieret til udklipsholder",
+    "Share with" : "Del med",
+    "Description" : "Beskrivelse",
+    "Configuration" : "sætning",
+    "Done" : "Færdig",
+    "Expiration date" : "Udløbsdato",
+    "Click to add a date" : "Klik for at tilføje en dato",
+    "Title must not be empty!" : "Overskriften må ikke være tom!",
+    "%n successfully saved" : "%n blev gemt",
+    "Clone of %n" : "Klon af %n",
+    "New" : "Ny",
+    "Access denied" : "Adgang nægtet"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+}
\ No newline at end of file
diff --git a/l10n/de.js b/l10n/de.js
index d5be3a1ec21b45a6f0cd7a3932b6398746061d91..6c55119a30f9740dc23877b306e751b7566af0c9 100644
--- a/l10n/de.js
+++ b/l10n/de.js
@@ -20,7 +20,7 @@ OC.L10N.register(
     "Owner" : "Besitzer",
     "Created" : "Erstellt",
     "Expires" : "Läuft ab",
-    "View Results" : "Ergebnisse anzeigen",
+    "View results" : "Ergebnisse anzeigen",
     "Public access" : "Ă–ffentlicher Zugriff",
     "Only shared" : "Nur geteilt",
     "Registered users only" : "Nur registrierte Benutzer",
@@ -40,6 +40,7 @@ OC.L10N.register(
     "Configuration is locked. Changing options may result in unwanted behaviour, but you can unlock it anyway." : "Die Konfiguration ist gesperrt. Änderungen können zu unerwünschtem Verhalten führen, Du kannst die Konfiguration trotzdem entsperren. ",
     "Unlock configuration " : "Konfiguration entsperren",
     "Form configurations" : "Formulareinstellungen",
+    "Only allow one submission per user" : "Nur einen Beitrag pro Benutzer erlauben",
     "Name of user or group" : "Name des Benutzers oder der Gruppe",
     "Create new form" : "Ein neues Formular erstellen",
     "Writing form" : "Formular schreiben",
diff --git a/l10n/de.json b/l10n/de.json
index b69b984298798689e3546c7a4503f02f5d321d07..d8e1a9a47f549422287d92e098a73a39b31fa928 100644
--- a/l10n/de.json
+++ b/l10n/de.json
@@ -18,7 +18,7 @@
     "Owner" : "Besitzer",
     "Created" : "Erstellt",
     "Expires" : "Läuft ab",
-    "View Results" : "Ergebnisse anzeigen",
+    "View results" : "Ergebnisse anzeigen",
     "Public access" : "Ă–ffentlicher Zugriff",
     "Only shared" : "Nur geteilt",
     "Registered users only" : "Nur registrierte Benutzer",
@@ -38,6 +38,7 @@
     "Configuration is locked. Changing options may result in unwanted behaviour, but you can unlock it anyway." : "Die Konfiguration ist gesperrt. Änderungen können zu unerwünschtem Verhalten führen, Du kannst die Konfiguration trotzdem entsperren. ",
     "Unlock configuration " : "Konfiguration entsperren",
     "Form configurations" : "Formulareinstellungen",
+    "Only allow one submission per user" : "Nur einen Beitrag pro Benutzer erlauben",
     "Name of user or group" : "Name des Benutzers oder der Gruppe",
     "Create new form" : "Ein neues Formular erstellen",
     "Writing form" : "Formular schreiben",
diff --git a/l10n/de_DE.js b/l10n/de_DE.js
index ea6722d2223372e81cf950bd5d24d7145aaab5c3..21c69dc2ec4f23729a2b7a281cf93fd9e22f1026 100644
--- a/l10n/de_DE.js
+++ b/l10n/de_DE.js
@@ -20,7 +20,7 @@ OC.L10N.register(
     "Owner" : "Besitzer",
     "Created" : "Erstellt",
     "Expires" : "Läuft ab",
-    "View Results" : "Ergebnisse anzeigen",
+    "View results" : "Ergebnisse anzeigen",
     "Public access" : "Ă–ffentlicher Zugriff",
     "Only shared" : "Nur geteilt",
     "Registered users only" : "Nur fĂĽr registrierte Benutzer",
@@ -40,6 +40,7 @@ OC.L10N.register(
     "Configuration is locked. Changing options may result in unwanted behaviour, but you can unlock it anyway." : "Die Konfiguration ist gesperrt. Das Ändern von Optionen kann zu unerwünschtem Verhalten führen, Sie können die Konfiguration trotzdem entsperren. ",
     "Unlock configuration " : "Konfiguration entsperren",
     "Form configurations" : "Formulareinstellungen",
+    "Only allow one submission per user" : "Nur einen Beitrag pro Benutzer erlauben",
     "Name of user or group" : "Name des Benutzers oder der Gruppe",
     "Create new form" : "Ein neues Formular erstellen",
     "Writing form" : "Formular schreiben",
diff --git a/l10n/de_DE.json b/l10n/de_DE.json
index 86c8b256bdb0e86f08471d9b71d73270321663a2..c12454772ec92d21de9e77cd4008f5d16650552f 100644
--- a/l10n/de_DE.json
+++ b/l10n/de_DE.json
@@ -18,7 +18,7 @@
     "Owner" : "Besitzer",
     "Created" : "Erstellt",
     "Expires" : "Läuft ab",
-    "View Results" : "Ergebnisse anzeigen",
+    "View results" : "Ergebnisse anzeigen",
     "Public access" : "Ă–ffentlicher Zugriff",
     "Only shared" : "Nur geteilt",
     "Registered users only" : "Nur fĂĽr registrierte Benutzer",
@@ -38,6 +38,7 @@
     "Configuration is locked. Changing options may result in unwanted behaviour, but you can unlock it anyway." : "Die Konfiguration ist gesperrt. Das Ändern von Optionen kann zu unerwünschtem Verhalten führen, Sie können die Konfiguration trotzdem entsperren. ",
     "Unlock configuration " : "Konfiguration entsperren",
     "Form configurations" : "Formulareinstellungen",
+    "Only allow one submission per user" : "Nur einen Beitrag pro Benutzer erlauben",
     "Name of user or group" : "Name des Benutzers oder der Gruppe",
     "Create new form" : "Ein neues Formular erstellen",
     "Writing form" : "Formular schreiben",
diff --git a/l10n/el.js b/l10n/el.js
index 9f5bbf9e56116e40bca69ab5378c9fadb92560ee..b7bee09b9f7751e05fe82e009dd3cfb91b904849 100644
--- a/l10n/el.js
+++ b/l10n/el.js
@@ -1,8 +1,14 @@
 OC.L10N.register(
     "forms",
     {
+    "Do you really want to delete this new form?" : "Σίγουρα θέλετε να διαγράψετε τη φόρμα?",
     "Forms" : "Φόρμες",
+    "A forms app, similar to Google Forms." : "Εφαρμογή φορμών, παρόμεια με τις Φόρμες Google.",
     "Expired" : "Έληξε",
+    "Expires %n" : "Λήγει στις %n",
+    "Expires never" : "Δεν λήγει ποτέ",
+    "Usernames hidden to Owner" : "Τα ονόματα χρήστη είναι κρυφά στον ιδιοκτήτη",
+    "Usernames visible to Owner" : "Τα ονόματα χρήστη είναι ορατά στον ιδιοκτήτη",
     "Group" : "Ομάδα",
     "Title" : "Τίτλος",
     "Access" : "Πρόσβαση",
@@ -10,11 +16,17 @@ OC.L10N.register(
     "Created" : "Δημιουργήθηκε",
     "Expires" : "Λήγει",
     "Public access" : "Δημόσια πρόσβαση",
+    "Only shared" : "Μόνο κοινόχρηστα",
+    "Registered users only" : "Μόνο εγγεγραμμένοι χρήστες",
     "never" : "ποτέ",
+    "Link copied to clipboard" : "Ο σύνδεσμος αντιγράφηκε στο πρόχειρο",
+    "Error, while copying link to clipboard" : "Σφάλμα, κατά την αντιγραφή συνδέσμου στο πρόχειρο",
     "Add Answer" : "Προσθήκη απάντησης",
     "Share with" : "Διαμοιρασμός με",
     "Description" : "Περιγραφή",
     "Add Question" : "Προσθήκη ερώτησης",
+    "Configuration" : "Ρυθμίσεις",
+    "Name of user or group" : "Όνομα του χρήστη ή της ομάδας",
     "Update form" : "Ενημέρωση φόρμας",
     "Done" : "Ολοκληρώθηκε",
     "Expiration date" : "Ημερομηνία λήξης",
@@ -24,7 +36,10 @@ OC.L10N.register(
     "Title must not be empty!" : "Ο τίτλος δεν πρέπει να είναι κενός!",
     "All questions need answers!" : "Όλες οι ερωτήσεις χρειάζονται απαντήσεις!",
     "Need to pick an expiration date!" : "Πρέπει να επιλεγεί μια ημερομηνία λήξης!",
+    "%n successfully saved" : "Επιτυχής αποθήκευση %n",
+    "New" : "Νέα",
     "Delete form" : "Διαγραφή φόρμας",
+    "Do you want to delete \"%n\"?" : "Θέλετε να διαγράψετε \"%n\"?",
     "Form Expired" : "Η φόρμα έληξε",
     "Access denied" : "Δεν επιτρέπεται η πρόσβαση"
 },
diff --git a/l10n/el.json b/l10n/el.json
index a6122456390b753f5f5050cb6818ab394ef6fa07..53de3964d6f61f029900ea40071dae08450b755c 100644
--- a/l10n/el.json
+++ b/l10n/el.json
@@ -1,6 +1,12 @@
 { "translations": {
+    "Do you really want to delete this new form?" : "Σίγουρα θέλετε να διαγράψετε τη φόρμα?",
     "Forms" : "Φόρμες",
+    "A forms app, similar to Google Forms." : "Εφαρμογή φορμών, παρόμεια με τις Φόρμες Google.",
     "Expired" : "Έληξε",
+    "Expires %n" : "Λήγει στις %n",
+    "Expires never" : "Δεν λήγει ποτέ",
+    "Usernames hidden to Owner" : "Τα ονόματα χρήστη είναι κρυφά στον ιδιοκτήτη",
+    "Usernames visible to Owner" : "Τα ονόματα χρήστη είναι ορατά στον ιδιοκτήτη",
     "Group" : "Ομάδα",
     "Title" : "Τίτλος",
     "Access" : "Πρόσβαση",
@@ -8,11 +14,17 @@
     "Created" : "Δημιουργήθηκε",
     "Expires" : "Λήγει",
     "Public access" : "Δημόσια πρόσβαση",
+    "Only shared" : "Μόνο κοινόχρηστα",
+    "Registered users only" : "Μόνο εγγεγραμμένοι χρήστες",
     "never" : "ποτέ",
+    "Link copied to clipboard" : "Ο σύνδεσμος αντιγράφηκε στο πρόχειρο",
+    "Error, while copying link to clipboard" : "Σφάλμα, κατά την αντιγραφή συνδέσμου στο πρόχειρο",
     "Add Answer" : "Προσθήκη απάντησης",
     "Share with" : "Διαμοιρασμός με",
     "Description" : "Περιγραφή",
     "Add Question" : "Προσθήκη ερώτησης",
+    "Configuration" : "Ρυθμίσεις",
+    "Name of user or group" : "Όνομα του χρήστη ή της ομάδας",
     "Update form" : "Ενημέρωση φόρμας",
     "Done" : "Ολοκληρώθηκε",
     "Expiration date" : "Ημερομηνία λήξης",
@@ -22,7 +34,10 @@
     "Title must not be empty!" : "Ο τίτλος δεν πρέπει να είναι κενός!",
     "All questions need answers!" : "Όλες οι ερωτήσεις χρειάζονται απαντήσεις!",
     "Need to pick an expiration date!" : "Πρέπει να επιλεγεί μια ημερομηνία λήξης!",
+    "%n successfully saved" : "Επιτυχής αποθήκευση %n",
+    "New" : "Νέα",
     "Delete form" : "Διαγραφή φόρμας",
+    "Do you want to delete \"%n\"?" : "Θέλετε να διαγράψετε \"%n\"?",
     "Form Expired" : "Η φόρμα έληξε",
     "Access denied" : "Δεν επιτρέπεται η πρόσβαση"
 },"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/l10n/en_GB.js b/l10n/en_GB.js
new file mode 100644
index 0000000000000000000000000000000000000000..356bcb18a65f55dcc51bacd9cc2c4d920968c51f
--- /dev/null
+++ b/l10n/en_GB.js
@@ -0,0 +1,24 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Expired" : "Expired",
+    "Expires never" : "Expires never",
+    "Usernames hidden to Owner" : "Usernames hidden to Owner",
+    "Usernames visible to Owner" : "Usernames visible to Owner",
+    "Group" : "Group",
+    "Title" : "Title",
+    "Access" : "Access",
+    "Owner" : "Owner",
+    "Created" : "Created",
+    "Expires" : "Expires",
+    "Public access" : "Public access",
+    "Registered users only" : "Registered users only",
+    "never" : "never",
+    "Description" : "Description",
+    "Configuration" : "Configuration",
+    "Done" : "Done",
+    "Expiration date" : "Expiration date",
+    "New" : "New",
+    "Access denied" : "Access denied"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/l10n/en_GB.json b/l10n/en_GB.json
new file mode 100644
index 0000000000000000000000000000000000000000..c340e1a55577d79667885ad8137d948d1eeb2a2f
--- /dev/null
+++ b/l10n/en_GB.json
@@ -0,0 +1,22 @@
+{ "translations": {
+    "Expired" : "Expired",
+    "Expires never" : "Expires never",
+    "Usernames hidden to Owner" : "Usernames hidden to Owner",
+    "Usernames visible to Owner" : "Usernames visible to Owner",
+    "Group" : "Group",
+    "Title" : "Title",
+    "Access" : "Access",
+    "Owner" : "Owner",
+    "Created" : "Created",
+    "Expires" : "Expires",
+    "Public access" : "Public access",
+    "Registered users only" : "Registered users only",
+    "never" : "never",
+    "Description" : "Description",
+    "Configuration" : "Configuration",
+    "Done" : "Done",
+    "Expiration date" : "Expiration date",
+    "New" : "New",
+    "Access denied" : "Access denied"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+}
\ No newline at end of file
diff --git a/l10n/eo.js b/l10n/eo.js
new file mode 100644
index 0000000000000000000000000000000000000000..c965085d8e548802d36282afcd30486ec7d99e81
--- /dev/null
+++ b/l10n/eo.js
@@ -0,0 +1,38 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Expired" : "SenvalidiÄťis",
+    "Expires %n" : "SenvalidiÄťos je %n",
+    "Expires never" : "Neniam senvalidiÄťos",
+    "Usernames hidden to Owner" : "Uzantnomoj kaĹťitaj al posedanto",
+    "Usernames visible to Owner" : "Uzantnomoj montritaj al posedanto",
+    "Group" : "Grupo",
+    "Title" : "Titolo",
+    "Access" : "Aliro",
+    "Owner" : "Posedanto",
+    "Created" : "Kreita",
+    "Expires" : "SenvalidiÄťo",
+    "Public access" : "Publika aliro",
+    "Only shared" : "Kunkavigita kun...",
+    "Registered users only" : "Nur registritaj uzantoj",
+    "never" : "neniam",
+    "Link copied to clipboard" : "Ligilo kopiita al tondujo",
+    "Error, while copying link to clipboard" : "Eraro dum kopio de ligilo al tondujo",
+    "Share with" : "Kunhavigi kun",
+    "Description" : "Priskribo",
+    "You are editing in admin mode" : "Vi modifas kiel administranto",
+    "Configuration" : "Agordo",
+    "Configuration is locked. Changing options may result in unwanted behaviour, but you can unlock it anyway." : "Agordo estas Ĺťlosita. ĹśanÄťado de opcioj povas estigi problemojn, tamen vi povas malĹťlosi Äťin.",
+    "Unlock configuration " : "MalĹťlosi agordon",
+    "Name of user or group" : "Nomo de uzanto aĹ­ grupo",
+    "Done" : "Farita",
+    "Expiration date" : "Limdato",
+    "Click to add a date" : "Alklaku por aldoni daton",
+    "Title must not be empty!" : "La titolo ne povas malpleni!",
+    "%n successfully saved" : "%n sukcese konservita",
+    "Clone of %n" : "Duoblo de %n",
+    "New" : "Nova",
+    "Do you want to delete \"%n\"?" : "Ĉu vi volas forigi „%n“?",
+    "Access denied" : "Aliro malpermesata"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/l10n/eo.json b/l10n/eo.json
new file mode 100644
index 0000000000000000000000000000000000000000..ca5cbaf0dc802ec62d86fae67da93675476f3757
--- /dev/null
+++ b/l10n/eo.json
@@ -0,0 +1,36 @@
+{ "translations": {
+    "Expired" : "SenvalidiÄťis",
+    "Expires %n" : "SenvalidiÄťos je %n",
+    "Expires never" : "Neniam senvalidiÄťos",
+    "Usernames hidden to Owner" : "Uzantnomoj kaĹťitaj al posedanto",
+    "Usernames visible to Owner" : "Uzantnomoj montritaj al posedanto",
+    "Group" : "Grupo",
+    "Title" : "Titolo",
+    "Access" : "Aliro",
+    "Owner" : "Posedanto",
+    "Created" : "Kreita",
+    "Expires" : "SenvalidiÄťo",
+    "Public access" : "Publika aliro",
+    "Only shared" : "Kunkavigita kun...",
+    "Registered users only" : "Nur registritaj uzantoj",
+    "never" : "neniam",
+    "Link copied to clipboard" : "Ligilo kopiita al tondujo",
+    "Error, while copying link to clipboard" : "Eraro dum kopio de ligilo al tondujo",
+    "Share with" : "Kunhavigi kun",
+    "Description" : "Priskribo",
+    "You are editing in admin mode" : "Vi modifas kiel administranto",
+    "Configuration" : "Agordo",
+    "Configuration is locked. Changing options may result in unwanted behaviour, but you can unlock it anyway." : "Agordo estas Ĺťlosita. ĹśanÄťado de opcioj povas estigi problemojn, tamen vi povas malĹťlosi Äťin.",
+    "Unlock configuration " : "MalĹťlosi agordon",
+    "Name of user or group" : "Nomo de uzanto aĹ­ grupo",
+    "Done" : "Farita",
+    "Expiration date" : "Limdato",
+    "Click to add a date" : "Alklaku por aldoni daton",
+    "Title must not be empty!" : "La titolo ne povas malpleni!",
+    "%n successfully saved" : "%n sukcese konservita",
+    "Clone of %n" : "Duoblo de %n",
+    "New" : "Nova",
+    "Do you want to delete \"%n\"?" : "Ĉu vi volas forigi „%n“?",
+    "Access denied" : "Aliro malpermesata"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+}
\ No newline at end of file
diff --git a/l10n/es.js b/l10n/es.js
index dca4d2be61c27c41af6a2147067db698d21735d7..217c839c5f3ededae25fd5976150fb8287d78480 100644
--- a/l10n/es.js
+++ b/l10n/es.js
@@ -20,6 +20,7 @@ OC.L10N.register(
     "Owner" : "Propietario",
     "Created" : "Creado",
     "Expires" : "Expira",
+    "View results" : "Ver resultados",
     "Public access" : "Acceso pĂşblico",
     "Only shared" : "Solo compartido",
     "Registered users only" : "Solo usuarios registrados",
@@ -39,6 +40,7 @@ OC.L10N.register(
     "Configuration is locked. Changing options may result in unwanted behaviour, but you can unlock it anyway." : "La configuración está bloqueada. Cambiar las opciones puede resultar en comportamiento indeseado, pero aun así puedes desbloquearla.",
     "Unlock configuration " : "Desbloquear configuraciĂłn",
     "Form configurations" : "Configuraciones de formulario",
+    "Only allow one submission per user" : "SĂłlo se permite un envĂ­o por usuario",
     "Name of user or group" : "Nombre del usuario o grupo",
     "Create new form" : "Crear formulario nuevo",
     "Writing form" : "Escribiendo formulario",
diff --git a/l10n/es.json b/l10n/es.json
index f19bf442455694431c1878d719cda72ea857231b..65943522b092b40d83ca518b49b885356d4f32e2 100644
--- a/l10n/es.json
+++ b/l10n/es.json
@@ -18,6 +18,7 @@
     "Owner" : "Propietario",
     "Created" : "Creado",
     "Expires" : "Expira",
+    "View results" : "Ver resultados",
     "Public access" : "Acceso pĂşblico",
     "Only shared" : "Solo compartido",
     "Registered users only" : "Solo usuarios registrados",
@@ -37,6 +38,7 @@
     "Configuration is locked. Changing options may result in unwanted behaviour, but you can unlock it anyway." : "La configuración está bloqueada. Cambiar las opciones puede resultar en comportamiento indeseado, pero aun así puedes desbloquearla.",
     "Unlock configuration " : "Desbloquear configuraciĂłn",
     "Form configurations" : "Configuraciones de formulario",
+    "Only allow one submission per user" : "SĂłlo se permite un envĂ­o por usuario",
     "Name of user or group" : "Nombre del usuario o grupo",
     "Create new form" : "Crear formulario nuevo",
     "Writing form" : "Escribiendo formulario",
diff --git a/l10n/es_419.js b/l10n/es_419.js
new file mode 100644
index 0000000000000000000000000000000000000000..df8ed18cce59b37ce53cdb7a37ad9c6648b7263e
--- /dev/null
+++ b/l10n/es_419.js
@@ -0,0 +1,20 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Group" : "Grupo",
+    "Title" : "TĂ­tulo",
+    "Access" : "Acceso",
+    "Owner" : "Dueño",
+    "Created" : "Creado",
+    "Expires" : "Expira",
+    "Public access" : "Acceso pĂşblico",
+    "Registered users only" : "Solo usuarios registrados",
+    "never" : "nunca",
+    "Description" : "DescripciĂłn",
+    "Configuration" : "ConfiguraciĂłn",
+    "Done" : "Terminado",
+    "Expiration date" : "Fecha de expiraciĂłn",
+    "New" : "Nuevo",
+    "Access denied" : "Acceso denegado"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/l10n/es_419.json b/l10n/es_419.json
new file mode 100644
index 0000000000000000000000000000000000000000..f49ea9ea3d136498574385a15afbfccdde6d435c
--- /dev/null
+++ b/l10n/es_419.json
@@ -0,0 +1,18 @@
+{ "translations": {
+    "Group" : "Grupo",
+    "Title" : "TĂ­tulo",
+    "Access" : "Acceso",
+    "Owner" : "Dueño",
+    "Created" : "Creado",
+    "Expires" : "Expira",
+    "Public access" : "Acceso pĂşblico",
+    "Registered users only" : "Solo usuarios registrados",
+    "never" : "nunca",
+    "Description" : "DescripciĂłn",
+    "Configuration" : "ConfiguraciĂłn",
+    "Done" : "Terminado",
+    "Expiration date" : "Fecha de expiraciĂłn",
+    "New" : "Nuevo",
+    "Access denied" : "Acceso denegado"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+}
\ No newline at end of file
diff --git a/l10n/es_AR.js b/l10n/es_AR.js
new file mode 100644
index 0000000000000000000000000000000000000000..d7d494f3d71a21c0e309f09cd4e941fef06178fd
--- /dev/null
+++ b/l10n/es_AR.js
@@ -0,0 +1,16 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Group" : "Grupo",
+    "Title" : "TĂ­tulo",
+    "Owner" : "Dueño",
+    "Created" : "Creado",
+    "Public access" : "Acceso pĂşblico",
+    "never" : "nunca",
+    "Description" : "DescripciĂłn",
+    "Configuration" : "ConfiguraciĂłn",
+    "Done" : "Hecho",
+    "Expiration date" : "Fecha de expiraciĂłn",
+    "New" : "Nuevo"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/l10n/es_AR.json b/l10n/es_AR.json
new file mode 100644
index 0000000000000000000000000000000000000000..fc242299c4a4cade2a9e32db7358fa40d2a2d9a8
--- /dev/null
+++ b/l10n/es_AR.json
@@ -0,0 +1,14 @@
+{ "translations": {
+    "Group" : "Grupo",
+    "Title" : "TĂ­tulo",
+    "Owner" : "Dueño",
+    "Created" : "Creado",
+    "Public access" : "Acceso pĂşblico",
+    "never" : "nunca",
+    "Description" : "DescripciĂłn",
+    "Configuration" : "ConfiguraciĂłn",
+    "Done" : "Hecho",
+    "Expiration date" : "Fecha de expiraciĂłn",
+    "New" : "Nuevo"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+}
\ No newline at end of file
diff --git a/l10n/es_CL.js b/l10n/es_CL.js
new file mode 100644
index 0000000000000000000000000000000000000000..793e494bd1e0246e49ae893391686d5f5670344f
--- /dev/null
+++ b/l10n/es_CL.js
@@ -0,0 +1,24 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Expired" : "Expirado",
+    "Expires never" : "Nunca expira",
+    "Usernames hidden to Owner" : "Nombres de usuario ocultos para el Dueño",
+    "Usernames visible to Owner" : "Nombres de usuario se muestran al Dueño",
+    "Group" : "Grupo",
+    "Title" : "TĂ­tulo",
+    "Access" : "Acceso",
+    "Owner" : "Dueño",
+    "Created" : "Creado",
+    "Expires" : "Expira",
+    "Public access" : "Acceso pĂşblico",
+    "Registered users only" : "Solo usuarios registrados",
+    "never" : "nunca",
+    "Description" : "DescripciĂłn",
+    "Configuration" : "ConfiguraciĂłn",
+    "Done" : "Terminado",
+    "Expiration date" : "Fecha de expiraciĂłn",
+    "New" : "Nuevo",
+    "Access denied" : "Acceso denegado"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/l10n/es_CL.json b/l10n/es_CL.json
new file mode 100644
index 0000000000000000000000000000000000000000..ab47017915e2eab5f218aaee1b6000e70b2399f7
--- /dev/null
+++ b/l10n/es_CL.json
@@ -0,0 +1,22 @@
+{ "translations": {
+    "Expired" : "Expirado",
+    "Expires never" : "Nunca expira",
+    "Usernames hidden to Owner" : "Nombres de usuario ocultos para el Dueño",
+    "Usernames visible to Owner" : "Nombres de usuario se muestran al Dueño",
+    "Group" : "Grupo",
+    "Title" : "TĂ­tulo",
+    "Access" : "Acceso",
+    "Owner" : "Dueño",
+    "Created" : "Creado",
+    "Expires" : "Expira",
+    "Public access" : "Acceso pĂşblico",
+    "Registered users only" : "Solo usuarios registrados",
+    "never" : "nunca",
+    "Description" : "DescripciĂłn",
+    "Configuration" : "ConfiguraciĂłn",
+    "Done" : "Terminado",
+    "Expiration date" : "Fecha de expiraciĂłn",
+    "New" : "Nuevo",
+    "Access denied" : "Acceso denegado"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+}
\ No newline at end of file
diff --git a/l10n/es_CO.js b/l10n/es_CO.js
new file mode 100644
index 0000000000000000000000000000000000000000..793e494bd1e0246e49ae893391686d5f5670344f
--- /dev/null
+++ b/l10n/es_CO.js
@@ -0,0 +1,24 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Expired" : "Expirado",
+    "Expires never" : "Nunca expira",
+    "Usernames hidden to Owner" : "Nombres de usuario ocultos para el Dueño",
+    "Usernames visible to Owner" : "Nombres de usuario se muestran al Dueño",
+    "Group" : "Grupo",
+    "Title" : "TĂ­tulo",
+    "Access" : "Acceso",
+    "Owner" : "Dueño",
+    "Created" : "Creado",
+    "Expires" : "Expira",
+    "Public access" : "Acceso pĂşblico",
+    "Registered users only" : "Solo usuarios registrados",
+    "never" : "nunca",
+    "Description" : "DescripciĂłn",
+    "Configuration" : "ConfiguraciĂłn",
+    "Done" : "Terminado",
+    "Expiration date" : "Fecha de expiraciĂłn",
+    "New" : "Nuevo",
+    "Access denied" : "Acceso denegado"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/l10n/es_CO.json b/l10n/es_CO.json
new file mode 100644
index 0000000000000000000000000000000000000000..ab47017915e2eab5f218aaee1b6000e70b2399f7
--- /dev/null
+++ b/l10n/es_CO.json
@@ -0,0 +1,22 @@
+{ "translations": {
+    "Expired" : "Expirado",
+    "Expires never" : "Nunca expira",
+    "Usernames hidden to Owner" : "Nombres de usuario ocultos para el Dueño",
+    "Usernames visible to Owner" : "Nombres de usuario se muestran al Dueño",
+    "Group" : "Grupo",
+    "Title" : "TĂ­tulo",
+    "Access" : "Acceso",
+    "Owner" : "Dueño",
+    "Created" : "Creado",
+    "Expires" : "Expira",
+    "Public access" : "Acceso pĂşblico",
+    "Registered users only" : "Solo usuarios registrados",
+    "never" : "nunca",
+    "Description" : "DescripciĂłn",
+    "Configuration" : "ConfiguraciĂłn",
+    "Done" : "Terminado",
+    "Expiration date" : "Fecha de expiraciĂłn",
+    "New" : "Nuevo",
+    "Access denied" : "Acceso denegado"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+}
\ No newline at end of file
diff --git a/l10n/es_CR.js b/l10n/es_CR.js
new file mode 100644
index 0000000000000000000000000000000000000000..793e494bd1e0246e49ae893391686d5f5670344f
--- /dev/null
+++ b/l10n/es_CR.js
@@ -0,0 +1,24 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Expired" : "Expirado",
+    "Expires never" : "Nunca expira",
+    "Usernames hidden to Owner" : "Nombres de usuario ocultos para el Dueño",
+    "Usernames visible to Owner" : "Nombres de usuario se muestran al Dueño",
+    "Group" : "Grupo",
+    "Title" : "TĂ­tulo",
+    "Access" : "Acceso",
+    "Owner" : "Dueño",
+    "Created" : "Creado",
+    "Expires" : "Expira",
+    "Public access" : "Acceso pĂşblico",
+    "Registered users only" : "Solo usuarios registrados",
+    "never" : "nunca",
+    "Description" : "DescripciĂłn",
+    "Configuration" : "ConfiguraciĂłn",
+    "Done" : "Terminado",
+    "Expiration date" : "Fecha de expiraciĂłn",
+    "New" : "Nuevo",
+    "Access denied" : "Acceso denegado"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/l10n/es_CR.json b/l10n/es_CR.json
new file mode 100644
index 0000000000000000000000000000000000000000..ab47017915e2eab5f218aaee1b6000e70b2399f7
--- /dev/null
+++ b/l10n/es_CR.json
@@ -0,0 +1,22 @@
+{ "translations": {
+    "Expired" : "Expirado",
+    "Expires never" : "Nunca expira",
+    "Usernames hidden to Owner" : "Nombres de usuario ocultos para el Dueño",
+    "Usernames visible to Owner" : "Nombres de usuario se muestran al Dueño",
+    "Group" : "Grupo",
+    "Title" : "TĂ­tulo",
+    "Access" : "Acceso",
+    "Owner" : "Dueño",
+    "Created" : "Creado",
+    "Expires" : "Expira",
+    "Public access" : "Acceso pĂşblico",
+    "Registered users only" : "Solo usuarios registrados",
+    "never" : "nunca",
+    "Description" : "DescripciĂłn",
+    "Configuration" : "ConfiguraciĂłn",
+    "Done" : "Terminado",
+    "Expiration date" : "Fecha de expiraciĂłn",
+    "New" : "Nuevo",
+    "Access denied" : "Acceso denegado"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+}
\ No newline at end of file
diff --git a/l10n/es_DO.js b/l10n/es_DO.js
new file mode 100644
index 0000000000000000000000000000000000000000..793e494bd1e0246e49ae893391686d5f5670344f
--- /dev/null
+++ b/l10n/es_DO.js
@@ -0,0 +1,24 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Expired" : "Expirado",
+    "Expires never" : "Nunca expira",
+    "Usernames hidden to Owner" : "Nombres de usuario ocultos para el Dueño",
+    "Usernames visible to Owner" : "Nombres de usuario se muestran al Dueño",
+    "Group" : "Grupo",
+    "Title" : "TĂ­tulo",
+    "Access" : "Acceso",
+    "Owner" : "Dueño",
+    "Created" : "Creado",
+    "Expires" : "Expira",
+    "Public access" : "Acceso pĂşblico",
+    "Registered users only" : "Solo usuarios registrados",
+    "never" : "nunca",
+    "Description" : "DescripciĂłn",
+    "Configuration" : "ConfiguraciĂłn",
+    "Done" : "Terminado",
+    "Expiration date" : "Fecha de expiraciĂłn",
+    "New" : "Nuevo",
+    "Access denied" : "Acceso denegado"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/l10n/es_DO.json b/l10n/es_DO.json
new file mode 100644
index 0000000000000000000000000000000000000000..ab47017915e2eab5f218aaee1b6000e70b2399f7
--- /dev/null
+++ b/l10n/es_DO.json
@@ -0,0 +1,22 @@
+{ "translations": {
+    "Expired" : "Expirado",
+    "Expires never" : "Nunca expira",
+    "Usernames hidden to Owner" : "Nombres de usuario ocultos para el Dueño",
+    "Usernames visible to Owner" : "Nombres de usuario se muestran al Dueño",
+    "Group" : "Grupo",
+    "Title" : "TĂ­tulo",
+    "Access" : "Acceso",
+    "Owner" : "Dueño",
+    "Created" : "Creado",
+    "Expires" : "Expira",
+    "Public access" : "Acceso pĂşblico",
+    "Registered users only" : "Solo usuarios registrados",
+    "never" : "nunca",
+    "Description" : "DescripciĂłn",
+    "Configuration" : "ConfiguraciĂłn",
+    "Done" : "Terminado",
+    "Expiration date" : "Fecha de expiraciĂłn",
+    "New" : "Nuevo",
+    "Access denied" : "Acceso denegado"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+}
\ No newline at end of file
diff --git a/l10n/es_EC.js b/l10n/es_EC.js
new file mode 100644
index 0000000000000000000000000000000000000000..793e494bd1e0246e49ae893391686d5f5670344f
--- /dev/null
+++ b/l10n/es_EC.js
@@ -0,0 +1,24 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Expired" : "Expirado",
+    "Expires never" : "Nunca expira",
+    "Usernames hidden to Owner" : "Nombres de usuario ocultos para el Dueño",
+    "Usernames visible to Owner" : "Nombres de usuario se muestran al Dueño",
+    "Group" : "Grupo",
+    "Title" : "TĂ­tulo",
+    "Access" : "Acceso",
+    "Owner" : "Dueño",
+    "Created" : "Creado",
+    "Expires" : "Expira",
+    "Public access" : "Acceso pĂşblico",
+    "Registered users only" : "Solo usuarios registrados",
+    "never" : "nunca",
+    "Description" : "DescripciĂłn",
+    "Configuration" : "ConfiguraciĂłn",
+    "Done" : "Terminado",
+    "Expiration date" : "Fecha de expiraciĂłn",
+    "New" : "Nuevo",
+    "Access denied" : "Acceso denegado"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/l10n/es_EC.json b/l10n/es_EC.json
new file mode 100644
index 0000000000000000000000000000000000000000..ab47017915e2eab5f218aaee1b6000e70b2399f7
--- /dev/null
+++ b/l10n/es_EC.json
@@ -0,0 +1,22 @@
+{ "translations": {
+    "Expired" : "Expirado",
+    "Expires never" : "Nunca expira",
+    "Usernames hidden to Owner" : "Nombres de usuario ocultos para el Dueño",
+    "Usernames visible to Owner" : "Nombres de usuario se muestran al Dueño",
+    "Group" : "Grupo",
+    "Title" : "TĂ­tulo",
+    "Access" : "Acceso",
+    "Owner" : "Dueño",
+    "Created" : "Creado",
+    "Expires" : "Expira",
+    "Public access" : "Acceso pĂşblico",
+    "Registered users only" : "Solo usuarios registrados",
+    "never" : "nunca",
+    "Description" : "DescripciĂłn",
+    "Configuration" : "ConfiguraciĂłn",
+    "Done" : "Terminado",
+    "Expiration date" : "Fecha de expiraciĂłn",
+    "New" : "Nuevo",
+    "Access denied" : "Acceso denegado"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+}
\ No newline at end of file
diff --git a/l10n/es_GT.js b/l10n/es_GT.js
new file mode 100644
index 0000000000000000000000000000000000000000..793e494bd1e0246e49ae893391686d5f5670344f
--- /dev/null
+++ b/l10n/es_GT.js
@@ -0,0 +1,24 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Expired" : "Expirado",
+    "Expires never" : "Nunca expira",
+    "Usernames hidden to Owner" : "Nombres de usuario ocultos para el Dueño",
+    "Usernames visible to Owner" : "Nombres de usuario se muestran al Dueño",
+    "Group" : "Grupo",
+    "Title" : "TĂ­tulo",
+    "Access" : "Acceso",
+    "Owner" : "Dueño",
+    "Created" : "Creado",
+    "Expires" : "Expira",
+    "Public access" : "Acceso pĂşblico",
+    "Registered users only" : "Solo usuarios registrados",
+    "never" : "nunca",
+    "Description" : "DescripciĂłn",
+    "Configuration" : "ConfiguraciĂłn",
+    "Done" : "Terminado",
+    "Expiration date" : "Fecha de expiraciĂłn",
+    "New" : "Nuevo",
+    "Access denied" : "Acceso denegado"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/l10n/es_GT.json b/l10n/es_GT.json
new file mode 100644
index 0000000000000000000000000000000000000000..ab47017915e2eab5f218aaee1b6000e70b2399f7
--- /dev/null
+++ b/l10n/es_GT.json
@@ -0,0 +1,22 @@
+{ "translations": {
+    "Expired" : "Expirado",
+    "Expires never" : "Nunca expira",
+    "Usernames hidden to Owner" : "Nombres de usuario ocultos para el Dueño",
+    "Usernames visible to Owner" : "Nombres de usuario se muestran al Dueño",
+    "Group" : "Grupo",
+    "Title" : "TĂ­tulo",
+    "Access" : "Acceso",
+    "Owner" : "Dueño",
+    "Created" : "Creado",
+    "Expires" : "Expira",
+    "Public access" : "Acceso pĂşblico",
+    "Registered users only" : "Solo usuarios registrados",
+    "never" : "nunca",
+    "Description" : "DescripciĂłn",
+    "Configuration" : "ConfiguraciĂłn",
+    "Done" : "Terminado",
+    "Expiration date" : "Fecha de expiraciĂłn",
+    "New" : "Nuevo",
+    "Access denied" : "Acceso denegado"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+}
\ No newline at end of file
diff --git a/l10n/es_HN.js b/l10n/es_HN.js
new file mode 100644
index 0000000000000000000000000000000000000000..df8ed18cce59b37ce53cdb7a37ad9c6648b7263e
--- /dev/null
+++ b/l10n/es_HN.js
@@ -0,0 +1,20 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Group" : "Grupo",
+    "Title" : "TĂ­tulo",
+    "Access" : "Acceso",
+    "Owner" : "Dueño",
+    "Created" : "Creado",
+    "Expires" : "Expira",
+    "Public access" : "Acceso pĂşblico",
+    "Registered users only" : "Solo usuarios registrados",
+    "never" : "nunca",
+    "Description" : "DescripciĂłn",
+    "Configuration" : "ConfiguraciĂłn",
+    "Done" : "Terminado",
+    "Expiration date" : "Fecha de expiraciĂłn",
+    "New" : "Nuevo",
+    "Access denied" : "Acceso denegado"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/l10n/es_HN.json b/l10n/es_HN.json
new file mode 100644
index 0000000000000000000000000000000000000000..f49ea9ea3d136498574385a15afbfccdde6d435c
--- /dev/null
+++ b/l10n/es_HN.json
@@ -0,0 +1,18 @@
+{ "translations": {
+    "Group" : "Grupo",
+    "Title" : "TĂ­tulo",
+    "Access" : "Acceso",
+    "Owner" : "Dueño",
+    "Created" : "Creado",
+    "Expires" : "Expira",
+    "Public access" : "Acceso pĂşblico",
+    "Registered users only" : "Solo usuarios registrados",
+    "never" : "nunca",
+    "Description" : "DescripciĂłn",
+    "Configuration" : "ConfiguraciĂłn",
+    "Done" : "Terminado",
+    "Expiration date" : "Fecha de expiraciĂłn",
+    "New" : "Nuevo",
+    "Access denied" : "Acceso denegado"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+}
\ No newline at end of file
diff --git a/l10n/es_MX.js b/l10n/es_MX.js
new file mode 100644
index 0000000000000000000000000000000000000000..793e494bd1e0246e49ae893391686d5f5670344f
--- /dev/null
+++ b/l10n/es_MX.js
@@ -0,0 +1,24 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Expired" : "Expirado",
+    "Expires never" : "Nunca expira",
+    "Usernames hidden to Owner" : "Nombres de usuario ocultos para el Dueño",
+    "Usernames visible to Owner" : "Nombres de usuario se muestran al Dueño",
+    "Group" : "Grupo",
+    "Title" : "TĂ­tulo",
+    "Access" : "Acceso",
+    "Owner" : "Dueño",
+    "Created" : "Creado",
+    "Expires" : "Expira",
+    "Public access" : "Acceso pĂşblico",
+    "Registered users only" : "Solo usuarios registrados",
+    "never" : "nunca",
+    "Description" : "DescripciĂłn",
+    "Configuration" : "ConfiguraciĂłn",
+    "Done" : "Terminado",
+    "Expiration date" : "Fecha de expiraciĂłn",
+    "New" : "Nuevo",
+    "Access denied" : "Acceso denegado"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/l10n/es_MX.json b/l10n/es_MX.json
new file mode 100644
index 0000000000000000000000000000000000000000..ab47017915e2eab5f218aaee1b6000e70b2399f7
--- /dev/null
+++ b/l10n/es_MX.json
@@ -0,0 +1,22 @@
+{ "translations": {
+    "Expired" : "Expirado",
+    "Expires never" : "Nunca expira",
+    "Usernames hidden to Owner" : "Nombres de usuario ocultos para el Dueño",
+    "Usernames visible to Owner" : "Nombres de usuario se muestran al Dueño",
+    "Group" : "Grupo",
+    "Title" : "TĂ­tulo",
+    "Access" : "Acceso",
+    "Owner" : "Dueño",
+    "Created" : "Creado",
+    "Expires" : "Expira",
+    "Public access" : "Acceso pĂşblico",
+    "Registered users only" : "Solo usuarios registrados",
+    "never" : "nunca",
+    "Description" : "DescripciĂłn",
+    "Configuration" : "ConfiguraciĂłn",
+    "Done" : "Terminado",
+    "Expiration date" : "Fecha de expiraciĂłn",
+    "New" : "Nuevo",
+    "Access denied" : "Acceso denegado"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+}
\ No newline at end of file
diff --git a/l10n/es_NI.js b/l10n/es_NI.js
new file mode 100644
index 0000000000000000000000000000000000000000..df8ed18cce59b37ce53cdb7a37ad9c6648b7263e
--- /dev/null
+++ b/l10n/es_NI.js
@@ -0,0 +1,20 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Group" : "Grupo",
+    "Title" : "TĂ­tulo",
+    "Access" : "Acceso",
+    "Owner" : "Dueño",
+    "Created" : "Creado",
+    "Expires" : "Expira",
+    "Public access" : "Acceso pĂşblico",
+    "Registered users only" : "Solo usuarios registrados",
+    "never" : "nunca",
+    "Description" : "DescripciĂłn",
+    "Configuration" : "ConfiguraciĂłn",
+    "Done" : "Terminado",
+    "Expiration date" : "Fecha de expiraciĂłn",
+    "New" : "Nuevo",
+    "Access denied" : "Acceso denegado"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/l10n/es_NI.json b/l10n/es_NI.json
new file mode 100644
index 0000000000000000000000000000000000000000..f49ea9ea3d136498574385a15afbfccdde6d435c
--- /dev/null
+++ b/l10n/es_NI.json
@@ -0,0 +1,18 @@
+{ "translations": {
+    "Group" : "Grupo",
+    "Title" : "TĂ­tulo",
+    "Access" : "Acceso",
+    "Owner" : "Dueño",
+    "Created" : "Creado",
+    "Expires" : "Expira",
+    "Public access" : "Acceso pĂşblico",
+    "Registered users only" : "Solo usuarios registrados",
+    "never" : "nunca",
+    "Description" : "DescripciĂłn",
+    "Configuration" : "ConfiguraciĂłn",
+    "Done" : "Terminado",
+    "Expiration date" : "Fecha de expiraciĂłn",
+    "New" : "Nuevo",
+    "Access denied" : "Acceso denegado"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+}
\ No newline at end of file
diff --git a/l10n/es_PA.js b/l10n/es_PA.js
new file mode 100644
index 0000000000000000000000000000000000000000..df8ed18cce59b37ce53cdb7a37ad9c6648b7263e
--- /dev/null
+++ b/l10n/es_PA.js
@@ -0,0 +1,20 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Group" : "Grupo",
+    "Title" : "TĂ­tulo",
+    "Access" : "Acceso",
+    "Owner" : "Dueño",
+    "Created" : "Creado",
+    "Expires" : "Expira",
+    "Public access" : "Acceso pĂşblico",
+    "Registered users only" : "Solo usuarios registrados",
+    "never" : "nunca",
+    "Description" : "DescripciĂłn",
+    "Configuration" : "ConfiguraciĂłn",
+    "Done" : "Terminado",
+    "Expiration date" : "Fecha de expiraciĂłn",
+    "New" : "Nuevo",
+    "Access denied" : "Acceso denegado"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/l10n/es_PA.json b/l10n/es_PA.json
new file mode 100644
index 0000000000000000000000000000000000000000..f49ea9ea3d136498574385a15afbfccdde6d435c
--- /dev/null
+++ b/l10n/es_PA.json
@@ -0,0 +1,18 @@
+{ "translations": {
+    "Group" : "Grupo",
+    "Title" : "TĂ­tulo",
+    "Access" : "Acceso",
+    "Owner" : "Dueño",
+    "Created" : "Creado",
+    "Expires" : "Expira",
+    "Public access" : "Acceso pĂşblico",
+    "Registered users only" : "Solo usuarios registrados",
+    "never" : "nunca",
+    "Description" : "DescripciĂłn",
+    "Configuration" : "ConfiguraciĂłn",
+    "Done" : "Terminado",
+    "Expiration date" : "Fecha de expiraciĂłn",
+    "New" : "Nuevo",
+    "Access denied" : "Acceso denegado"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+}
\ No newline at end of file
diff --git a/l10n/es_PE.js b/l10n/es_PE.js
new file mode 100644
index 0000000000000000000000000000000000000000..df8ed18cce59b37ce53cdb7a37ad9c6648b7263e
--- /dev/null
+++ b/l10n/es_PE.js
@@ -0,0 +1,20 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Group" : "Grupo",
+    "Title" : "TĂ­tulo",
+    "Access" : "Acceso",
+    "Owner" : "Dueño",
+    "Created" : "Creado",
+    "Expires" : "Expira",
+    "Public access" : "Acceso pĂşblico",
+    "Registered users only" : "Solo usuarios registrados",
+    "never" : "nunca",
+    "Description" : "DescripciĂłn",
+    "Configuration" : "ConfiguraciĂłn",
+    "Done" : "Terminado",
+    "Expiration date" : "Fecha de expiraciĂłn",
+    "New" : "Nuevo",
+    "Access denied" : "Acceso denegado"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/l10n/es_PE.json b/l10n/es_PE.json
new file mode 100644
index 0000000000000000000000000000000000000000..f49ea9ea3d136498574385a15afbfccdde6d435c
--- /dev/null
+++ b/l10n/es_PE.json
@@ -0,0 +1,18 @@
+{ "translations": {
+    "Group" : "Grupo",
+    "Title" : "TĂ­tulo",
+    "Access" : "Acceso",
+    "Owner" : "Dueño",
+    "Created" : "Creado",
+    "Expires" : "Expira",
+    "Public access" : "Acceso pĂşblico",
+    "Registered users only" : "Solo usuarios registrados",
+    "never" : "nunca",
+    "Description" : "DescripciĂłn",
+    "Configuration" : "ConfiguraciĂłn",
+    "Done" : "Terminado",
+    "Expiration date" : "Fecha de expiraciĂłn",
+    "New" : "Nuevo",
+    "Access denied" : "Acceso denegado"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+}
\ No newline at end of file
diff --git a/l10n/es_PR.js b/l10n/es_PR.js
new file mode 100644
index 0000000000000000000000000000000000000000..df8ed18cce59b37ce53cdb7a37ad9c6648b7263e
--- /dev/null
+++ b/l10n/es_PR.js
@@ -0,0 +1,20 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Group" : "Grupo",
+    "Title" : "TĂ­tulo",
+    "Access" : "Acceso",
+    "Owner" : "Dueño",
+    "Created" : "Creado",
+    "Expires" : "Expira",
+    "Public access" : "Acceso pĂşblico",
+    "Registered users only" : "Solo usuarios registrados",
+    "never" : "nunca",
+    "Description" : "DescripciĂłn",
+    "Configuration" : "ConfiguraciĂłn",
+    "Done" : "Terminado",
+    "Expiration date" : "Fecha de expiraciĂłn",
+    "New" : "Nuevo",
+    "Access denied" : "Acceso denegado"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/l10n/es_PR.json b/l10n/es_PR.json
new file mode 100644
index 0000000000000000000000000000000000000000..f49ea9ea3d136498574385a15afbfccdde6d435c
--- /dev/null
+++ b/l10n/es_PR.json
@@ -0,0 +1,18 @@
+{ "translations": {
+    "Group" : "Grupo",
+    "Title" : "TĂ­tulo",
+    "Access" : "Acceso",
+    "Owner" : "Dueño",
+    "Created" : "Creado",
+    "Expires" : "Expira",
+    "Public access" : "Acceso pĂşblico",
+    "Registered users only" : "Solo usuarios registrados",
+    "never" : "nunca",
+    "Description" : "DescripciĂłn",
+    "Configuration" : "ConfiguraciĂłn",
+    "Done" : "Terminado",
+    "Expiration date" : "Fecha de expiraciĂłn",
+    "New" : "Nuevo",
+    "Access denied" : "Acceso denegado"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+}
\ No newline at end of file
diff --git a/l10n/es_PY.js b/l10n/es_PY.js
new file mode 100644
index 0000000000000000000000000000000000000000..df8ed18cce59b37ce53cdb7a37ad9c6648b7263e
--- /dev/null
+++ b/l10n/es_PY.js
@@ -0,0 +1,20 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Group" : "Grupo",
+    "Title" : "TĂ­tulo",
+    "Access" : "Acceso",
+    "Owner" : "Dueño",
+    "Created" : "Creado",
+    "Expires" : "Expira",
+    "Public access" : "Acceso pĂşblico",
+    "Registered users only" : "Solo usuarios registrados",
+    "never" : "nunca",
+    "Description" : "DescripciĂłn",
+    "Configuration" : "ConfiguraciĂłn",
+    "Done" : "Terminado",
+    "Expiration date" : "Fecha de expiraciĂłn",
+    "New" : "Nuevo",
+    "Access denied" : "Acceso denegado"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/l10n/es_PY.json b/l10n/es_PY.json
new file mode 100644
index 0000000000000000000000000000000000000000..f49ea9ea3d136498574385a15afbfccdde6d435c
--- /dev/null
+++ b/l10n/es_PY.json
@@ -0,0 +1,18 @@
+{ "translations": {
+    "Group" : "Grupo",
+    "Title" : "TĂ­tulo",
+    "Access" : "Acceso",
+    "Owner" : "Dueño",
+    "Created" : "Creado",
+    "Expires" : "Expira",
+    "Public access" : "Acceso pĂşblico",
+    "Registered users only" : "Solo usuarios registrados",
+    "never" : "nunca",
+    "Description" : "DescripciĂłn",
+    "Configuration" : "ConfiguraciĂłn",
+    "Done" : "Terminado",
+    "Expiration date" : "Fecha de expiraciĂłn",
+    "New" : "Nuevo",
+    "Access denied" : "Acceso denegado"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+}
\ No newline at end of file
diff --git a/l10n/es_SV.js b/l10n/es_SV.js
new file mode 100644
index 0000000000000000000000000000000000000000..793e494bd1e0246e49ae893391686d5f5670344f
--- /dev/null
+++ b/l10n/es_SV.js
@@ -0,0 +1,24 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Expired" : "Expirado",
+    "Expires never" : "Nunca expira",
+    "Usernames hidden to Owner" : "Nombres de usuario ocultos para el Dueño",
+    "Usernames visible to Owner" : "Nombres de usuario se muestran al Dueño",
+    "Group" : "Grupo",
+    "Title" : "TĂ­tulo",
+    "Access" : "Acceso",
+    "Owner" : "Dueño",
+    "Created" : "Creado",
+    "Expires" : "Expira",
+    "Public access" : "Acceso pĂşblico",
+    "Registered users only" : "Solo usuarios registrados",
+    "never" : "nunca",
+    "Description" : "DescripciĂłn",
+    "Configuration" : "ConfiguraciĂłn",
+    "Done" : "Terminado",
+    "Expiration date" : "Fecha de expiraciĂłn",
+    "New" : "Nuevo",
+    "Access denied" : "Acceso denegado"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/l10n/es_SV.json b/l10n/es_SV.json
new file mode 100644
index 0000000000000000000000000000000000000000..ab47017915e2eab5f218aaee1b6000e70b2399f7
--- /dev/null
+++ b/l10n/es_SV.json
@@ -0,0 +1,22 @@
+{ "translations": {
+    "Expired" : "Expirado",
+    "Expires never" : "Nunca expira",
+    "Usernames hidden to Owner" : "Nombres de usuario ocultos para el Dueño",
+    "Usernames visible to Owner" : "Nombres de usuario se muestran al Dueño",
+    "Group" : "Grupo",
+    "Title" : "TĂ­tulo",
+    "Access" : "Acceso",
+    "Owner" : "Dueño",
+    "Created" : "Creado",
+    "Expires" : "Expira",
+    "Public access" : "Acceso pĂşblico",
+    "Registered users only" : "Solo usuarios registrados",
+    "never" : "nunca",
+    "Description" : "DescripciĂłn",
+    "Configuration" : "ConfiguraciĂłn",
+    "Done" : "Terminado",
+    "Expiration date" : "Fecha de expiraciĂłn",
+    "New" : "Nuevo",
+    "Access denied" : "Acceso denegado"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+}
\ No newline at end of file
diff --git a/l10n/es_UY.js b/l10n/es_UY.js
new file mode 100644
index 0000000000000000000000000000000000000000..df8ed18cce59b37ce53cdb7a37ad9c6648b7263e
--- /dev/null
+++ b/l10n/es_UY.js
@@ -0,0 +1,20 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Group" : "Grupo",
+    "Title" : "TĂ­tulo",
+    "Access" : "Acceso",
+    "Owner" : "Dueño",
+    "Created" : "Creado",
+    "Expires" : "Expira",
+    "Public access" : "Acceso pĂşblico",
+    "Registered users only" : "Solo usuarios registrados",
+    "never" : "nunca",
+    "Description" : "DescripciĂłn",
+    "Configuration" : "ConfiguraciĂłn",
+    "Done" : "Terminado",
+    "Expiration date" : "Fecha de expiraciĂłn",
+    "New" : "Nuevo",
+    "Access denied" : "Acceso denegado"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/l10n/es_UY.json b/l10n/es_UY.json
new file mode 100644
index 0000000000000000000000000000000000000000..f49ea9ea3d136498574385a15afbfccdde6d435c
--- /dev/null
+++ b/l10n/es_UY.json
@@ -0,0 +1,18 @@
+{ "translations": {
+    "Group" : "Grupo",
+    "Title" : "TĂ­tulo",
+    "Access" : "Acceso",
+    "Owner" : "Dueño",
+    "Created" : "Creado",
+    "Expires" : "Expira",
+    "Public access" : "Acceso pĂşblico",
+    "Registered users only" : "Solo usuarios registrados",
+    "never" : "nunca",
+    "Description" : "DescripciĂłn",
+    "Configuration" : "ConfiguraciĂłn",
+    "Done" : "Terminado",
+    "Expiration date" : "Fecha de expiraciĂłn",
+    "New" : "Nuevo",
+    "Access denied" : "Acceso denegado"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+}
\ No newline at end of file
diff --git a/l10n/et_EE.js b/l10n/et_EE.js
new file mode 100644
index 0000000000000000000000000000000000000000..61027f0ae47aeead9f0268308fe4272e27486e96
--- /dev/null
+++ b/l10n/et_EE.js
@@ -0,0 +1,24 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Expired" : "Aegunud",
+    "Expires never" : "Ei aegu kunagi",
+    "Usernames hidden to Owner" : "Kasutajanimed omaniku eest peidetud",
+    "Usernames visible to Owner" : "Kasutajanimed omanikule nähtavad",
+    "Group" : "Grupp",
+    "Title" : "Pealkiri",
+    "Access" : "Ligipääs",
+    "Owner" : "Omanik",
+    "Created" : "Loodud",
+    "Expires" : "Aegub",
+    "Public access" : "Avalik ligipääs",
+    "Registered users only" : "Ainult registreerunud kasutajad",
+    "never" : "mitte kunagi",
+    "Description" : "Kirjeldus",
+    "Configuration" : "Seadistamine",
+    "Done" : "Valmis",
+    "Expiration date" : "Aegumise kuupäev",
+    "New" : "Uus",
+    "Access denied" : "Ligipääs keelatud"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/l10n/et_EE.json b/l10n/et_EE.json
new file mode 100644
index 0000000000000000000000000000000000000000..06a4c97c30c6a0a28bd1f4538ab96b55dda92f57
--- /dev/null
+++ b/l10n/et_EE.json
@@ -0,0 +1,22 @@
+{ "translations": {
+    "Expired" : "Aegunud",
+    "Expires never" : "Ei aegu kunagi",
+    "Usernames hidden to Owner" : "Kasutajanimed omaniku eest peidetud",
+    "Usernames visible to Owner" : "Kasutajanimed omanikule nähtavad",
+    "Group" : "Grupp",
+    "Title" : "Pealkiri",
+    "Access" : "Ligipääs",
+    "Owner" : "Omanik",
+    "Created" : "Loodud",
+    "Expires" : "Aegub",
+    "Public access" : "Avalik ligipääs",
+    "Registered users only" : "Ainult registreerunud kasutajad",
+    "never" : "mitte kunagi",
+    "Description" : "Kirjeldus",
+    "Configuration" : "Seadistamine",
+    "Done" : "Valmis",
+    "Expiration date" : "Aegumise kuupäev",
+    "New" : "Uus",
+    "Access denied" : "Ligipääs keelatud"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+}
\ No newline at end of file
diff --git a/l10n/eu.js b/l10n/eu.js
index 92594a74002fcc996b3401e7eac79ab565c8937e..b6ebd4338925b9b62901be4b064cfc91952d0ab6 100644
--- a/l10n/eu.js
+++ b/l10n/eu.js
@@ -20,6 +20,7 @@ OC.L10N.register(
     "Owner" : "Jabea",
     "Created" : "Sortua",
     "Expires" : "Iraungitzen du",
+    "View results" : "Emaitzak ikusi",
     "Public access" : "Sarbide publikoa",
     "Only shared" : "Partekatua soilik",
     "Registered users only" : "Erregistratutako erabiltzaileak soilik",
@@ -39,6 +40,7 @@ OC.L10N.register(
     "Configuration is locked. Changing options may result in unwanted behaviour, but you can unlock it anyway." : "Konfigurazioa blokeatuta dago. Aukerak aldatzea nahigabeko portaera eragin dezake, baina hala ere desblokea dezakezu.",
     "Unlock configuration " : "Desblokeatu konfigurazioa",
     "Form configurations" : "Inprimakiaren konfigurazioak",
+    "Only allow one submission per user" : "Bidalketa bakarra onartu erabiltzaileko",
     "Name of user or group" : "Erabiltzailearen edo taldearen izena",
     "Create new form" : "Sortu inprimaki berria",
     "Writing form" : "Inprimakia idazten",
diff --git a/l10n/eu.json b/l10n/eu.json
index c3b6132c472f21eb5d07e238024a6c8e5a505c26..1b37df8eb8292492684439d02856f0ea7ad0685f 100644
--- a/l10n/eu.json
+++ b/l10n/eu.json
@@ -18,6 +18,7 @@
     "Owner" : "Jabea",
     "Created" : "Sortua",
     "Expires" : "Iraungitzen du",
+    "View results" : "Emaitzak ikusi",
     "Public access" : "Sarbide publikoa",
     "Only shared" : "Partekatua soilik",
     "Registered users only" : "Erregistratutako erabiltzaileak soilik",
@@ -37,6 +38,7 @@
     "Configuration is locked. Changing options may result in unwanted behaviour, but you can unlock it anyway." : "Konfigurazioa blokeatuta dago. Aukerak aldatzea nahigabeko portaera eragin dezake, baina hala ere desblokea dezakezu.",
     "Unlock configuration " : "Desblokeatu konfigurazioa",
     "Form configurations" : "Inprimakiaren konfigurazioak",
+    "Only allow one submission per user" : "Bidalketa bakarra onartu erabiltzaileko",
     "Name of user or group" : "Erabiltzailearen edo taldearen izena",
     "Create new form" : "Sortu inprimaki berria",
     "Writing form" : "Inprimakia idazten",
diff --git a/l10n/fa.js b/l10n/fa.js
new file mode 100644
index 0000000000000000000000000000000000000000..b17b8ce33a57932c4892ae6e8a93f6ed7479bc13
--- /dev/null
+++ b/l10n/fa.js
@@ -0,0 +1,29 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Forms" : "فرم‌ها",
+    "Go to form" : "برو به فرم",
+    "Expired" : "منقضی شده",
+    "Group" : "گروه",
+    "Title" : "عنوان",
+    "Access" : "دسترسی",
+    "Owner" : "Owner",
+    "Created" : "ایجاد شده",
+    "Public access" : "دسترسی عمومی",
+    "Hidden form" : "فرم مخفی",
+    "never" : "never",
+    "Add Answer" : "جواب جدید",
+    "Form description" : "توضیح فرم",
+    "Description" : "توضیحات",
+    "Add Question" : "سؤال جدید",
+    "Configuration" : "تنظیمات",
+    "Form configurations" : "تنظیمات فرم",
+    "Create new form" : "ایجاد فرم جدید",
+    "Update form" : "بروزرسانی فرم",
+    "Done" : "انجام شد",
+    "Expiration date" : "تاریخ انقضا",
+    "All questions need answers!" : "همه سؤالات باید پاسخ داده شوند!",
+    "New" : "جدید",
+    "Delete form" : "حذف فرم"
+},
+"nplurals=2; plural=(n > 1);");
diff --git a/l10n/fa.json b/l10n/fa.json
new file mode 100644
index 0000000000000000000000000000000000000000..641f6f0740d60502b83a848449fb89eb89d0aea0
--- /dev/null
+++ b/l10n/fa.json
@@ -0,0 +1,27 @@
+{ "translations": {
+    "Forms" : "فرم‌ها",
+    "Go to form" : "برو به فرم",
+    "Expired" : "منقضی شده",
+    "Group" : "گروه",
+    "Title" : "عنوان",
+    "Access" : "دسترسی",
+    "Owner" : "Owner",
+    "Created" : "ایجاد شده",
+    "Public access" : "دسترسی عمومی",
+    "Hidden form" : "فرم مخفی",
+    "never" : "never",
+    "Add Answer" : "جواب جدید",
+    "Form description" : "توضیح فرم",
+    "Description" : "توضیحات",
+    "Add Question" : "سؤال جدید",
+    "Configuration" : "تنظیمات",
+    "Form configurations" : "تنظیمات فرم",
+    "Create new form" : "ایجاد فرم جدید",
+    "Update form" : "بروزرسانی فرم",
+    "Done" : "انجام شد",
+    "Expiration date" : "تاریخ انقضا",
+    "All questions need answers!" : "همه سؤالات باید پاسخ داده شوند!",
+    "New" : "جدید",
+    "Delete form" : "حذف فرم"
+},"pluralForm" :"nplurals=2; plural=(n > 1);"
+}
\ No newline at end of file
diff --git a/l10n/fi.js b/l10n/fi.js
index 4ca6a4a5ad34e0d71a8d24d0c732edd5e1678a97..f4545f970acc38ca444eafa99521e8f644f11636 100644
--- a/l10n/fi.js
+++ b/l10n/fi.js
@@ -3,7 +3,9 @@ OC.L10N.register(
     {
     "Do you really want to delete this new form?" : "Haluatko varmasti poistaa tämän uuden lomakkeen?",
     "Forms" : "Lomakkeet",
+    "{user} participated in the form \"{title}\"" : "{user} täytti lomakkeen \"{title}\"",
     "Go to form" : "Siirry lomakkeelle",
+    "A forms app, similar to Google Forms." : "Lomakesovellus Google Formsin tyyliin.",
     "Expired" : "Vanhentunut",
     "Expires %n" : "Vanhenee %n",
     "Expires never" : "Ei vanhene koskaan",
@@ -11,15 +13,20 @@ OC.L10N.register(
     "Usernames hidden to Owner" : "Käyttäjänimet piilotettu omistajalta",
     "Usernames visible to Owner" : "Käyttäjänimet näkyvissä omistajalle",
     "Group" : "Ryhmä",
+    "Title" : "Otsikko",
+    "Access" : "Käyttöoikeudet",
     "Owner" : "Omistaja",
     "Created" : "Luotu",
     "Expires" : "Vanhenee",
+    "View results" : "Näytä tulokset",
     "Public access" : "Avoin pääsy",
+    "Only shared" : "Vain jaettu",
     "Registered users only" : "Vain rekisteröityneet käyttäjät",
     "Hidden form" : "Piilotettu lomake",
     "Text form" : "Tekstilomake",
     "never" : "ei koskaan",
     "Link copied to clipboard" : "Linkki kopioitu leikepöydälle",
+    "Error, while copying link to clipboard" : "Virhe kopioitaessa linkkiä leikepöydälle",
     "Add Answer" : "Lisää vastaus",
     "Share with" : "Jaa",
     "Form description" : "Lomakkeen kuvaus",
@@ -30,6 +37,7 @@ OC.L10N.register(
     "Configuration" : "Asetukset",
     "Unlock configuration " : "Avaa asetusten lukitus",
     "Form configurations" : "Lomakkeen asetukset",
+    "Only allow one submission per user" : "Salli vain yksi vastaus per käyttäjä",
     "Name of user or group" : "Käyttäjän tai ryhmän nimi",
     "Create new form" : "Luo uusi lomake",
     "Update form" : "Päivitä lomake",
@@ -39,6 +47,7 @@ OC.L10N.register(
     "Select a question type!" : "Valitse kysymyksen tyyppi!",
     "Cannot have the same question!" : "Sama kysymys ei voi esiintyä useaan kertaan!",
     "Two answers cannot be the same!" : "Kaksi vastausta ei voi olla samoja",
+    "Title must not be empty!" : "Otsikko ei voi olla tyhjä!",
     "Must have at least one question!" : "Vaaditaan vähintään yksi kysymys!",
     "All questions need answers!" : "Kaikki kysymykset tarvitsevat vastauksen!",
     "Need to pick an expiration date!" : "Vanhenemispäiväys tulee valita!",
diff --git a/l10n/fi.json b/l10n/fi.json
index 6ac01304a030c9aaa0c8040b30d2f668ec77694b..dd43df6096afac27f6bad394631739d6e2422279 100644
--- a/l10n/fi.json
+++ b/l10n/fi.json
@@ -1,7 +1,9 @@
 { "translations": {
     "Do you really want to delete this new form?" : "Haluatko varmasti poistaa tämän uuden lomakkeen?",
     "Forms" : "Lomakkeet",
+    "{user} participated in the form \"{title}\"" : "{user} täytti lomakkeen \"{title}\"",
     "Go to form" : "Siirry lomakkeelle",
+    "A forms app, similar to Google Forms." : "Lomakesovellus Google Formsin tyyliin.",
     "Expired" : "Vanhentunut",
     "Expires %n" : "Vanhenee %n",
     "Expires never" : "Ei vanhene koskaan",
@@ -9,15 +11,20 @@
     "Usernames hidden to Owner" : "Käyttäjänimet piilotettu omistajalta",
     "Usernames visible to Owner" : "Käyttäjänimet näkyvissä omistajalle",
     "Group" : "Ryhmä",
+    "Title" : "Otsikko",
+    "Access" : "Käyttöoikeudet",
     "Owner" : "Omistaja",
     "Created" : "Luotu",
     "Expires" : "Vanhenee",
+    "View results" : "Näytä tulokset",
     "Public access" : "Avoin pääsy",
+    "Only shared" : "Vain jaettu",
     "Registered users only" : "Vain rekisteröityneet käyttäjät",
     "Hidden form" : "Piilotettu lomake",
     "Text form" : "Tekstilomake",
     "never" : "ei koskaan",
     "Link copied to clipboard" : "Linkki kopioitu leikepöydälle",
+    "Error, while copying link to clipboard" : "Virhe kopioitaessa linkkiä leikepöydälle",
     "Add Answer" : "Lisää vastaus",
     "Share with" : "Jaa",
     "Form description" : "Lomakkeen kuvaus",
@@ -28,6 +35,7 @@
     "Configuration" : "Asetukset",
     "Unlock configuration " : "Avaa asetusten lukitus",
     "Form configurations" : "Lomakkeen asetukset",
+    "Only allow one submission per user" : "Salli vain yksi vastaus per käyttäjä",
     "Name of user or group" : "Käyttäjän tai ryhmän nimi",
     "Create new form" : "Luo uusi lomake",
     "Update form" : "Päivitä lomake",
@@ -37,6 +45,7 @@
     "Select a question type!" : "Valitse kysymyksen tyyppi!",
     "Cannot have the same question!" : "Sama kysymys ei voi esiintyä useaan kertaan!",
     "Two answers cannot be the same!" : "Kaksi vastausta ei voi olla samoja",
+    "Title must not be empty!" : "Otsikko ei voi olla tyhjä!",
     "Must have at least one question!" : "Vaaditaan vähintään yksi kysymys!",
     "All questions need answers!" : "Kaikki kysymykset tarvitsevat vastauksen!",
     "Need to pick an expiration date!" : "Vanhenemispäiväys tulee valita!",
diff --git a/l10n/fr.js b/l10n/fr.js
index e410cda7fc8d24342a467489720bc07765866919..0c6feb3c6377340e7d580d75ca5366853ef97ba1 100644
--- a/l10n/fr.js
+++ b/l10n/fr.js
@@ -20,7 +20,7 @@ OC.L10N.register(
     "Owner" : "Propriétaire",
     "Created" : "Créé",
     "Expires" : "Expire",
-    "View Results" : "Afficher les résultats",
+    "View results" : "Afficher les résultats",
     "Public access" : "Accès public",
     "Only shared" : "Partagé seulement",
     "Registered users only" : "Utilisateurs enregistrés uniquement",
@@ -40,6 +40,7 @@ OC.L10N.register(
     "Configuration is locked. Changing options may result in unwanted behaviour, but you can unlock it anyway." : "La configuration est verrouillée. Changer les options peut entraîner un comportement indésirable, mais vous pouvez quand même la déverrouiller.",
     "Unlock configuration " : "DĂ©verrouiller la configuration",
     "Form configurations" : "Paramètres du formulaire",
+    "Only allow one submission per user" : "Autoriser un seul envoi par utilisateur",
     "Name of user or group" : "Nom d'utilisateur ou de groupe",
     "Create new form" : "Créer un nouveau formulaire",
     "Writing form" : "RĂ©diger le formulaire",
diff --git a/l10n/fr.json b/l10n/fr.json
index 8854f8cc7991ab35c5d8b3d2bafef930558bcac0..600570d4544a50932f4c6828bf84be13e5ceaa12 100644
--- a/l10n/fr.json
+++ b/l10n/fr.json
@@ -18,7 +18,7 @@
     "Owner" : "Propriétaire",
     "Created" : "Créé",
     "Expires" : "Expire",
-    "View Results" : "Afficher les résultats",
+    "View results" : "Afficher les résultats",
     "Public access" : "Accès public",
     "Only shared" : "Partagé seulement",
     "Registered users only" : "Utilisateurs enregistrés uniquement",
@@ -38,6 +38,7 @@
     "Configuration is locked. Changing options may result in unwanted behaviour, but you can unlock it anyway." : "La configuration est verrouillée. Changer les options peut entraîner un comportement indésirable, mais vous pouvez quand même la déverrouiller.",
     "Unlock configuration " : "DĂ©verrouiller la configuration",
     "Form configurations" : "Paramètres du formulaire",
+    "Only allow one submission per user" : "Autoriser un seul envoi par utilisateur",
     "Name of user or group" : "Nom d'utilisateur ou de groupe",
     "Create new form" : "Créer un nouveau formulaire",
     "Writing form" : "RĂ©diger le formulaire",
diff --git a/l10n/gl.js b/l10n/gl.js
index fb8dc16dec65b50ad52bdc8e05ebc62344599e49..e17015a010a84057905dfe674885fae47568c10c 100644
--- a/l10n/gl.js
+++ b/l10n/gl.js
@@ -3,11 +3,11 @@ OC.L10N.register(
     {
     "Do you really want to delete this new form?" : "Confirma que quere eliminar este formulario novo?",
     "Forms" : "Formularios",
-    "Forms App - New Activity" : "Aplicativo de formularios – Actividade nova",
+    "Forms App - New Activity" : "Aplicación de formularios – Actividade nova",
     "{user} participated in the form \"{title}\"" : "{user} participou no formulario «{title}»",
     "Go to form" : "Ir ao formulario",
-    "A forms app, similar to Google Forms." : "Un aplicativo de formularios, semellante ao Google Forms.",
-    "A forms app, similar to Google Forms with the possibility to restrict access (members, certain groups/users, and public)." : "Un aplicativo de formularios, semellante ao Google Forms, coa posibilidade de restrinxir o acceso (membros, determinados grupos/usuarios, agochados e pĂşblicos).",
+    "A forms app, similar to Google Forms." : "Unha aplicaciĂłn de formularios, semellante ao Google Forms.",
+    "A forms app, similar to Google Forms with the possibility to restrict access (members, certain groups/users, and public)." : "Unha aplicaciĂłn de formularios, semellante ao Google Forms, coa posibilidade de restrinxir o acceso (membros, determinados grupos/usuarios, agochados e pĂşblicos).",
     "Expired" : "Caducado",
     "Expires %n" : "Caduca o %n",
     "Expires never" : "Non caduca nunca",
@@ -20,7 +20,7 @@ OC.L10N.register(
     "Owner" : "Propietario",
     "Created" : "Creado",
     "Expires" : "Caduca",
-    "View Results" : "Ver os resultados",
+    "View results" : "Ver os resultados",
     "Public access" : "Acceso pĂşblico",
     "Only shared" : "SĂł compartido",
     "Registered users only" : "SĂł usuarios rexistrados",
@@ -40,6 +40,7 @@ OC.L10N.register(
     "Configuration is locked. Changing options may result in unwanted behaviour, but you can unlock it anyway." : " A configuración está bloqueada. Cambiar as opcións pode dar lugar a un comportamento non desexado, aínda así pode desbloqueala.",
     "Unlock configuration " : "Desbloquear a configuracioń",
     "Form configurations" : "ConfiguraciĂłns de formulario ",
+    "Only allow one submission per user" : "Permitir sĂł unha presentaciĂłn por usuario",
     "Name of user or group" : "Nome de usuario ou grupo",
     "Create new form" : "Crear un formulario novo",
     "Writing form" : "Rexistrando o formulario",
@@ -50,7 +51,7 @@ OC.L10N.register(
     "Select a question type!" : "Seleccione o tipo de pregunta!",
     "Cannot have the same question!" : "Non pode ter a mesma pregunta!",
     "Two answers cannot be the same!" : "Non poden ser as mesmas dĂşas respostas!",
-    "Title must not be empty!" : "O tĂ­tulo non pode estar baleiro!",
+    "Title must not be empty!" : "O tĂ­tulo non debe estar baleiro!",
     "Must have at least one question!" : "Ten que haber polo menos unha pregunta!",
     "All questions need answers!" : "Todas as preguntas precisan respostas!",
     "Need to pick an expiration date!" : "É necesario escoller unha data de caducidade!",
diff --git a/l10n/gl.json b/l10n/gl.json
index 7ad64d3f89464658acf124d84b1c44fa5e00819a..bb6d2291c19ec67e91867294f16cad43c9af827f 100644
--- a/l10n/gl.json
+++ b/l10n/gl.json
@@ -1,11 +1,11 @@
 { "translations": {
     "Do you really want to delete this new form?" : "Confirma que quere eliminar este formulario novo?",
     "Forms" : "Formularios",
-    "Forms App - New Activity" : "Aplicativo de formularios – Actividade nova",
+    "Forms App - New Activity" : "Aplicación de formularios – Actividade nova",
     "{user} participated in the form \"{title}\"" : "{user} participou no formulario «{title}»",
     "Go to form" : "Ir ao formulario",
-    "A forms app, similar to Google Forms." : "Un aplicativo de formularios, semellante ao Google Forms.",
-    "A forms app, similar to Google Forms with the possibility to restrict access (members, certain groups/users, and public)." : "Un aplicativo de formularios, semellante ao Google Forms, coa posibilidade de restrinxir o acceso (membros, determinados grupos/usuarios, agochados e pĂşblicos).",
+    "A forms app, similar to Google Forms." : "Unha aplicaciĂłn de formularios, semellante ao Google Forms.",
+    "A forms app, similar to Google Forms with the possibility to restrict access (members, certain groups/users, and public)." : "Unha aplicaciĂłn de formularios, semellante ao Google Forms, coa posibilidade de restrinxir o acceso (membros, determinados grupos/usuarios, agochados e pĂşblicos).",
     "Expired" : "Caducado",
     "Expires %n" : "Caduca o %n",
     "Expires never" : "Non caduca nunca",
@@ -18,7 +18,7 @@
     "Owner" : "Propietario",
     "Created" : "Creado",
     "Expires" : "Caduca",
-    "View Results" : "Ver os resultados",
+    "View results" : "Ver os resultados",
     "Public access" : "Acceso pĂşblico",
     "Only shared" : "SĂł compartido",
     "Registered users only" : "SĂł usuarios rexistrados",
@@ -38,6 +38,7 @@
     "Configuration is locked. Changing options may result in unwanted behaviour, but you can unlock it anyway." : " A configuración está bloqueada. Cambiar as opcións pode dar lugar a un comportamento non desexado, aínda así pode desbloqueala.",
     "Unlock configuration " : "Desbloquear a configuracioń",
     "Form configurations" : "ConfiguraciĂłns de formulario ",
+    "Only allow one submission per user" : "Permitir sĂł unha presentaciĂłn por usuario",
     "Name of user or group" : "Nome de usuario ou grupo",
     "Create new form" : "Crear un formulario novo",
     "Writing form" : "Rexistrando o formulario",
@@ -48,7 +49,7 @@
     "Select a question type!" : "Seleccione o tipo de pregunta!",
     "Cannot have the same question!" : "Non pode ter a mesma pregunta!",
     "Two answers cannot be the same!" : "Non poden ser as mesmas dĂşas respostas!",
-    "Title must not be empty!" : "O tĂ­tulo non pode estar baleiro!",
+    "Title must not be empty!" : "O tĂ­tulo non debe estar baleiro!",
     "Must have at least one question!" : "Ten que haber polo menos unha pregunta!",
     "All questions need answers!" : "Todas as preguntas precisan respostas!",
     "Need to pick an expiration date!" : "É necesario escoller unha data de caducidade!",
diff --git a/l10n/he.js b/l10n/he.js
new file mode 100644
index 0000000000000000000000000000000000000000..9f0a61d1397f03c61bc6d1f5d67b624caed9a38f
--- /dev/null
+++ b/l10n/he.js
@@ -0,0 +1,24 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Expired" : "פג",
+    "Expires never" : "לעולם לא יפוג",
+    "Usernames hidden to Owner" : "שמות המשתמשים נסתרים בפני הבעלים",
+    "Usernames visible to Owner" : "שמות המשתמשים גלויים לבעלים",
+    "Group" : "קבוצה",
+    "Title" : "תפקיד",
+    "Access" : "גישה",
+    "Owner" : "בעלות",
+    "Created" : "מועד היצירה",
+    "Expires" : "תפוגה",
+    "Public access" : "גישה ציבורית",
+    "Registered users only" : "משתמשים רשומים בלבד",
+    "never" : "מעולם לא",
+    "Description" : "תיאור",
+    "Configuration" : "הגדרות",
+    "Done" : "הסתיים",
+    "Expiration date" : "תאריך תפוגה",
+    "New" : "חדש",
+    "Access denied" : "הגישה נדחתה"
+},
+"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;");
diff --git a/l10n/he.json b/l10n/he.json
new file mode 100644
index 0000000000000000000000000000000000000000..e0f1fb2b9249a3bf24efa862a412f68a7f52258d
--- /dev/null
+++ b/l10n/he.json
@@ -0,0 +1,22 @@
+{ "translations": {
+    "Expired" : "פג",
+    "Expires never" : "לעולם לא יפוג",
+    "Usernames hidden to Owner" : "שמות המשתמשים נסתרים בפני הבעלים",
+    "Usernames visible to Owner" : "שמות המשתמשים גלויים לבעלים",
+    "Group" : "קבוצה",
+    "Title" : "תפקיד",
+    "Access" : "גישה",
+    "Owner" : "בעלות",
+    "Created" : "מועד היצירה",
+    "Expires" : "תפוגה",
+    "Public access" : "גישה ציבורית",
+    "Registered users only" : "משתמשים רשומים בלבד",
+    "never" : "מעולם לא",
+    "Description" : "תיאור",
+    "Configuration" : "הגדרות",
+    "Done" : "הסתיים",
+    "Expiration date" : "תאריך תפוגה",
+    "New" : "חדש",
+    "Access denied" : "הגישה נדחתה"
+},"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;"
+}
\ No newline at end of file
diff --git a/l10n/hr.js b/l10n/hr.js
index d1b8ed2659374adac38afe10cc76230a3e88f373..e45282814dafd8c3a9e7e2c34d4a691a2b0fdf6d 100644
--- a/l10n/hr.js
+++ b/l10n/hr.js
@@ -2,12 +2,12 @@ OC.L10N.register(
     "forms",
     {
     "Do you really want to delete this new form?" : "Želite li zaista izbrisati ovaj novi obrazac?",
-    "Forms" : "Obrazac",
+    "Forms" : "Obrasci",
     "Forms App - New Activity" : "Aplikacija za obrasce – nova aktivnost",
-    "{user} participated in the form \"{title}\"" : "{user} je sudjelovao u anketi „{title}”",
+    "{user} participated in the form \"{title}\"" : "{user} je sudjelovao u obrascu „{title}”",
     "Go to form" : "Idi na obrazac",
-    "A forms app, similar to Google Forms." : "Aplikacija za obrasce, sliÄŤno poput Google obrazaca",
-    "A forms app, similar to Google Forms with the possibility to restrict access (members, certain groups/users, and public)." : "Aplikacija za obrasce, nalik aplikaciji Google obrasci s mogućnošću ograničavanja pristupa (članovi, određene grupe/korisnici, skriveno, javno).",
+    "A forms app, similar to Google Forms." : "Aplikacija za upravljanje obrascima, nalik aplikaciji Google Forms.",
+    "A forms app, similar to Google Forms with the possibility to restrict access (members, certain groups/users, and public)." : "Aplikacija za upravljanje obrascima, nalik aplikaciji Google Forms s mogućnošću ograničavanja pristupa (članovi, određene grupe/korisnici, javno).",
     "Expired" : "Istekao",
     "Expires %n" : "IstjeÄŤe %n",
     "Expires never" : "IstjeÄŤe nikada",
@@ -20,11 +20,12 @@ OC.L10N.register(
     "Owner" : "Vlasnik",
     "Created" : "Stvoreno",
     "Expires" : "IstjeÄŤe",
+    "View results" : "Pregledaj rezultate",
     "Public access" : "Javni pristup",
     "Only shared" : "Samo dijeljeno",
     "Registered users only" : "Samo registrirani korisnici",
-    "Hidden form" : "Skriven obrazac",
-    "Text form" : "Tekstualni obrazac",
+    "Hidden form" : "Skriveni obrazac",
+    "Text form" : "Tekst obrasca",
     "never" : "nikad",
     "Link copied to clipboard" : "Poveznica je kopirana u međuspremnik",
     "Error, while copying link to clipboard" : "Pogreška tijekom kopiranja poveznice u međuspremnik",
@@ -32,40 +33,41 @@ OC.L10N.register(
     "Share with" : "Dijeli s",
     "Form description" : "Opis obrasca",
     "Description" : "Opis",
-    "Make a Form" : "Kreiraj obrazac",
+    "Make a Form" : "Izradi obrazac",
     "Add Question" : "Dodaj pitanje",
     "You are editing in admin mode" : "Uređujete u načinu rada administratora",
     "Configuration" : "Konfiguracija",
     "Configuration is locked. Changing options may result in unwanted behaviour, but you can unlock it anyway." : "Konfiguracija je zaključana. Promjena opcija može rezultirati neželjenim ponašanjem, ali svejedno je možete otključati.",
     "Unlock configuration " : "OtkljuÄŤaj konfiguraciju ",
     "Form configurations" : "Konfiguracije obrasca",
+    "Only allow one submission per user" : "Dopusti jedan podnesak po korisniku",
     "Name of user or group" : "Ime korisnika ili grupe",
     "Create new form" : "Stvori novi obrazac",
     "Writing form" : "Pisanje obrasca",
-    "Update form" : "AĹľuriranje obrasca",
+    "Update form" : "AĹľuriraj obrazac",
     "Done" : "Gotovo",
     "Expiration date" : "Datum isteka",
     "Click to add a date" : "Klikni za dodavanje datuma",
-    "Select a question type!" : "Odaberi vrstu pitanja!",
-    "Cannot have the same question!" : "Ne moĹľe biti isto pitanje!",
-    "Two answers cannot be the same!" : "Ne mogu biti dva ista odgovora!",
+    "Select a question type!" : "Odaberite vrstu pitanja!",
+    "Cannot have the same question!" : "Ne moĹľete imati isto pitanje!",
+    "Two answers cannot be the same!" : "Ne mogu postojati dva ista odgovora!",
     "Title must not be empty!" : "Naslov ne smije biti prazan!",
-    "Must have at least one question!" : "Mora biti barem jedno pitanje!",
-    "All questions need answers!" : "Sva pitanja zahtijevaju odgovore!",
-    "Need to pick an expiration date!" : "Mora se postaviti datum isteka!",
+    "Must have at least one question!" : "Mora postojati barem jedno pitanje!",
+    "All questions need answers!" : "Potrebno je odgovoriti na sva pitanja!",
+    "Need to pick an expiration date!" : "Odaberite datum isteka!",
     "%n successfully saved" : "%n uspješno spremljenih",
     "Error on saving form, see console" : "Pogreška pri spremanju obrasca, pogledajte konzolu",
     "Clone of %n" : "Klon %n",
     "New" : "Novo",
-    "Click here to add a form" : "Klikni ovdje za dodavanje obrasca",
+    "Click here to add a form" : "Kliknite ovdje za dodavanje obrasca",
     "Delete form" : "Izbriši obrazac",
     "Do you want to delete \"%n\"?" : "Želite li izbrisati „%n”?",
     "No, keep form." : "Ne, zadrĹľi obrazac.",
     "Yes, delete form." : "Da, izbriši obrazac.",
-    "Form \"%n\" deleted" : "Obrazac „%n” izbrisan",
-    "Error while deleting Form \"%n\"" : "Pogreška pri brisanju obrasca „%n”",
-    "Form Expired" : "Obrazac istekao",
-    "This Form has expired and is no longer taking answers." : "Obrazac je istekao i ne prima više odgovore.",
+    "Form \"%n\" deleted" : "Obrazac „%n” je izbrisan",
+    "Error while deleting Form \"%n\"" : "Pogreška pri brisanju obrasca „%n“",
+    "Form Expired" : "Obrazac je istekao",
+    "This Form has expired and is no longer taking answers." : "Ovaj je obrazac istekao i nije moguće unositi odgovore.",
     "Access denied" : "Pristup odbijen",
     "You are not allowed to view this form or the form does not exist." : "Nije vam dopušteno pregledavati ovaj obrazac ili obrazac ne postoji.",
     "You are not allowed to edit this form or the form does not exist." : "Nije vam dopušteno uređivati ovaj obrazac ili obrazac ne postoji.",
diff --git a/l10n/hr.json b/l10n/hr.json
index da705865cc3792cab985668f7aa6563ae36b3ea9..514515fffa8e2769d1c60af6421147e2937e75c8 100644
--- a/l10n/hr.json
+++ b/l10n/hr.json
@@ -1,11 +1,11 @@
 { "translations": {
     "Do you really want to delete this new form?" : "Želite li zaista izbrisati ovaj novi obrazac?",
-    "Forms" : "Obrazac",
+    "Forms" : "Obrasci",
     "Forms App - New Activity" : "Aplikacija za obrasce – nova aktivnost",
-    "{user} participated in the form \"{title}\"" : "{user} je sudjelovao u anketi „{title}”",
+    "{user} participated in the form \"{title}\"" : "{user} je sudjelovao u obrascu „{title}”",
     "Go to form" : "Idi na obrazac",
-    "A forms app, similar to Google Forms." : "Aplikacija za obrasce, sliÄŤno poput Google obrazaca",
-    "A forms app, similar to Google Forms with the possibility to restrict access (members, certain groups/users, and public)." : "Aplikacija za obrasce, nalik aplikaciji Google obrasci s mogućnošću ograničavanja pristupa (članovi, određene grupe/korisnici, skriveno, javno).",
+    "A forms app, similar to Google Forms." : "Aplikacija za upravljanje obrascima, nalik aplikaciji Google Forms.",
+    "A forms app, similar to Google Forms with the possibility to restrict access (members, certain groups/users, and public)." : "Aplikacija za upravljanje obrascima, nalik aplikaciji Google Forms s mogućnošću ograničavanja pristupa (članovi, određene grupe/korisnici, javno).",
     "Expired" : "Istekao",
     "Expires %n" : "IstjeÄŤe %n",
     "Expires never" : "IstjeÄŤe nikada",
@@ -18,11 +18,12 @@
     "Owner" : "Vlasnik",
     "Created" : "Stvoreno",
     "Expires" : "IstjeÄŤe",
+    "View results" : "Pregledaj rezultate",
     "Public access" : "Javni pristup",
     "Only shared" : "Samo dijeljeno",
     "Registered users only" : "Samo registrirani korisnici",
-    "Hidden form" : "Skriven obrazac",
-    "Text form" : "Tekstualni obrazac",
+    "Hidden form" : "Skriveni obrazac",
+    "Text form" : "Tekst obrasca",
     "never" : "nikad",
     "Link copied to clipboard" : "Poveznica je kopirana u međuspremnik",
     "Error, while copying link to clipboard" : "Pogreška tijekom kopiranja poveznice u međuspremnik",
@@ -30,40 +31,41 @@
     "Share with" : "Dijeli s",
     "Form description" : "Opis obrasca",
     "Description" : "Opis",
-    "Make a Form" : "Kreiraj obrazac",
+    "Make a Form" : "Izradi obrazac",
     "Add Question" : "Dodaj pitanje",
     "You are editing in admin mode" : "Uređujete u načinu rada administratora",
     "Configuration" : "Konfiguracija",
     "Configuration is locked. Changing options may result in unwanted behaviour, but you can unlock it anyway." : "Konfiguracija je zaključana. Promjena opcija može rezultirati neželjenim ponašanjem, ali svejedno je možete otključati.",
     "Unlock configuration " : "OtkljuÄŤaj konfiguraciju ",
     "Form configurations" : "Konfiguracije obrasca",
+    "Only allow one submission per user" : "Dopusti jedan podnesak po korisniku",
     "Name of user or group" : "Ime korisnika ili grupe",
     "Create new form" : "Stvori novi obrazac",
     "Writing form" : "Pisanje obrasca",
-    "Update form" : "AĹľuriranje obrasca",
+    "Update form" : "AĹľuriraj obrazac",
     "Done" : "Gotovo",
     "Expiration date" : "Datum isteka",
     "Click to add a date" : "Klikni za dodavanje datuma",
-    "Select a question type!" : "Odaberi vrstu pitanja!",
-    "Cannot have the same question!" : "Ne moĹľe biti isto pitanje!",
-    "Two answers cannot be the same!" : "Ne mogu biti dva ista odgovora!",
+    "Select a question type!" : "Odaberite vrstu pitanja!",
+    "Cannot have the same question!" : "Ne moĹľete imati isto pitanje!",
+    "Two answers cannot be the same!" : "Ne mogu postojati dva ista odgovora!",
     "Title must not be empty!" : "Naslov ne smije biti prazan!",
-    "Must have at least one question!" : "Mora biti barem jedno pitanje!",
-    "All questions need answers!" : "Sva pitanja zahtijevaju odgovore!",
-    "Need to pick an expiration date!" : "Mora se postaviti datum isteka!",
+    "Must have at least one question!" : "Mora postojati barem jedno pitanje!",
+    "All questions need answers!" : "Potrebno je odgovoriti na sva pitanja!",
+    "Need to pick an expiration date!" : "Odaberite datum isteka!",
     "%n successfully saved" : "%n uspješno spremljenih",
     "Error on saving form, see console" : "Pogreška pri spremanju obrasca, pogledajte konzolu",
     "Clone of %n" : "Klon %n",
     "New" : "Novo",
-    "Click here to add a form" : "Klikni ovdje za dodavanje obrasca",
+    "Click here to add a form" : "Kliknite ovdje za dodavanje obrasca",
     "Delete form" : "Izbriši obrazac",
     "Do you want to delete \"%n\"?" : "Želite li izbrisati „%n”?",
     "No, keep form." : "Ne, zadrĹľi obrazac.",
     "Yes, delete form." : "Da, izbriši obrazac.",
-    "Form \"%n\" deleted" : "Obrazac „%n” izbrisan",
-    "Error while deleting Form \"%n\"" : "Pogreška pri brisanju obrasca „%n”",
-    "Form Expired" : "Obrazac istekao",
-    "This Form has expired and is no longer taking answers." : "Obrazac je istekao i ne prima više odgovore.",
+    "Form \"%n\" deleted" : "Obrazac „%n” je izbrisan",
+    "Error while deleting Form \"%n\"" : "Pogreška pri brisanju obrasca „%n“",
+    "Form Expired" : "Obrazac je istekao",
+    "This Form has expired and is no longer taking answers." : "Ovaj je obrazac istekao i nije moguće unositi odgovore.",
     "Access denied" : "Pristup odbijen",
     "You are not allowed to view this form or the form does not exist." : "Nije vam dopušteno pregledavati ovaj obrazac ili obrazac ne postoji.",
     "You are not allowed to edit this form or the form does not exist." : "Nije vam dopušteno uređivati ovaj obrazac ili obrazac ne postoji.",
diff --git a/l10n/hy.js b/l10n/hy.js
new file mode 100644
index 0000000000000000000000000000000000000000..0321a0ec29890b1d1e87747a70265eb7f1faff50
--- /dev/null
+++ b/l10n/hy.js
@@ -0,0 +1,13 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Group" : "Ô˝Ő¸Ö‚Ő´Ő˘",
+    "Title" : "ŐŽŐĄÖ€Ő¶ŐˇŐŁŐ«Ö€",
+    "Owner" : "Owner",
+    "never" : "ŐĄÖ€Ő˘ŐĄÖ„",
+    "Description" : "Ő†ŐŻŐˇÖ€ŐˇŐŁÖ€Ő¸Ö‚Ő©ŐµŐ¸Ö‚Ő¶",
+    "Done" : "Done",
+    "Expiration date" : "ŐŽŐˇŐľŐĄÖ€ŐˇŐŻŐˇŐ¶Ő¸Ö‚Ő©ŐµŐˇŐ¶ ŐŞŐˇŐ´ŐŻŐĄŐż",
+    "New" : "Ő†Ő¸Ö€"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/l10n/hy.json b/l10n/hy.json
new file mode 100644
index 0000000000000000000000000000000000000000..329954c60fafd99cc932955b07f6918be594290f
--- /dev/null
+++ b/l10n/hy.json
@@ -0,0 +1,11 @@
+{ "translations": {
+    "Group" : "Ô˝Ő¸Ö‚Ő´Ő˘",
+    "Title" : "ŐŽŐĄÖ€Ő¶ŐˇŐŁŐ«Ö€",
+    "Owner" : "Owner",
+    "never" : "ŐĄÖ€Ő˘ŐĄÖ„",
+    "Description" : "Ő†ŐŻŐˇÖ€ŐˇŐŁÖ€Ő¸Ö‚Ő©ŐµŐ¸Ö‚Ő¶",
+    "Done" : "Done",
+    "Expiration date" : "ŐŽŐˇŐľŐĄÖ€ŐˇŐŻŐˇŐ¶Ő¸Ö‚Ő©ŐµŐˇŐ¶ ŐŞŐˇŐ´ŐŻŐĄŐż",
+    "New" : "Ő†Ő¸Ö€"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+}
\ No newline at end of file
diff --git a/l10n/ia.js b/l10n/ia.js
new file mode 100644
index 0000000000000000000000000000000000000000..c04cb773ec464de54181530b0df3af0da6bea08f
--- /dev/null
+++ b/l10n/ia.js
@@ -0,0 +1,15 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Group" : "Gruppo",
+    "Title" : "Titulo",
+    "Owner" : "Owner",
+    "Public access" : "Accesso public",
+    "never" : "nunquam",
+    "Description" : "Description",
+    "Configuration" : "Configuration",
+    "Done" : "Preste",
+    "Expiration date" : "Data de expiration",
+    "New" : "Nove"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/l10n/ia.json b/l10n/ia.json
new file mode 100644
index 0000000000000000000000000000000000000000..3be9b9335dc11b41e55acc337631823b5dc6f2d9
--- /dev/null
+++ b/l10n/ia.json
@@ -0,0 +1,13 @@
+{ "translations": {
+    "Group" : "Gruppo",
+    "Title" : "Titulo",
+    "Owner" : "Owner",
+    "Public access" : "Accesso public",
+    "never" : "nunquam",
+    "Description" : "Description",
+    "Configuration" : "Configuration",
+    "Done" : "Preste",
+    "Expiration date" : "Data de expiration",
+    "New" : "Nove"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+}
\ No newline at end of file
diff --git a/l10n/id.js b/l10n/id.js
new file mode 100644
index 0000000000000000000000000000000000000000..9f43ad9551dea77977feb2172fd8a9db499a7653
--- /dev/null
+++ b/l10n/id.js
@@ -0,0 +1,15 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Group" : "Grup",
+    "Title" : "Judul",
+    "Owner" : "Owner",
+    "Created" : "Dibuat",
+    "never" : "tidak pernah.",
+    "Description" : "Deskrisi",
+    "Configuration" : "Konfigurasi",
+    "Done" : "Selesai",
+    "Expiration date" : "Tanggal kadaluarsa",
+    "New" : "Baru"
+},
+"nplurals=1; plural=0;");
diff --git a/l10n/id.json b/l10n/id.json
new file mode 100644
index 0000000000000000000000000000000000000000..c9fd7120112be6895a575a6026194ccc4d92f3f3
--- /dev/null
+++ b/l10n/id.json
@@ -0,0 +1,13 @@
+{ "translations": {
+    "Group" : "Grup",
+    "Title" : "Judul",
+    "Owner" : "Owner",
+    "Created" : "Dibuat",
+    "never" : "tidak pernah.",
+    "Description" : "Deskrisi",
+    "Configuration" : "Konfigurasi",
+    "Done" : "Selesai",
+    "Expiration date" : "Tanggal kadaluarsa",
+    "New" : "Baru"
+},"pluralForm" :"nplurals=1; plural=0;"
+}
\ No newline at end of file
diff --git a/l10n/is.js b/l10n/is.js
new file mode 100644
index 0000000000000000000000000000000000000000..b33a722921ca97903e11fc894b854508a5fe3176
--- /dev/null
+++ b/l10n/is.js
@@ -0,0 +1,40 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Expired" : "ĂštrunniĂ°",
+    "Expires %n" : "Gildir til %n",
+    "Expires never" : "Rennur aldrei Ăşt",
+    "Usernames hidden to Owner" : "Nöfn notenda falin fyrir eiganda",
+    "Usernames visible to Owner" : "Nöfn notenda sýnileg eiganda",
+    "Group" : "HĂłpur",
+    "Title" : "Titill",
+    "Access" : "AĂ°gangur",
+    "Owner" : "Eigandi",
+    "Created" : "BĂşiĂ° til Ăľann",
+    "Expires" : "Rennur Ăşt",
+    "Public access" : "Opinber aĂ°gangur",
+    "Only shared" : "Einungis deildar",
+    "Registered users only" : "Aðeins skráðir notendur",
+    "never" : "aldrei",
+    "Link copied to clipboard" : "Tengill afritaður á klippispjald",
+    "Error, while copying link to clipboard" : "Villa við afritun tengils á klippispjald",
+    "Add Answer" : "Bæta við svari",
+    "Share with" : "Deila meĂ°",
+    "Description" : "Lýsing",
+    "Add Question" : "Bæta við spurningu",
+    "You are editing in admin mode" : "Þú ert að breyta í stjórnandaham",
+    "Configuration" : "Uppsetning",
+    "Configuration is locked. Changing options may result in unwanted behaviour, but you can unlock it anyway." : "Uppsetning er læst. Breytingar á valkostum gætu valdið skringilegri virkni, en þú getur samt aflæst henni.",
+    "Unlock configuration " : "Aflæsa uppsetningu",
+    "Name of user or group" : "Nafn notanda eĂ°a hĂłps",
+    "Done" : "LokiĂ°",
+    "Expiration date" : "Gildir til",
+    "Click to add a date" : "Smelltu til að bæta við dagsetningu",
+    "Title must not be empty!" : "Titill getur ekki veriĂ° auĂ°ur!",
+    "%n successfully saved" : "TĂłkst aĂ° vista %n",
+    "Clone of %n" : "KlĂłn af %n",
+    "New" : "Nýtt",
+    "Do you want to delete \"%n\"?" : "Viltu eyĂ°a \"%n\"?",
+    "Access denied" : "AĂ°gangur ekki leyfĂ°ur"
+},
+"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);");
diff --git a/l10n/is.json b/l10n/is.json
new file mode 100644
index 0000000000000000000000000000000000000000..9d3c3324b71f3057a56847ba72520de2c7294db8
--- /dev/null
+++ b/l10n/is.json
@@ -0,0 +1,38 @@
+{ "translations": {
+    "Expired" : "ĂštrunniĂ°",
+    "Expires %n" : "Gildir til %n",
+    "Expires never" : "Rennur aldrei Ăşt",
+    "Usernames hidden to Owner" : "Nöfn notenda falin fyrir eiganda",
+    "Usernames visible to Owner" : "Nöfn notenda sýnileg eiganda",
+    "Group" : "HĂłpur",
+    "Title" : "Titill",
+    "Access" : "AĂ°gangur",
+    "Owner" : "Eigandi",
+    "Created" : "BĂşiĂ° til Ăľann",
+    "Expires" : "Rennur Ăşt",
+    "Public access" : "Opinber aĂ°gangur",
+    "Only shared" : "Einungis deildar",
+    "Registered users only" : "Aðeins skráðir notendur",
+    "never" : "aldrei",
+    "Link copied to clipboard" : "Tengill afritaður á klippispjald",
+    "Error, while copying link to clipboard" : "Villa við afritun tengils á klippispjald",
+    "Add Answer" : "Bæta við svari",
+    "Share with" : "Deila meĂ°",
+    "Description" : "Lýsing",
+    "Add Question" : "Bæta við spurningu",
+    "You are editing in admin mode" : "Þú ert að breyta í stjórnandaham",
+    "Configuration" : "Uppsetning",
+    "Configuration is locked. Changing options may result in unwanted behaviour, but you can unlock it anyway." : "Uppsetning er læst. Breytingar á valkostum gætu valdið skringilegri virkni, en þú getur samt aflæst henni.",
+    "Unlock configuration " : "Aflæsa uppsetningu",
+    "Name of user or group" : "Nafn notanda eĂ°a hĂłps",
+    "Done" : "LokiĂ°",
+    "Expiration date" : "Gildir til",
+    "Click to add a date" : "Smelltu til að bæta við dagsetningu",
+    "Title must not be empty!" : "Titill getur ekki veriĂ° auĂ°ur!",
+    "%n successfully saved" : "TĂłkst aĂ° vista %n",
+    "Clone of %n" : "KlĂłn af %n",
+    "New" : "Nýtt",
+    "Do you want to delete \"%n\"?" : "Viltu eyĂ°a \"%n\"?",
+    "Access denied" : "AĂ°gangur ekki leyfĂ°ur"
+},"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"
+}
\ No newline at end of file
diff --git a/l10n/it.js b/l10n/it.js
index 277d43e5a2a04e11eac2d2466cfd2865bb37f881..6f4909c02382d6006c9bd0ff79f3bab4ec24fe9b 100644
--- a/l10n/it.js
+++ b/l10n/it.js
@@ -20,6 +20,7 @@ OC.L10N.register(
     "Owner" : "Proprietario",
     "Created" : "Creato",
     "Expires" : "Scade",
+    "View results" : "Visualizza risultati",
     "Public access" : "Accesso pubblico",
     "Only shared" : "Solo condiviso",
     "Registered users only" : "Solo utenti registrati",
@@ -39,6 +40,7 @@ OC.L10N.register(
     "Configuration is locked. Changing options may result in unwanted behaviour, but you can unlock it anyway." : "La configurazione è bloccata. La modifica delle opzioni potrebbe risultare in un comportamento inatteso, ma puoi sbloccarla comunque.",
     "Unlock configuration " : "Sblocca la configurazione",
     "Form configurations" : "Configurazioni modulo",
+    "Only allow one submission per user" : "Consenti solo un invio per utente",
     "Name of user or group" : "Nome dell'utente o del gruppo",
     "Create new form" : "Crea una nuova modulo",
     "Writing form" : "Scrittura del modulo",
diff --git a/l10n/it.json b/l10n/it.json
index df4f7c8b5eabfe0b3241aee47c3bbdefa8928741..70f861092d6b097e77064806c12aa38870e99c5e 100644
--- a/l10n/it.json
+++ b/l10n/it.json
@@ -18,6 +18,7 @@
     "Owner" : "Proprietario",
     "Created" : "Creato",
     "Expires" : "Scade",
+    "View results" : "Visualizza risultati",
     "Public access" : "Accesso pubblico",
     "Only shared" : "Solo condiviso",
     "Registered users only" : "Solo utenti registrati",
@@ -37,6 +38,7 @@
     "Configuration is locked. Changing options may result in unwanted behaviour, but you can unlock it anyway." : "La configurazione è bloccata. La modifica delle opzioni potrebbe risultare in un comportamento inatteso, ma puoi sbloccarla comunque.",
     "Unlock configuration " : "Sblocca la configurazione",
     "Form configurations" : "Configurazioni modulo",
+    "Only allow one submission per user" : "Consenti solo un invio per utente",
     "Name of user or group" : "Nome dell'utente o del gruppo",
     "Create new form" : "Crea una nuova modulo",
     "Writing form" : "Scrittura del modulo",
diff --git a/l10n/ja.js b/l10n/ja.js
index 05a685eae74b1e6a02f46640f59530ed10a6ed69..4bca2f99f8b279e32ee52d4ed863c44fa938683e 100644
--- a/l10n/ja.js
+++ b/l10n/ja.js
@@ -20,6 +20,7 @@ OC.L10N.register(
     "Owner" : "作成者",
     "Created" : "作成時刻",
     "Expires" : "有効期限",
+    "View results" : "結果を見る",
     "Public access" : "パブリックアクセス",
     "Only shared" : "共有中のみ",
     "Registered users only" : "登録ユーザーのみ",
@@ -39,6 +40,7 @@ OC.L10N.register(
     "Configuration is locked. Changing options may result in unwanted behaviour, but you can unlock it anyway." : "設定がロックされました。オプション変更すると望まない結果になる可能性がありますが、アンロックできます。",
     "Unlock configuration " : "設定をアンロックする",
     "Form configurations" : "フォーム設定",
+    "Only allow one submission per user" : "送信はユーザーごとに1度だけ許可",
     "Name of user or group" : "ユーザまたはグループの名前",
     "Create new form" : "新規フォームを作成",
     "Writing form" : "書き込み中のフォーム",
diff --git a/l10n/ja.json b/l10n/ja.json
index 7cf7151d75761ec4e0620214a9665cb8b46b9fe4..850ad5809fdf3e885f4b436f332ad9b05d62845f 100644
--- a/l10n/ja.json
+++ b/l10n/ja.json
@@ -18,6 +18,7 @@
     "Owner" : "作成者",
     "Created" : "作成時刻",
     "Expires" : "有効期限",
+    "View results" : "結果を見る",
     "Public access" : "パブリックアクセス",
     "Only shared" : "共有中のみ",
     "Registered users only" : "登録ユーザーのみ",
@@ -37,6 +38,7 @@
     "Configuration is locked. Changing options may result in unwanted behaviour, but you can unlock it anyway." : "設定がロックされました。オプション変更すると望まない結果になる可能性がありますが、アンロックできます。",
     "Unlock configuration " : "設定をアンロックする",
     "Form configurations" : "フォーム設定",
+    "Only allow one submission per user" : "送信はユーザーごとに1度だけ許可",
     "Name of user or group" : "ユーザまたはグループの名前",
     "Create new form" : "新規フォームを作成",
     "Writing form" : "書き込み中のフォーム",
diff --git a/l10n/ka_GE.js b/l10n/ka_GE.js
new file mode 100644
index 0000000000000000000000000000000000000000..6f8b0c07f2da8cdcd50d0dc311ddeec324c4eba1
--- /dev/null
+++ b/l10n/ka_GE.js
@@ -0,0 +1,24 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Expired" : "გაუქმდა",
+    "Expires never" : "არასდროს უქმდება",
+    "Usernames hidden to Owner" : "მომხმარებლის სახელები მფლობელისთვის დამალულია",
+    "Usernames visible to Owner" : "მომხმარებლის სახელები მფლობელისთვის ხილვადია",
+    "Group" : "ჯგუფი",
+    "Title" : "სათაური",
+    "Access" : "წვდომა",
+    "Owner" : "მფლობელი",
+    "Created" : "შექმნილია",
+    "Expires" : "უქმდება",
+    "Public access" : "ღია წვდომა",
+    "Registered users only" : "მხოლოდ რეგისტრირებული მომხმარებლები",
+    "never" : "არასდროს",
+    "Description" : "აღწერილობა",
+    "Configuration" : "კონფიგურაცია",
+    "Done" : "დასრულებულია",
+    "Expiration date" : "გაუქმების თარიღი",
+    "New" : "ახალი",
+    "Access denied" : "წვდომა არაა დაშვებული"
+},
+"nplurals=2; plural=(n!=1);");
diff --git a/l10n/ka_GE.json b/l10n/ka_GE.json
new file mode 100644
index 0000000000000000000000000000000000000000..64f2cb45fa6237f3ac65624f3a2773c5cba3684d
--- /dev/null
+++ b/l10n/ka_GE.json
@@ -0,0 +1,22 @@
+{ "translations": {
+    "Expired" : "გაუქმდა",
+    "Expires never" : "არასდროს უქმდება",
+    "Usernames hidden to Owner" : "მომხმარებლის სახელები მფლობელისთვის დამალულია",
+    "Usernames visible to Owner" : "მომხმარებლის სახელები მფლობელისთვის ხილვადია",
+    "Group" : "ჯგუფი",
+    "Title" : "სათაური",
+    "Access" : "წვდომა",
+    "Owner" : "მფლობელი",
+    "Created" : "შექმნილია",
+    "Expires" : "უქმდება",
+    "Public access" : "ღია წვდომა",
+    "Registered users only" : "მხოლოდ რეგისტრირებული მომხმარებლები",
+    "never" : "არასდროს",
+    "Description" : "აღწერილობა",
+    "Configuration" : "კონფიგურაცია",
+    "Done" : "დასრულებულია",
+    "Expiration date" : "გაუქმების თარიღი",
+    "New" : "ახალი",
+    "Access denied" : "წვდომა არაა დაშვებული"
+},"pluralForm" :"nplurals=2; plural=(n!=1);"
+}
\ No newline at end of file
diff --git a/l10n/km.js b/l10n/km.js
new file mode 100644
index 0000000000000000000000000000000000000000..e38348be6cae63880004cb5895abe2334510d7d5
--- /dev/null
+++ b/l10n/km.js
@@ -0,0 +1,14 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Group" : "Group",
+    "Title" : "ចំណងជើង",
+    "Owner" : "Owner",
+    "never" : "មិនដែរ",
+    "Description" : "ការ​អធិប្បាយ",
+    "Configuration" : "ការ​កំណត់​សណ្ឋាន",
+    "Done" : "Done",
+    "Expiration date" : "ពេល​ផុត​កំណត់",
+    "New" : "ថ្មី"
+},
+"nplurals=1; plural=0;");
diff --git a/l10n/km.json b/l10n/km.json
new file mode 100644
index 0000000000000000000000000000000000000000..163c4cfdb1a97fdd4cb8cdd8c237ef60b7c4e05d
--- /dev/null
+++ b/l10n/km.json
@@ -0,0 +1,12 @@
+{ "translations": {
+    "Group" : "Group",
+    "Title" : "ចំណងជើង",
+    "Owner" : "Owner",
+    "never" : "មិនដែរ",
+    "Description" : "ការ​អធិប្បាយ",
+    "Configuration" : "ការ​កំណត់​សណ្ឋាន",
+    "Done" : "Done",
+    "Expiration date" : "ពេល​ផុត​កំណត់",
+    "New" : "ថ្មី"
+},"pluralForm" :"nplurals=1; plural=0;"
+}
\ No newline at end of file
diff --git a/l10n/kn.js b/l10n/kn.js
new file mode 100644
index 0000000000000000000000000000000000000000..d81cec1ecafbcff68d8c22f022b1d7bce4a5e1b7
--- /dev/null
+++ b/l10n/kn.js
@@ -0,0 +1,12 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Group" : "ಗುಂಪು",
+    "Title" : "ಶೀರ್ಷಿಕೆ",
+    "Owner" : "Owner",
+    "never" : "ಎಂದಿಗೂ",
+    "Done" : "Done",
+    "Expiration date" : "ಮುಕ್ತಾಯ ದಿನಾಂಕ",
+    "New" : "ಹೊಸ"
+},
+"nplurals=2; plural=(n > 1);");
diff --git a/l10n/kn.json b/l10n/kn.json
new file mode 100644
index 0000000000000000000000000000000000000000..d64c1fda9d3573a27b1122dbf15382ae5fcd059d
--- /dev/null
+++ b/l10n/kn.json
@@ -0,0 +1,10 @@
+{ "translations": {
+    "Group" : "ಗುಂಪು",
+    "Title" : "ಶೀರ್ಷಿಕೆ",
+    "Owner" : "Owner",
+    "never" : "ಎಂದಿಗೂ",
+    "Done" : "Done",
+    "Expiration date" : "ಮುಕ್ತಾಯ ದಿನಾಂಕ",
+    "New" : "ಹೊಸ"
+},"pluralForm" :"nplurals=2; plural=(n > 1);"
+}
\ No newline at end of file
diff --git a/l10n/ko.js b/l10n/ko.js
new file mode 100644
index 0000000000000000000000000000000000000000..4e2f7692290ab7fae4a3b79ac7a5d4ccfa3f9591
--- /dev/null
+++ b/l10n/ko.js
@@ -0,0 +1,24 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Expired" : "만료됨",
+    "Expires never" : "만료되지 않음",
+    "Usernames hidden to Owner" : "소유자에게 사용자 이름 숨기기",
+    "Usernames visible to Owner" : "소유자에게 사용자 이름 보이기",
+    "Group" : "그룹",
+    "Title" : "직위",
+    "Access" : "접근 권한",
+    "Owner" : "Owner",
+    "Created" : "생성됨",
+    "Expires" : "끝나는 시간",
+    "Public access" : "공개 접근",
+    "Registered users only" : "등록된 사용자만",
+    "never" : "하지 않음",
+    "Description" : "설명",
+    "Configuration" : "설정",
+    "Done" : "완료",
+    "Expiration date" : "만료 일자",
+    "New" : "새로 만들기",
+    "Access denied" : "접근이 거부됨"
+},
+"nplurals=1; plural=0;");
diff --git a/l10n/ko.json b/l10n/ko.json
new file mode 100644
index 0000000000000000000000000000000000000000..3d24219f1459598ade07e4f3bc74e0ee86b3b849
--- /dev/null
+++ b/l10n/ko.json
@@ -0,0 +1,22 @@
+{ "translations": {
+    "Expired" : "만료됨",
+    "Expires never" : "만료되지 않음",
+    "Usernames hidden to Owner" : "소유자에게 사용자 이름 숨기기",
+    "Usernames visible to Owner" : "소유자에게 사용자 이름 보이기",
+    "Group" : "그룹",
+    "Title" : "직위",
+    "Access" : "접근 권한",
+    "Owner" : "Owner",
+    "Created" : "생성됨",
+    "Expires" : "끝나는 시간",
+    "Public access" : "공개 접근",
+    "Registered users only" : "등록된 사용자만",
+    "never" : "하지 않음",
+    "Description" : "설명",
+    "Configuration" : "설정",
+    "Done" : "완료",
+    "Expiration date" : "만료 일자",
+    "New" : "새로 만들기",
+    "Access denied" : "접근이 거부됨"
+},"pluralForm" :"nplurals=1; plural=0;"
+}
\ No newline at end of file
diff --git a/l10n/lb.js b/l10n/lb.js
new file mode 100644
index 0000000000000000000000000000000000000000..d6afaab31fe1b502ac635cf167187b012ea5ea8e
--- /dev/null
+++ b/l10n/lb.js
@@ -0,0 +1,13 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Group" : "Grupp",
+    "Title" : "Titel",
+    "Owner" : "Owner",
+    "never" : "Ni",
+    "Description" : "Beschreiwung",
+    "Done" : "Done",
+    "Expiration date" : "Verfallsdatum",
+    "New" : "Nei"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/l10n/lb.json b/l10n/lb.json
new file mode 100644
index 0000000000000000000000000000000000000000..54bac60ebf5576964f03e4e285d7a7c0900d6f72
--- /dev/null
+++ b/l10n/lb.json
@@ -0,0 +1,11 @@
+{ "translations": {
+    "Group" : "Grupp",
+    "Title" : "Titel",
+    "Owner" : "Owner",
+    "never" : "Ni",
+    "Description" : "Beschreiwung",
+    "Done" : "Done",
+    "Expiration date" : "Verfallsdatum",
+    "New" : "Nei"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+}
\ No newline at end of file
diff --git a/l10n/lt_LT.js b/l10n/lt_LT.js
new file mode 100644
index 0000000000000000000000000000000000000000..77066b599bbfb0cdd8ddddaf0130ee0052020c2b
--- /dev/null
+++ b/l10n/lt_LT.js
@@ -0,0 +1,55 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Do you really want to delete this new form?" : "Ar tikrai norite ištrinti šią naują anketą?",
+    "Forms" : "Anketos",
+    "Forms App - New Activity" : "AnketĹł programÄ—lÄ— - Nauja veikla",
+    "{user} participated in the form \"{title}\"" : "{user} dalyvavo anketoje, pavadinimu \"{title}\"",
+    "Go to form" : "Pereiti ÄŻ anketÄ…",
+    "Expired" : "Nebegalioja",
+    "Expires %n" : "Baigia galioti %n",
+    "Anonymous form" : "AnoniminÄ— anketa",
+    "Group" : "GrupÄ—",
+    "Title" : "Pavadinimas",
+    "Access" : "Prieiga",
+    "Owner" : "Savininkas",
+    "Created" : "Sukurta",
+    "Expires" : "Baigia galioti",
+    "View results" : "Rodyti rezultatus",
+    "Public access" : "Viešoji prieiga",
+    "Only shared" : "Tik tie, su kuo bendrinama",
+    "Registered users only" : "Tik registruoti naudotojai",
+    "Hidden form" : "PaslÄ—pta anketa",
+    "never" : "niekada",
+    "Link copied to clipboard" : "Nuoroda nukopijuota į iškarpinę",
+    "Error, while copying link to clipboard" : "Klaida kopijuojant nuorodą į iškarpinę",
+    "Add Answer" : "PridÄ—ti atsakymÄ…",
+    "Share with" : "Bendrinti su",
+    "Form description" : "Anketos aprašas",
+    "Description" : "Aprašas",
+    "Add Question" : "PridÄ—ti klausimÄ…",
+    "Configuration" : "Konfigūracija",
+    "Configuration is locked. Changing options may result in unwanted behaviour, but you can unlock it anyway." : "Konfigūracija yra užrakinta. Pakeitus parinktis gali atsirasti nepageidaujama elgsena, tačiau vis tiek galite atrakinti konfigūraciją.",
+    "Unlock configuration " : "Atrakinti konfigūraciją",
+    "Form configurations" : "Anketos konfigūracijos",
+    "Name of user or group" : "Naudotojo vardas arba grupÄ—s pavadinimas",
+    "Create new form" : "Sukurti naujÄ… anketÄ…",
+    "Done" : "Atlikta",
+    "Expiration date" : "Galiojimo pabaigos data",
+    "Click to add a date" : "SpustelÄ—kite norÄ—dami pridÄ—ti datÄ…",
+    "Select a question type!" : "Pasirinkite klausimo tipÄ…!",
+    "Title must not be empty!" : "Pavadinimas negali būti tuščias!",
+    "Must have at least one question!" : "Privalo būti bent vienas klausimas!",
+    "Need to pick an expiration date!" : "Reikia pasirinkti galiojimo pabaigos datÄ…!",
+    "%n successfully saved" : "%n sėkmingai įrašyta",
+    "Clone of %n" : "%n dublikatas",
+    "New" : "Nauja",
+    "Delete form" : "Ištrinti anketą",
+    "Do you want to delete \"%n\"?" : "Ar norite ištrinti \"%n\"?",
+    "No, keep form." : "Ne, palikti anketÄ….",
+    "Yes, delete form." : "Taip, ištrinti anketą.",
+    "Form \"%n\" deleted" : "Anketa \"%n\" ištrinta",
+    "Form Expired" : "Anketa nebegalioja",
+    "Access denied" : "Prieiga negalima"
+},
+"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);");
diff --git a/l10n/lt_LT.json b/l10n/lt_LT.json
new file mode 100644
index 0000000000000000000000000000000000000000..dc786df044499088571a96941e30f5e56c42a822
--- /dev/null
+++ b/l10n/lt_LT.json
@@ -0,0 +1,53 @@
+{ "translations": {
+    "Do you really want to delete this new form?" : "Ar tikrai norite ištrinti šią naują anketą?",
+    "Forms" : "Anketos",
+    "Forms App - New Activity" : "AnketĹł programÄ—lÄ— - Nauja veikla",
+    "{user} participated in the form \"{title}\"" : "{user} dalyvavo anketoje, pavadinimu \"{title}\"",
+    "Go to form" : "Pereiti ÄŻ anketÄ…",
+    "Expired" : "Nebegalioja",
+    "Expires %n" : "Baigia galioti %n",
+    "Anonymous form" : "AnoniminÄ— anketa",
+    "Group" : "GrupÄ—",
+    "Title" : "Pavadinimas",
+    "Access" : "Prieiga",
+    "Owner" : "Savininkas",
+    "Created" : "Sukurta",
+    "Expires" : "Baigia galioti",
+    "View results" : "Rodyti rezultatus",
+    "Public access" : "Viešoji prieiga",
+    "Only shared" : "Tik tie, su kuo bendrinama",
+    "Registered users only" : "Tik registruoti naudotojai",
+    "Hidden form" : "PaslÄ—pta anketa",
+    "never" : "niekada",
+    "Link copied to clipboard" : "Nuoroda nukopijuota į iškarpinę",
+    "Error, while copying link to clipboard" : "Klaida kopijuojant nuorodą į iškarpinę",
+    "Add Answer" : "PridÄ—ti atsakymÄ…",
+    "Share with" : "Bendrinti su",
+    "Form description" : "Anketos aprašas",
+    "Description" : "Aprašas",
+    "Add Question" : "PridÄ—ti klausimÄ…",
+    "Configuration" : "Konfigūracija",
+    "Configuration is locked. Changing options may result in unwanted behaviour, but you can unlock it anyway." : "Konfigūracija yra užrakinta. Pakeitus parinktis gali atsirasti nepageidaujama elgsena, tačiau vis tiek galite atrakinti konfigūraciją.",
+    "Unlock configuration " : "Atrakinti konfigūraciją",
+    "Form configurations" : "Anketos konfigūracijos",
+    "Name of user or group" : "Naudotojo vardas arba grupÄ—s pavadinimas",
+    "Create new form" : "Sukurti naujÄ… anketÄ…",
+    "Done" : "Atlikta",
+    "Expiration date" : "Galiojimo pabaigos data",
+    "Click to add a date" : "SpustelÄ—kite norÄ—dami pridÄ—ti datÄ…",
+    "Select a question type!" : "Pasirinkite klausimo tipÄ…!",
+    "Title must not be empty!" : "Pavadinimas negali būti tuščias!",
+    "Must have at least one question!" : "Privalo būti bent vienas klausimas!",
+    "Need to pick an expiration date!" : "Reikia pasirinkti galiojimo pabaigos datÄ…!",
+    "%n successfully saved" : "%n sėkmingai įrašyta",
+    "Clone of %n" : "%n dublikatas",
+    "New" : "Nauja",
+    "Delete form" : "Ištrinti anketą",
+    "Do you want to delete \"%n\"?" : "Ar norite ištrinti \"%n\"?",
+    "No, keep form." : "Ne, palikti anketÄ….",
+    "Yes, delete form." : "Taip, ištrinti anketą.",
+    "Form \"%n\" deleted" : "Anketa \"%n\" ištrinta",
+    "Form Expired" : "Anketa nebegalioja",
+    "Access denied" : "Prieiga negalima"
+},"pluralForm" :"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);"
+}
\ No newline at end of file
diff --git a/l10n/lv.js b/l10n/lv.js
new file mode 100644
index 0000000000000000000000000000000000000000..a5534d499fc3bff7d5d6dab13775a9723b1631d3
--- /dev/null
+++ b/l10n/lv.js
@@ -0,0 +1,17 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Group" : "Grupa",
+    "Title" : "Amats",
+    "Owner" : "Īpašnieks",
+    "Created" : "Izveidots",
+    "Expires" : "Beidzas",
+    "Public access" : "Publiska piekÄĽuve",
+    "never" : "nekad",
+    "Description" : "Apraksts",
+    "Configuration" : "Konfigurācija",
+    "Done" : "Pabeigts",
+    "Expiration date" : "Termiņa datums",
+    "New" : "Jauns"
+},
+"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);");
diff --git a/l10n/lv.json b/l10n/lv.json
new file mode 100644
index 0000000000000000000000000000000000000000..2d1920372961b0b48176b81ccc036e72c975c3c3
--- /dev/null
+++ b/l10n/lv.json
@@ -0,0 +1,15 @@
+{ "translations": {
+    "Group" : "Grupa",
+    "Title" : "Amats",
+    "Owner" : "Īpašnieks",
+    "Created" : "Izveidots",
+    "Expires" : "Beidzas",
+    "Public access" : "Publiska piekÄĽuve",
+    "never" : "nekad",
+    "Description" : "Apraksts",
+    "Configuration" : "Konfigurācija",
+    "Done" : "Pabeigts",
+    "Expiration date" : "Termiņa datums",
+    "New" : "Jauns"
+},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"
+}
\ No newline at end of file
diff --git a/l10n/mk.js b/l10n/mk.js
new file mode 100644
index 0000000000000000000000000000000000000000..fadda70c5a04490a52dacc201552174590419974
--- /dev/null
+++ b/l10n/mk.js
@@ -0,0 +1,14 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Group" : "Група",
+    "Title" : "Наслов",
+    "Owner" : "Сопственик",
+    "never" : "никогаш",
+    "Description" : "Опис",
+    "Configuration" : "Конфигурација",
+    "Done" : "Готово",
+    "Expiration date" : "Рок на траење",
+    "New" : "Ново"
+},
+"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;");
diff --git a/l10n/mk.json b/l10n/mk.json
new file mode 100644
index 0000000000000000000000000000000000000000..1af7870475e547397f5b1b757757ee0aa63a8090
--- /dev/null
+++ b/l10n/mk.json
@@ -0,0 +1,12 @@
+{ "translations": {
+    "Group" : "Група",
+    "Title" : "Наслов",
+    "Owner" : "Сопственик",
+    "never" : "никогаш",
+    "Description" : "Опис",
+    "Configuration" : "Конфигурација",
+    "Done" : "Готово",
+    "Expiration date" : "Рок на траење",
+    "New" : "Ново"
+},"pluralForm" :"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;"
+}
\ No newline at end of file
diff --git a/l10n/mn.js b/l10n/mn.js
new file mode 100644
index 0000000000000000000000000000000000000000..30e253cf4d1fb4f6d4452756ab69051d3eeb24cc
--- /dev/null
+++ b/l10n/mn.js
@@ -0,0 +1,14 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Group" : "Бүлэг",
+    "Title" : "Цол/Албан тушаал",
+    "Owner" : "Эзэмшигч",
+    "Created" : "Үүсгэсэн",
+    "Public access" : "Нийтийн хандах эрх",
+    "never" : "хэзээ ч үгүй",
+    "Description" : "Тодорхойлолт",
+    "Done" : "Хийсэн",
+    "New" : "Шинэ"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/l10n/mn.json b/l10n/mn.json
new file mode 100644
index 0000000000000000000000000000000000000000..860fb73189632aa9024321d6fb9fe87e2b993d70
--- /dev/null
+++ b/l10n/mn.json
@@ -0,0 +1,12 @@
+{ "translations": {
+    "Group" : "Бүлэг",
+    "Title" : "Цол/Албан тушаал",
+    "Owner" : "Эзэмшигч",
+    "Created" : "Үүсгэсэн",
+    "Public access" : "Нийтийн хандах эрх",
+    "never" : "хэзээ ч үгүй",
+    "Description" : "Тодорхойлолт",
+    "Done" : "Хийсэн",
+    "New" : "Шинэ"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+}
\ No newline at end of file
diff --git a/l10n/ms_MY.js b/l10n/ms_MY.js
new file mode 100644
index 0000000000000000000000000000000000000000..5b3a3e7d2bcacd2b2350cfee7b7114e6ebdd96f9
--- /dev/null
+++ b/l10n/ms_MY.js
@@ -0,0 +1,12 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Group" : "Group",
+    "Title" : "Judul",
+    "Owner" : "Owner",
+    "never" : "jangan",
+    "Description" : "Keterangan",
+    "Done" : "Done",
+    "New" : "Baru"
+},
+"nplurals=1; plural=0;");
diff --git a/l10n/ms_MY.json b/l10n/ms_MY.json
new file mode 100644
index 0000000000000000000000000000000000000000..09404d3037cbf40331718b0c17661f6103e6ad43
--- /dev/null
+++ b/l10n/ms_MY.json
@@ -0,0 +1,10 @@
+{ "translations": {
+    "Group" : "Group",
+    "Title" : "Judul",
+    "Owner" : "Owner",
+    "never" : "jangan",
+    "Description" : "Keterangan",
+    "Done" : "Done",
+    "New" : "Baru"
+},"pluralForm" :"nplurals=1; plural=0;"
+}
\ No newline at end of file
diff --git a/l10n/nb.js b/l10n/nb.js
new file mode 100644
index 0000000000000000000000000000000000000000..6261f321ef6980fc476b4436592f54382ea5080b
--- /dev/null
+++ b/l10n/nb.js
@@ -0,0 +1,24 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Expired" : "Utløpt",
+    "Expires never" : "Utløper ikke",
+    "Usernames hidden to Owner" : "Brukernavn skjult for eieren",
+    "Usernames visible to Owner" : "Brukernavn synlige for eieren",
+    "Group" : "Gruppe",
+    "Title" : "Tittel",
+    "Access" : "Tilgang",
+    "Owner" : "Eier",
+    "Created" : "Opprettet",
+    "Expires" : "Utløper",
+    "Public access" : "Offentlig tilgang",
+    "Registered users only" : "Kun for registrerte brukere",
+    "never" : "aldri",
+    "Description" : "Beskrivelse",
+    "Configuration" : "Oppsett",
+    "Done" : "Ferdig",
+    "Expiration date" : "Utløpsdato",
+    "New" : "Ny",
+    "Access denied" : "Tilgang nektet"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/l10n/nb.json b/l10n/nb.json
new file mode 100644
index 0000000000000000000000000000000000000000..9a8befa9e4e93c580e09e423751d379c7951f0ab
--- /dev/null
+++ b/l10n/nb.json
@@ -0,0 +1,22 @@
+{ "translations": {
+    "Expired" : "Utløpt",
+    "Expires never" : "Utløper ikke",
+    "Usernames hidden to Owner" : "Brukernavn skjult for eieren",
+    "Usernames visible to Owner" : "Brukernavn synlige for eieren",
+    "Group" : "Gruppe",
+    "Title" : "Tittel",
+    "Access" : "Tilgang",
+    "Owner" : "Eier",
+    "Created" : "Opprettet",
+    "Expires" : "Utløper",
+    "Public access" : "Offentlig tilgang",
+    "Registered users only" : "Kun for registrerte brukere",
+    "never" : "aldri",
+    "Description" : "Beskrivelse",
+    "Configuration" : "Oppsett",
+    "Done" : "Ferdig",
+    "Expiration date" : "Utløpsdato",
+    "New" : "Ny",
+    "Access denied" : "Tilgang nektet"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+}
\ No newline at end of file
diff --git a/l10n/nl.js b/l10n/nl.js
index 28736351af24cad0969fdd5a1f88032f890de376..d715caf578c8fb64818bf2e232af59e49255b1df 100644
--- a/l10n/nl.js
+++ b/l10n/nl.js
@@ -20,7 +20,7 @@ OC.L10N.register(
     "Owner" : "Eigenaar",
     "Created" : "Gemaakt",
     "Expires" : "Verloopt",
-    "View Results" : "Toon resultaten",
+    "View results" : "Bekijk resultaten",
     "Public access" : "Openbare toegang",
     "Only shared" : "Alleen gedeeld",
     "Registered users only" : "Alleen geregistreerde gebruikers",
@@ -40,6 +40,7 @@ OC.L10N.register(
     "Configuration is locked. Changing options may result in unwanted behaviour, but you can unlock it anyway." : "Configuratie is beschermd. Wijzigen van de opties kan leiden tot ongewenst gedrag, maar je kunt de configuratie hoe dan ook vrijgeven.",
     "Unlock configuration " : "Vrijgeven configuratie",
     "Form configurations" : "Formulierconfiguratie",
+    "Only allow one submission per user" : "Sta slechts Ă©Ă©n inzending per gebruiker toe",
     "Name of user or group" : "Naam van gebruiker of groep",
     "Create new form" : "Creëren nieuw formulier",
     "Writing form" : "Wegschrijven formulier",
diff --git a/l10n/nl.json b/l10n/nl.json
index d65b16d0ca49448ffc216621deec6fe92a99c7e4..6991ae3bb65da3c4dd5103063d46698262845fb7 100644
--- a/l10n/nl.json
+++ b/l10n/nl.json
@@ -18,7 +18,7 @@
     "Owner" : "Eigenaar",
     "Created" : "Gemaakt",
     "Expires" : "Verloopt",
-    "View Results" : "Toon resultaten",
+    "View results" : "Bekijk resultaten",
     "Public access" : "Openbare toegang",
     "Only shared" : "Alleen gedeeld",
     "Registered users only" : "Alleen geregistreerde gebruikers",
@@ -38,6 +38,7 @@
     "Configuration is locked. Changing options may result in unwanted behaviour, but you can unlock it anyway." : "Configuratie is beschermd. Wijzigen van de opties kan leiden tot ongewenst gedrag, maar je kunt de configuratie hoe dan ook vrijgeven.",
     "Unlock configuration " : "Vrijgeven configuratie",
     "Form configurations" : "Formulierconfiguratie",
+    "Only allow one submission per user" : "Sta slechts Ă©Ă©n inzending per gebruiker toe",
     "Name of user or group" : "Naam van gebruiker of groep",
     "Create new form" : "Creëren nieuw formulier",
     "Writing form" : "Wegschrijven formulier",
diff --git a/l10n/nn_NO.js b/l10n/nn_NO.js
new file mode 100644
index 0000000000000000000000000000000000000000..56d662be51ba5164d5311018abce5f53521c7b71
--- /dev/null
+++ b/l10n/nn_NO.js
@@ -0,0 +1,15 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Group" : "Gruppe",
+    "Title" : "Tittel",
+    "Owner" : "Owner",
+    "Created" : "Lagd",
+    "never" : "aldri",
+    "Description" : "Skildring",
+    "Configuration" : "Innstillingar",
+    "Done" : "Ferdig",
+    "Expiration date" : "Utløpsdato",
+    "New" : "Ny"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/l10n/nn_NO.json b/l10n/nn_NO.json
new file mode 100644
index 0000000000000000000000000000000000000000..377c947f057637efa9d438f474f10bf1542668e1
--- /dev/null
+++ b/l10n/nn_NO.json
@@ -0,0 +1,13 @@
+{ "translations": {
+    "Group" : "Gruppe",
+    "Title" : "Tittel",
+    "Owner" : "Owner",
+    "Created" : "Lagd",
+    "never" : "aldri",
+    "Description" : "Skildring",
+    "Configuration" : "Innstillingar",
+    "Done" : "Ferdig",
+    "Expiration date" : "Utløpsdato",
+    "New" : "Ny"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+}
\ No newline at end of file
diff --git a/l10n/oc.js b/l10n/oc.js
new file mode 100644
index 0000000000000000000000000000000000000000..f4b6595172704417a5631902d68974d75ccb042c
--- /dev/null
+++ b/l10n/oc.js
@@ -0,0 +1,13 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Group" : "Grop",
+    "Title" : "TĂ­tol",
+    "Owner" : "Owner",
+    "never" : "pas jamai",
+    "Description" : "Descripcion",
+    "Done" : "Done",
+    "Expiration date" : "Data d'expiracion",
+    "New" : "Novèl"
+},
+"nplurals=2; plural=(n > 1);");
diff --git a/l10n/oc.json b/l10n/oc.json
new file mode 100644
index 0000000000000000000000000000000000000000..58450018c83b001f38eb179c548636cb2abaa462
--- /dev/null
+++ b/l10n/oc.json
@@ -0,0 +1,11 @@
+{ "translations": {
+    "Group" : "Grop",
+    "Title" : "TĂ­tol",
+    "Owner" : "Owner",
+    "never" : "pas jamai",
+    "Description" : "Descripcion",
+    "Done" : "Done",
+    "Expiration date" : "Data d'expiracion",
+    "New" : "Novèl"
+},"pluralForm" :"nplurals=2; plural=(n > 1);"
+}
\ No newline at end of file
diff --git a/l10n/pl.js b/l10n/pl.js
index 7f3e2c55b6d3b7c956fc0121922e8c0a231e598f..d77010cc5e6ff6cb5e64d6d100555bfb085db82f 100644
--- a/l10n/pl.js
+++ b/l10n/pl.js
@@ -20,15 +20,15 @@ OC.L10N.register(
     "Owner" : "Właściciel",
     "Created" : "Utworzono",
     "Expires" : "Wygasa",
-    "View Results" : "PokaĹĽ wyniki",
+    "View results" : "PokaĹĽ wyniki",
     "Public access" : "Dostęp publiczny",
     "Only shared" : "Tylko udostępnione",
     "Registered users only" : "Tylko dla zarejestrowanych uĹĽytkownikĂłw",
     "Hidden form" : "Niewidoczny formularz",
     "Text form" : "Formularz tekstowy",
     "never" : "nigdy",
-    "Link copied to clipboard" : "Odnośnik skopiowany do schowka",
-    "Error, while copying link to clipboard" : "Błąd podczas kopiowania odnośnika do schowka",
+    "Link copied to clipboard" : "Link skopiowany do schowka",
+    "Error, while copying link to clipboard" : "BĹ‚Ä…d podczas kopiowania linku do schowka",
     "Add Answer" : "Dodaj odpowiedĹş",
     "Share with" : "Udostępnij dla",
     "Form description" : "Opis formularza",
@@ -40,6 +40,7 @@ OC.L10N.register(
     "Configuration is locked. Changing options may result in unwanted behaviour, but you can unlock it anyway." : "Konfiguracja jest zablokowana. Zmiana opcji może spowodować niepożądane efekty. Możesz ją odblokować.",
     "Unlock configuration " : "Odblokuj konfiguracjÄ™",
     "Form configurations" : "Ustawienia formularza",
+    "Only allow one submission per user" : "Zezwól tylko na jedno przysłanie na użytkownika",
     "Name of user or group" : "Nazwa uĹĽytkownika lub grupy",
     "Create new form" : "UtwĂłrz nowy formularz",
     "Writing form" : "Pisanie formularza",
diff --git a/l10n/pl.json b/l10n/pl.json
index 8aec947d97e95bb7f2b3917524884fbc642af7ce..1a82090ca7c93c48d8e7e4893ec4ea60cefb4463 100644
--- a/l10n/pl.json
+++ b/l10n/pl.json
@@ -18,15 +18,15 @@
     "Owner" : "Właściciel",
     "Created" : "Utworzono",
     "Expires" : "Wygasa",
-    "View Results" : "PokaĹĽ wyniki",
+    "View results" : "PokaĹĽ wyniki",
     "Public access" : "Dostęp publiczny",
     "Only shared" : "Tylko udostępnione",
     "Registered users only" : "Tylko dla zarejestrowanych uĹĽytkownikĂłw",
     "Hidden form" : "Niewidoczny formularz",
     "Text form" : "Formularz tekstowy",
     "never" : "nigdy",
-    "Link copied to clipboard" : "Odnośnik skopiowany do schowka",
-    "Error, while copying link to clipboard" : "Błąd podczas kopiowania odnośnika do schowka",
+    "Link copied to clipboard" : "Link skopiowany do schowka",
+    "Error, while copying link to clipboard" : "BĹ‚Ä…d podczas kopiowania linku do schowka",
     "Add Answer" : "Dodaj odpowiedĹş",
     "Share with" : "Udostępnij dla",
     "Form description" : "Opis formularza",
@@ -38,6 +38,7 @@
     "Configuration is locked. Changing options may result in unwanted behaviour, but you can unlock it anyway." : "Konfiguracja jest zablokowana. Zmiana opcji może spowodować niepożądane efekty. Możesz ją odblokować.",
     "Unlock configuration " : "Odblokuj konfiguracjÄ™",
     "Form configurations" : "Ustawienia formularza",
+    "Only allow one submission per user" : "Zezwól tylko na jedno przysłanie na użytkownika",
     "Name of user or group" : "Nazwa uĹĽytkownika lub grupy",
     "Create new form" : "UtwĂłrz nowy formularz",
     "Writing form" : "Pisanie formularza",
diff --git a/l10n/pt_BR.js b/l10n/pt_BR.js
index 2d15b155059f66baa3f9829a9f9e96d639ecca82..07711efa8caa0f7b2d7796bce95657020fb539b7 100644
--- a/l10n/pt_BR.js
+++ b/l10n/pt_BR.js
@@ -20,7 +20,7 @@ OC.L10N.register(
     "Owner" : "Proprietário",
     "Created" : "Criado",
     "Expires" : "Expira",
-    "View Results" : "Ver Resultados",
+    "View results" : "Ver resultados",
     "Public access" : "Acesso pĂşblico",
     "Only shared" : "Apenas para compartilhamento",
     "Registered users only" : "Apenas para usuários registrados",
@@ -40,6 +40,7 @@ OC.L10N.register(
     "Configuration is locked. Changing options may result in unwanted behaviour, but you can unlock it anyway." : "A configuração está bloqueada. A alteração de opções pode resultar em comportamento inesperado, mas você pode pode desbloqueá-la mesmo assim.",
     "Unlock configuration " : "Desbloquear a configuração",
     "Form configurations" : "Configurações do formulário",
+    "Only allow one submission per user" : "Permitir somente um envio por usuário",
     "Name of user or group" : "Nome do usuário ou grupo",
     "Create new form" : "Criar novo formulário",
     "Writing form" : "Escrevendo formulário",
diff --git a/l10n/pt_BR.json b/l10n/pt_BR.json
index 40106126005e6253c4d03af2af4a245f97564b08..90674eb69ac179bd1eb08e670435687011aca019 100644
--- a/l10n/pt_BR.json
+++ b/l10n/pt_BR.json
@@ -18,7 +18,7 @@
     "Owner" : "Proprietário",
     "Created" : "Criado",
     "Expires" : "Expira",
-    "View Results" : "Ver Resultados",
+    "View results" : "Ver resultados",
     "Public access" : "Acesso pĂşblico",
     "Only shared" : "Apenas para compartilhamento",
     "Registered users only" : "Apenas para usuários registrados",
@@ -38,6 +38,7 @@
     "Configuration is locked. Changing options may result in unwanted behaviour, but you can unlock it anyway." : "A configuração está bloqueada. A alteração de opções pode resultar em comportamento inesperado, mas você pode pode desbloqueá-la mesmo assim.",
     "Unlock configuration " : "Desbloquear a configuração",
     "Form configurations" : "Configurações do formulário",
+    "Only allow one submission per user" : "Permitir somente um envio por usuário",
     "Name of user or group" : "Nome do usuário ou grupo",
     "Create new form" : "Criar novo formulário",
     "Writing form" : "Escrevendo formulário",
diff --git a/l10n/pt_PT.js b/l10n/pt_PT.js
index a322ae1b1407b12c4afcf1e7c07285cb05ab9de1..e300c0aa2642fc263ab348c10b0585fff8e951a2 100644
--- a/l10n/pt_PT.js
+++ b/l10n/pt_PT.js
@@ -35,6 +35,10 @@ OC.L10N.register(
     "Unlock configuration " : "Desbloquear o acesso à configuração",
     "Form configurations" : "Parâmetros dos formulários",
     "Name of user or group" : "Nome do utilizador ou grupo",
-    "Create new form" : "Criar novo formulário"
+    "Create new form" : "Criar novo formulário",
+    "Done" : "ConcluĂ­do",
+    "Expiration date" : "Data de expiração",
+    "New" : "Novo",
+    "Access denied" : "Acesso proibido"
 },
 "nplurals=2; plural=(n != 1);");
diff --git a/l10n/pt_PT.json b/l10n/pt_PT.json
index f77db2e92d2093bbd33f88edcbf2eaac4b90fe12..81155af7465073933e2ee34b90b943b1464acb9a 100644
--- a/l10n/pt_PT.json
+++ b/l10n/pt_PT.json
@@ -33,6 +33,10 @@
     "Unlock configuration " : "Desbloquear o acesso à configuração",
     "Form configurations" : "Parâmetros dos formulários",
     "Name of user or group" : "Nome do utilizador ou grupo",
-    "Create new form" : "Criar novo formulário"
+    "Create new form" : "Criar novo formulário",
+    "Done" : "ConcluĂ­do",
+    "Expiration date" : "Data de expiração",
+    "New" : "Novo",
+    "Access denied" : "Acesso proibido"
 },"pluralForm" :"nplurals=2; plural=(n != 1);"
 }
\ No newline at end of file
diff --git a/l10n/ro.js b/l10n/ro.js
new file mode 100644
index 0000000000000000000000000000000000000000..39814ad4bfb78f364b9b2d045401c26749e809cc
--- /dev/null
+++ b/l10n/ro.js
@@ -0,0 +1,15 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Group" : "Grup",
+    "Title" : "Titlu",
+    "Owner" : "Proprietar",
+    "Public access" : "Access public",
+    "never" : "niciodată",
+    "Description" : "Descriere",
+    "Configuration" : "Configurație",
+    "Done" : "Realizat",
+    "Expiration date" : "Data expirării",
+    "New" : "Nou"
+},
+"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));");
diff --git a/l10n/ro.json b/l10n/ro.json
new file mode 100644
index 0000000000000000000000000000000000000000..6a82940a3197ce3a7a07f06140060805b301fcf5
--- /dev/null
+++ b/l10n/ro.json
@@ -0,0 +1,13 @@
+{ "translations": {
+    "Group" : "Grup",
+    "Title" : "Titlu",
+    "Owner" : "Proprietar",
+    "Public access" : "Access public",
+    "never" : "niciodată",
+    "Description" : "Descriere",
+    "Configuration" : "Configurație",
+    "Done" : "Realizat",
+    "Expiration date" : "Data expirării",
+    "New" : "Nou"
+},"pluralForm" :"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));"
+}
\ No newline at end of file
diff --git a/l10n/ru.js b/l10n/ru.js
index 0b08632f83a979ee53050d42e78d4956b72350a6..4ceaa6235f5ff7c5d904ac3a696e8f8a018f5c34 100644
--- a/l10n/ru.js
+++ b/l10n/ru.js
@@ -1,10 +1,10 @@
 OC.L10N.register(
     "forms",
     {
-    "Do you really want to delete this new form?" : "Вы точно уверены, что хотите удалить эту форму?",
+    "Do you really want to delete this new form?" : "Действительно удалить эту форму?",
     "Forms" : "Формы",
-    "Forms App - New Activity" : "Приложение Формы  — Новые события",
-    "{user} participated in the form \"{title}\"" : "{user} поучавствовал в форме \"{title}\"",
+    "Forms App - New Activity" : "Приложение Формы — Новые события",
+    "{user} participated in the form \"{title}\"" : "{user} принял(а) участие в форме «{title}»",
     "Go to form" : "Перейти к форме",
     "A forms app, similar to Google Forms." : "Приложени форм, похожее на Google Forms.",
     "A forms app, similar to Google Forms with the possibility to restrict access (members, certain groups/users, and public)." : "Приложение форм, похожее на Google Forms с возможностью ограничения доступа.",
@@ -20,6 +20,7 @@ OC.L10N.register(
     "Owner" : "Владелец",
     "Created" : "Создана",
     "Expires" : "Заканивается",
+    "View results" : "Просмотр результатов",
     "Public access" : "Общедоступная",
     "Only shared" : "Только по приглашению",
     "Registered users only" : "Только для зарегистрированных пользователей",
@@ -28,30 +29,30 @@ OC.L10N.register(
     "never" : "никогда",
     "Link copied to clipboard" : "Ссылка скопирована в буфер обмена",
     "Error, while copying link to clipboard" : "Ошибка при копировании ссылки в буфер обмена",
-    "Add Answer" : "Добавить Ответ",
+    "Add Answer" : "Добавить вариант ответа",
     "Share with" : "Поделиться с",
     "Form description" : "Описание формы",
     "Description" : "Описание",
-    "Make a Form" : "Создать Форму",
-    "Add Question" : "Добавить Вопрос",
+    "Make a Form" : "Создать форму",
+    "Add Question" : "Добавить вопрос",
     "You are editing in admin mode" : "Вы вносите изменения в режиме администратора",
-    "Configuration" : "Настройка",
-    "Configuration is locked. Changing options may result in unwanted behaviour, but you can unlock it anyway." : "Настройка заблокирована. Вы можете её разблокировать, но смена опций может привести к нежелательному поведению.",
-    "Unlock configuration " : "Разблокировать настройку",
-    "Form configurations" : "Настройки форм",
+    "Configuration" : "Конфигурация",
+    "Configuration is locked. Changing options may result in unwanted behaviour, but you can unlock it anyway." : "Конфигурация заблокирована. Её возможно разблокировать, но изменение параметров может привести к нежелательному поведению.",
+    "Unlock configuration " : "Разблокировать конфигурацию",
+    "Form configurations" : "Конфигурация форм",
     "Name of user or group" : "Имя пользователя или группы",
     "Create new form" : "Создать новую форму",
     "Update form" : "Обновить форму",
     "Done" : "Готово",
     "Expiration date" : "Дата окончания",
     "Click to add a date" : "Нажмите, чтобы добавить дату",
-    "Select a question type!" : "Выберите тип вопроса",
-    "Cannot have the same question!" : "Нельзя добавлять одинаковые вопросы!",
-    "Two answers cannot be the same!" : "Два ответа не могут быть одинаковыми!",
-    "Title must not be empty!" : "Заголовок не может быть пустым!",
-    "Must have at least one question!" : "Должен быть хотя бы один вопрос!",
-    "All questions need answers!" : "Все вопросы должны быть с ответом!",
-    "Need to pick an expiration date!" : "Необходимо выбрать дату окончания!",
+    "Select a question type!" : "Необходимо выбрать тип вопроса.",
+    "Cannot have the same question!" : "Нельзя добавлять одинаковые вопросы.",
+    "Two answers cannot be the same!" : "Два ответа не могут быть одинаковыми.",
+    "Title must not be empty!" : "Заголовок не может быть пустым.",
+    "Must have at least one question!" : "Должен быть хотя бы один вопрос.",
+    "All questions need answers!" : "Все вопросы должны быть с ответом.",
+    "Need to pick an expiration date!" : "Необходимо выбрать дату окончания.",
     "%n successfully saved" : "%n успешно сохранена",
     "Error on saving form, see console" : "Ошибка при сохранении формы, проверьте консоль",
     "Clone of %n" : "Копия %n",
@@ -61,8 +62,8 @@ OC.L10N.register(
     "Do you want to delete \"%n\"?" : "Удалить \"%n\"?",
     "No, keep form." : "Нет, оставить форму.",
     "Yes, delete form." : "Да, удалить форму.",
-    "Form \"%n\" deleted" : "Форма \"%n\" удалена",
-    "Error while deleting Form \"%n\"" : "Ошибка при удалении формы \"%n\"",
+    "Form \"%n\" deleted" : "Форма «%n» удалена",
+    "Error while deleting Form \"%n\"" : "Ошибка при удалении формы «%n»",
     "Form Expired" : "Форма закончилась",
     "This Form has expired and is no longer taking answers." : "Эта форма закончилась и ответы больше не принимаются.",
     "Access denied" : "Доступ запрещён",
diff --git a/l10n/ru.json b/l10n/ru.json
index 8f1e7a3438c45003f62199ccbd24f1aa1e818d5a..202f4e174c0c74631622d26257e7cdd86a06f660 100644
--- a/l10n/ru.json
+++ b/l10n/ru.json
@@ -1,8 +1,8 @@
 { "translations": {
-    "Do you really want to delete this new form?" : "Вы точно уверены, что хотите удалить эту форму?",
+    "Do you really want to delete this new form?" : "Действительно удалить эту форму?",
     "Forms" : "Формы",
-    "Forms App - New Activity" : "Приложение Формы  — Новые события",
-    "{user} participated in the form \"{title}\"" : "{user} поучавствовал в форме \"{title}\"",
+    "Forms App - New Activity" : "Приложение Формы — Новые события",
+    "{user} participated in the form \"{title}\"" : "{user} принял(а) участие в форме «{title}»",
     "Go to form" : "Перейти к форме",
     "A forms app, similar to Google Forms." : "Приложени форм, похожее на Google Forms.",
     "A forms app, similar to Google Forms with the possibility to restrict access (members, certain groups/users, and public)." : "Приложение форм, похожее на Google Forms с возможностью ограничения доступа.",
@@ -18,6 +18,7 @@
     "Owner" : "Владелец",
     "Created" : "Создана",
     "Expires" : "Заканивается",
+    "View results" : "Просмотр результатов",
     "Public access" : "Общедоступная",
     "Only shared" : "Только по приглашению",
     "Registered users only" : "Только для зарегистрированных пользователей",
@@ -26,30 +27,30 @@
     "never" : "никогда",
     "Link copied to clipboard" : "Ссылка скопирована в буфер обмена",
     "Error, while copying link to clipboard" : "Ошибка при копировании ссылки в буфер обмена",
-    "Add Answer" : "Добавить Ответ",
+    "Add Answer" : "Добавить вариант ответа",
     "Share with" : "Поделиться с",
     "Form description" : "Описание формы",
     "Description" : "Описание",
-    "Make a Form" : "Создать Форму",
-    "Add Question" : "Добавить Вопрос",
+    "Make a Form" : "Создать форму",
+    "Add Question" : "Добавить вопрос",
     "You are editing in admin mode" : "Вы вносите изменения в режиме администратора",
-    "Configuration" : "Настройка",
-    "Configuration is locked. Changing options may result in unwanted behaviour, but you can unlock it anyway." : "Настройка заблокирована. Вы можете её разблокировать, но смена опций может привести к нежелательному поведению.",
-    "Unlock configuration " : "Разблокировать настройку",
-    "Form configurations" : "Настройки форм",
+    "Configuration" : "Конфигурация",
+    "Configuration is locked. Changing options may result in unwanted behaviour, but you can unlock it anyway." : "Конфигурация заблокирована. Её возможно разблокировать, но изменение параметров может привести к нежелательному поведению.",
+    "Unlock configuration " : "Разблокировать конфигурацию",
+    "Form configurations" : "Конфигурация форм",
     "Name of user or group" : "Имя пользователя или группы",
     "Create new form" : "Создать новую форму",
     "Update form" : "Обновить форму",
     "Done" : "Готово",
     "Expiration date" : "Дата окончания",
     "Click to add a date" : "Нажмите, чтобы добавить дату",
-    "Select a question type!" : "Выберите тип вопроса",
-    "Cannot have the same question!" : "Нельзя добавлять одинаковые вопросы!",
-    "Two answers cannot be the same!" : "Два ответа не могут быть одинаковыми!",
-    "Title must not be empty!" : "Заголовок не может быть пустым!",
-    "Must have at least one question!" : "Должен быть хотя бы один вопрос!",
-    "All questions need answers!" : "Все вопросы должны быть с ответом!",
-    "Need to pick an expiration date!" : "Необходимо выбрать дату окончания!",
+    "Select a question type!" : "Необходимо выбрать тип вопроса.",
+    "Cannot have the same question!" : "Нельзя добавлять одинаковые вопросы.",
+    "Two answers cannot be the same!" : "Два ответа не могут быть одинаковыми.",
+    "Title must not be empty!" : "Заголовок не может быть пустым.",
+    "Must have at least one question!" : "Должен быть хотя бы один вопрос.",
+    "All questions need answers!" : "Все вопросы должны быть с ответом.",
+    "Need to pick an expiration date!" : "Необходимо выбрать дату окончания.",
     "%n successfully saved" : "%n успешно сохранена",
     "Error on saving form, see console" : "Ошибка при сохранении формы, проверьте консоль",
     "Clone of %n" : "Копия %n",
@@ -59,8 +60,8 @@
     "Do you want to delete \"%n\"?" : "Удалить \"%n\"?",
     "No, keep form." : "Нет, оставить форму.",
     "Yes, delete form." : "Да, удалить форму.",
-    "Form \"%n\" deleted" : "Форма \"%n\" удалена",
-    "Error while deleting Form \"%n\"" : "Ошибка при удалении формы \"%n\"",
+    "Form \"%n\" deleted" : "Форма «%n» удалена",
+    "Error while deleting Form \"%n\"" : "Ошибка при удалении формы «%n»",
     "Form Expired" : "Форма закончилась",
     "This Form has expired and is no longer taking answers." : "Эта форма закончилась и ответы больше не принимаются.",
     "Access denied" : "Доступ запрещён",
diff --git a/l10n/si_LK.js b/l10n/si_LK.js
new file mode 100644
index 0000000000000000000000000000000000000000..b2b8e3de0b86109ed91344bb2f4525ded26575e1
--- /dev/null
+++ b/l10n/si_LK.js
@@ -0,0 +1,14 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Group" : "Group",
+    "Title" : "මාතෘකාව",
+    "Owner" : "Owner",
+    "never" : "කවදාවත්",
+    "Description" : "විස්තරය",
+    "Configuration" : "වින්‍යාසය",
+    "Done" : "Done",
+    "Expiration date" : "කල් ඉකුත් විමේ දිනය",
+    "New" : "නව"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/l10n/si_LK.json b/l10n/si_LK.json
new file mode 100644
index 0000000000000000000000000000000000000000..6feea6809bbe649c779e6464ec50b14dbc2580ae
--- /dev/null
+++ b/l10n/si_LK.json
@@ -0,0 +1,12 @@
+{ "translations": {
+    "Group" : "Group",
+    "Title" : "මාතෘකාව",
+    "Owner" : "Owner",
+    "never" : "කවදාවත්",
+    "Description" : "විස්තරය",
+    "Configuration" : "වින්‍යාසය",
+    "Done" : "Done",
+    "Expiration date" : "කල් ඉකුත් විමේ දිනය",
+    "New" : "නව"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+}
\ No newline at end of file
diff --git a/l10n/sk.js b/l10n/sk.js
new file mode 100644
index 0000000000000000000000000000000000000000..d091a4b8d4dc960977f05242c96ce754e80c6a8f
--- /dev/null
+++ b/l10n/sk.js
@@ -0,0 +1,20 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Group" : "Skupina",
+    "Title" : "Názov",
+    "Access" : "PrĂ­stup",
+    "Owner" : "MajiteÄľ",
+    "Created" : "Vytvorené",
+    "Expires" : "Vyprší",
+    "Public access" : "VerejnĂ˝ prĂ­stup",
+    "Registered users only" : "Len zaregistrovaní používatelia",
+    "never" : "nikdy",
+    "Description" : "Popis",
+    "Configuration" : "Nastavenia",
+    "Done" : "Hotové",
+    "Expiration date" : "Dátum expirácie",
+    "New" : "NovĂ˝",
+    "Access denied" : "PrĂ­stup zamietnutĂ˝"
+},
+"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);");
diff --git a/l10n/sk.json b/l10n/sk.json
new file mode 100644
index 0000000000000000000000000000000000000000..93d3ca313a1cb73e6f67e20ca708f4c131c58fa3
--- /dev/null
+++ b/l10n/sk.json
@@ -0,0 +1,18 @@
+{ "translations": {
+    "Group" : "Skupina",
+    "Title" : "Názov",
+    "Access" : "PrĂ­stup",
+    "Owner" : "MajiteÄľ",
+    "Created" : "Vytvorené",
+    "Expires" : "Vyprší",
+    "Public access" : "VerejnĂ˝ prĂ­stup",
+    "Registered users only" : "Len zaregistrovaní používatelia",
+    "never" : "nikdy",
+    "Description" : "Popis",
+    "Configuration" : "Nastavenia",
+    "Done" : "Hotové",
+    "Expiration date" : "Dátum expirácie",
+    "New" : "NovĂ˝",
+    "Access denied" : "PrĂ­stup zamietnutĂ˝"
+},"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);"
+}
\ No newline at end of file
diff --git a/l10n/sl.js b/l10n/sl.js
new file mode 100644
index 0000000000000000000000000000000000000000..b7157263dafc64bd9f8ceaa8b04f2cd29ec31764
--- /dev/null
+++ b/l10n/sl.js
@@ -0,0 +1,66 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Do you really want to delete this new form?" : "Ali ste prepričani, da želite izbrisati ta vprašalnik?",
+    "Forms" : "Vprašalniki",
+    "Expired" : "Poteklo",
+    "Expires %n" : "PoteÄŤe %n",
+    "Expires never" : "Ne poteÄŤe",
+    "Usernames hidden to Owner" : "Uporabniška imena so skrita tudi lastniku",
+    "Usernames visible to Owner" : "Uporabniška imena so vidna lastniku",
+    "Group" : "Skupina",
+    "Title" : "Naslov",
+    "Access" : "Dostop",
+    "Owner" : "Lastnik",
+    "Created" : "Ustvarjeno",
+    "Expires" : "PoteÄŤe",
+    "View results" : "Rezultati",
+    "Public access" : "Javni dostop",
+    "Only shared" : "Le objavljeno",
+    "Registered users only" : "Le prijavljeni uporabniki",
+    "Hidden form" : "Skrita anketa",
+    "Text form" : "Besedilna anketa",
+    "never" : "nikoli",
+    "Link copied to clipboard" : "Povezava je kopirana v odložišče",
+    "Error, while copying link to clipboard" : "Prišlo je do napake med kopiranjem povezave v odložišče",
+    "Add Answer" : "Dodaj odgovor",
+    "Share with" : "OmogoÄŤi souporabo",
+    "Form description" : "Opis vprašalnika",
+    "Description" : "Opis",
+    "Make a Form" : "Ustvari vprašalnik",
+    "Add Question" : "Dodaj vprašanje",
+    "You are editing in admin mode" : "Urejanje poteka v skrbniškem načinu",
+    "Configuration" : "Nastavitve",
+    "Configuration is locked. Changing options may result in unwanted behaviour, but you can unlock it anyway." : "Nastavitve so zaklenjene. Spreminjanje moĹľnosti lahko vpliva na nepriÄŤakovano delovanje ankete, seveda pa lahko to vseeno storite!",
+    "Unlock configuration " : "Odkleni nastavitve",
+    "Form configurations" : "Nastavitve vprašalnika",
+    "Name of user or group" : "Ime uporabnika oziroma skupine",
+    "Create new form" : "Ustvari nov vprašalnik",
+    "Writing form" : "Zapisovanje vprašalnika",
+    "Update form" : "Posodobi vprašalnik",
+    "Done" : "KonÄŤano",
+    "Expiration date" : "Datum preteka",
+    "Click to add a date" : "Kliknite za dodajanje datuma",
+    "Select a question type!" : "Izbor vrste vprašanja",
+    "Cannot have the same question!" : "Ni mogoče vpisati enakega vprašanja!",
+    "Two answers cannot be the same!" : "Dva odgovora ne smeta biti enaka!",
+    "Title must not be empty!" : "Polje naslova ne sme biti prazno!",
+    "Must have at least one question!" : "Vpisati je treba vsaj eno vprašanje!",
+    "All questions need answers!" : "Vsa vprašanja zahtevajo odziv!",
+    "%n successfully saved" : "Anketa %s je uspešno shranjena",
+    "Clone of %n" : "Klon %n",
+    "New" : "Novo",
+    "Click here to add a form" : "Kliknite za dodajanje novega vprašalnika",
+    "Delete form" : "Izbriši vprašalnik",
+    "Do you want to delete \"%n\"?" : "Ali res želite izbrisati vprašalnik » %n «",
+    "No, keep form." : "Ne, ohrani vprašalnik",
+    "Yes, delete form." : "Da, izbriši vprašalnik",
+    "Form \"%n\" deleted" : "Vprašalnik » %n « je izbrisan",
+    "Error while deleting Form \"%n\"" : "Prišlo je do napake med brisanjem vprašalnika » %n «",
+    "Form Expired" : "Vprašalnik je potekel",
+    "Access denied" : "Dostop je zavrnjen",
+    "You are not allowed to view this form or the form does not exist." : "Za ogled tega vprašalnika nimate ustreznih dovoljen, ali pa ta ne obstaja.",
+    "You are not allowed to edit this form or the form does not exist." : "Za urejanje tega vprašalnika nimate ustreznih dovoljen, ali pa ta ne obstaja.",
+    "You are either not allowed to delete this form or it doesn't exist." : "Za brisanje tega vprašalnika nimate ustreznih dovoljen, ali pa ta ne obstaja."
+},
+"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);");
diff --git a/l10n/sl.json b/l10n/sl.json
new file mode 100644
index 0000000000000000000000000000000000000000..6fb301a1385a7c01da718ea8cbb41a5311812473
--- /dev/null
+++ b/l10n/sl.json
@@ -0,0 +1,64 @@
+{ "translations": {
+    "Do you really want to delete this new form?" : "Ali ste prepričani, da želite izbrisati ta vprašalnik?",
+    "Forms" : "Vprašalniki",
+    "Expired" : "Poteklo",
+    "Expires %n" : "PoteÄŤe %n",
+    "Expires never" : "Ne poteÄŤe",
+    "Usernames hidden to Owner" : "Uporabniška imena so skrita tudi lastniku",
+    "Usernames visible to Owner" : "Uporabniška imena so vidna lastniku",
+    "Group" : "Skupina",
+    "Title" : "Naslov",
+    "Access" : "Dostop",
+    "Owner" : "Lastnik",
+    "Created" : "Ustvarjeno",
+    "Expires" : "PoteÄŤe",
+    "View results" : "Rezultati",
+    "Public access" : "Javni dostop",
+    "Only shared" : "Le objavljeno",
+    "Registered users only" : "Le prijavljeni uporabniki",
+    "Hidden form" : "Skrita anketa",
+    "Text form" : "Besedilna anketa",
+    "never" : "nikoli",
+    "Link copied to clipboard" : "Povezava je kopirana v odložišče",
+    "Error, while copying link to clipboard" : "Prišlo je do napake med kopiranjem povezave v odložišče",
+    "Add Answer" : "Dodaj odgovor",
+    "Share with" : "OmogoÄŤi souporabo",
+    "Form description" : "Opis vprašalnika",
+    "Description" : "Opis",
+    "Make a Form" : "Ustvari vprašalnik",
+    "Add Question" : "Dodaj vprašanje",
+    "You are editing in admin mode" : "Urejanje poteka v skrbniškem načinu",
+    "Configuration" : "Nastavitve",
+    "Configuration is locked. Changing options may result in unwanted behaviour, but you can unlock it anyway." : "Nastavitve so zaklenjene. Spreminjanje moĹľnosti lahko vpliva na nepriÄŤakovano delovanje ankete, seveda pa lahko to vseeno storite!",
+    "Unlock configuration " : "Odkleni nastavitve",
+    "Form configurations" : "Nastavitve vprašalnika",
+    "Name of user or group" : "Ime uporabnika oziroma skupine",
+    "Create new form" : "Ustvari nov vprašalnik",
+    "Writing form" : "Zapisovanje vprašalnika",
+    "Update form" : "Posodobi vprašalnik",
+    "Done" : "KonÄŤano",
+    "Expiration date" : "Datum preteka",
+    "Click to add a date" : "Kliknite za dodajanje datuma",
+    "Select a question type!" : "Izbor vrste vprašanja",
+    "Cannot have the same question!" : "Ni mogoče vpisati enakega vprašanja!",
+    "Two answers cannot be the same!" : "Dva odgovora ne smeta biti enaka!",
+    "Title must not be empty!" : "Polje naslova ne sme biti prazno!",
+    "Must have at least one question!" : "Vpisati je treba vsaj eno vprašanje!",
+    "All questions need answers!" : "Vsa vprašanja zahtevajo odziv!",
+    "%n successfully saved" : "Anketa %s je uspešno shranjena",
+    "Clone of %n" : "Klon %n",
+    "New" : "Novo",
+    "Click here to add a form" : "Kliknite za dodajanje novega vprašalnika",
+    "Delete form" : "Izbriši vprašalnik",
+    "Do you want to delete \"%n\"?" : "Ali res želite izbrisati vprašalnik » %n «",
+    "No, keep form." : "Ne, ohrani vprašalnik",
+    "Yes, delete form." : "Da, izbriši vprašalnik",
+    "Form \"%n\" deleted" : "Vprašalnik » %n « je izbrisan",
+    "Error while deleting Form \"%n\"" : "Prišlo je do napake med brisanjem vprašalnika » %n «",
+    "Form Expired" : "Vprašalnik je potekel",
+    "Access denied" : "Dostop je zavrnjen",
+    "You are not allowed to view this form or the form does not exist." : "Za ogled tega vprašalnika nimate ustreznih dovoljen, ali pa ta ne obstaja.",
+    "You are not allowed to edit this form or the form does not exist." : "Za urejanje tega vprašalnika nimate ustreznih dovoljen, ali pa ta ne obstaja.",
+    "You are either not allowed to delete this form or it doesn't exist." : "Za brisanje tega vprašalnika nimate ustreznih dovoljen, ali pa ta ne obstaja."
+},"pluralForm" :"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"
+}
\ No newline at end of file
diff --git a/l10n/sq.js b/l10n/sq.js
new file mode 100644
index 0000000000000000000000000000000000000000..16ff3e49ade120e2544828ae72312629fe758a3d
--- /dev/null
+++ b/l10n/sq.js
@@ -0,0 +1,16 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Group" : "Grup",
+    "Title" : "Titulli",
+    "Owner" : "Zotëruesi",
+    "Created" : "U krijua",
+    "Public access" : "Akses publik",
+    "never" : "asnjëherë",
+    "Description" : "PĂ«rshkrim",
+    "Configuration" : "Formësim",
+    "Done" : "U krye",
+    "Expiration date" : "Datë skadimi",
+    "New" : "I ri"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/l10n/sq.json b/l10n/sq.json
new file mode 100644
index 0000000000000000000000000000000000000000..99bb3704128053a871bd7317671d73722fe7adb6
--- /dev/null
+++ b/l10n/sq.json
@@ -0,0 +1,14 @@
+{ "translations": {
+    "Group" : "Grup",
+    "Title" : "Titulli",
+    "Owner" : "Zotëruesi",
+    "Created" : "U krijua",
+    "Public access" : "Akses publik",
+    "never" : "asnjëherë",
+    "Description" : "PĂ«rshkrim",
+    "Configuration" : "Formësim",
+    "Done" : "U krye",
+    "Expiration date" : "Datë skadimi",
+    "New" : "I ri"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+}
\ No newline at end of file
diff --git a/l10n/sr.js b/l10n/sr.js
index 3ef88ada2694b07f69914369ec7d380291c380fb..d35aa98bd269b5dfcc43ddc2feb6e8c13d3f4af6 100644
--- a/l10n/sr.js
+++ b/l10n/sr.js
@@ -20,6 +20,7 @@ OC.L10N.register(
     "Owner" : "Власник",
     "Created" : "Направљен",
     "Expires" : "Истиче",
+    "View results" : "Види резултате",
     "Public access" : "Јавни приступ",
     "Only shared" : "Само дељено",
     "Registered users only" : "Само регистровани корисници",
@@ -39,6 +40,7 @@ OC.L10N.register(
     "Configuration is locked. Changing options may result in unwanted behaviour, but you can unlock it anyway." : "Подешавања су закључана. Промена ставки може да заврши са нежељеним понашањем, али свеједно је можете откључати.",
     "Unlock configuration " : "Откључај подешавања",
     "Form configurations" : "Подешавања упитника",
+    "Only allow one submission per user" : "Дозволи само једно рађење упитника по кориснику",
     "Name of user or group" : "Име корисника или групе",
     "Create new form" : "Направи нови упитник",
     "Writing form" : "Писање упитника",
diff --git a/l10n/sr.json b/l10n/sr.json
index 6795a51aeb5d6bed4fb041ce9d5beb3a0a2635e5..120eef9516c5745235384c42fbca975f3711351b 100644
--- a/l10n/sr.json
+++ b/l10n/sr.json
@@ -18,6 +18,7 @@
     "Owner" : "Власник",
     "Created" : "Направљен",
     "Expires" : "Истиче",
+    "View results" : "Види резултате",
     "Public access" : "Јавни приступ",
     "Only shared" : "Само дељено",
     "Registered users only" : "Само регистровани корисници",
@@ -37,6 +38,7 @@
     "Configuration is locked. Changing options may result in unwanted behaviour, but you can unlock it anyway." : "Подешавања су закључана. Промена ставки може да заврши са нежељеним понашањем, али свеједно је можете откључати.",
     "Unlock configuration " : "Откључај подешавања",
     "Form configurations" : "Подешавања упитника",
+    "Only allow one submission per user" : "Дозволи само једно рађење упитника по кориснику",
     "Name of user or group" : "Име корисника или групе",
     "Create new form" : "Направи нови упитник",
     "Writing form" : "Писање упитника",
diff --git a/l10n/sr@latin.js b/l10n/sr@latin.js
new file mode 100644
index 0000000000000000000000000000000000000000..2a149b53d9b39467f894d652026d1e342899ca2e
--- /dev/null
+++ b/l10n/sr@latin.js
@@ -0,0 +1,11 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Group" : "Group",
+    "Title" : "Naslov",
+    "Owner" : "Owner",
+    "never" : "never",
+    "Done" : "Done",
+    "Expiration date" : "Datum isteka"
+},
+"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/l10n/sr@latin.json b/l10n/sr@latin.json
new file mode 100644
index 0000000000000000000000000000000000000000..b9cdd042704059ae628174b46f3dcce2d226a7cd
--- /dev/null
+++ b/l10n/sr@latin.json
@@ -0,0 +1,9 @@
+{ "translations": {
+    "Group" : "Group",
+    "Title" : "Naslov",
+    "Owner" : "Owner",
+    "never" : "never",
+    "Done" : "Done",
+    "Expiration date" : "Datum isteka"
+},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
+}
\ No newline at end of file
diff --git a/l10n/sv.js b/l10n/sv.js
index f1cd9a58a563e8e3f1ba1c0a5cc2469d1c8126b3..122d33ee575e0388cbd0df4656785be89a83de3f 100644
--- a/l10n/sv.js
+++ b/l10n/sv.js
@@ -12,7 +12,7 @@ OC.L10N.register(
     "Expires %n" : "Upphör %n",
     "Expires never" : "Upphör aldrig",
     "Anonymous form" : "Anonymt formulär",
-    "Usernames hidden to Owner" : "Användarnamn ej synliga för ägaren",
+    "Usernames hidden to Owner" : "Användarnamn dolda för ägaren",
     "Usernames visible to Owner" : "Användarnamn synliga för ägaren",
     "Group" : "Grupp",
     "Title" : "Rubrik",
@@ -20,7 +20,7 @@ OC.L10N.register(
     "Owner" : "Ă„gare",
     "Created" : "Skapat",
     "Expires" : "Upphör",
-    "View Results" : "Visa resultat",
+    "View results" : "Visa resultat",
     "Public access" : "Publik ĂĄtkomst",
     "Only shared" : "Endast delad",
     "Registered users only" : "Endast registrerade användare",
@@ -40,6 +40,7 @@ OC.L10N.register(
     "Configuration is locked. Changing options may result in unwanted behaviour, but you can unlock it anyway." : "Inställningarna är låsta. Att ändra variabler kan resultera i oväntade beteenden. Men du kan låsa upp inställningarna ändå.",
     "Unlock configuration " : "Lås upp inställningar",
     "Form configurations" : "Formulär-inställningar",
+    "Only allow one submission per user" : "Tillåt endast ett svar per användare",
     "Name of user or group" : "Användar- eller grupp-namn",
     "Create new form" : "Skapa nytt formulär",
     "Writing form" : "Skriver formuläret",
diff --git a/l10n/sv.json b/l10n/sv.json
index b3095aaa6fa390b9b9b1709c347b148e0336cd81..6040e7d9754446f551144c517fc3bd8df754bf4c 100644
--- a/l10n/sv.json
+++ b/l10n/sv.json
@@ -10,7 +10,7 @@
     "Expires %n" : "Upphör %n",
     "Expires never" : "Upphör aldrig",
     "Anonymous form" : "Anonymt formulär",
-    "Usernames hidden to Owner" : "Användarnamn ej synliga för ägaren",
+    "Usernames hidden to Owner" : "Användarnamn dolda för ägaren",
     "Usernames visible to Owner" : "Användarnamn synliga för ägaren",
     "Group" : "Grupp",
     "Title" : "Rubrik",
@@ -18,7 +18,7 @@
     "Owner" : "Ă„gare",
     "Created" : "Skapat",
     "Expires" : "Upphör",
-    "View Results" : "Visa resultat",
+    "View results" : "Visa resultat",
     "Public access" : "Publik ĂĄtkomst",
     "Only shared" : "Endast delad",
     "Registered users only" : "Endast registrerade användare",
@@ -38,6 +38,7 @@
     "Configuration is locked. Changing options may result in unwanted behaviour, but you can unlock it anyway." : "Inställningarna är låsta. Att ändra variabler kan resultera i oväntade beteenden. Men du kan låsa upp inställningarna ändå.",
     "Unlock configuration " : "Lås upp inställningar",
     "Form configurations" : "Formulär-inställningar",
+    "Only allow one submission per user" : "Tillåt endast ett svar per användare",
     "Name of user or group" : "Användar- eller grupp-namn",
     "Create new form" : "Skapa nytt formulär",
     "Writing form" : "Skriver formuläret",
diff --git a/l10n/ta_LK.js b/l10n/ta_LK.js
new file mode 100644
index 0000000000000000000000000000000000000000..c91be30d0efb768c65e243c1ddfcc13939414118
--- /dev/null
+++ b/l10n/ta_LK.js
@@ -0,0 +1,14 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Group" : "Group",
+    "Title" : "தலைப்பு",
+    "Owner" : "Owner",
+    "never" : "ஒருபோதும்",
+    "Description" : "விவரிப்பு",
+    "Configuration" : "தகவமைப்பு",
+    "Done" : "Done",
+    "Expiration date" : "காலவதியாகும் திகதி",
+    "New" : "புதிய"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/l10n/ta_LK.json b/l10n/ta_LK.json
new file mode 100644
index 0000000000000000000000000000000000000000..f100ad3a63a335876dfdf76d2df0e101ea988630
--- /dev/null
+++ b/l10n/ta_LK.json
@@ -0,0 +1,12 @@
+{ "translations": {
+    "Group" : "Group",
+    "Title" : "தலைப்பு",
+    "Owner" : "Owner",
+    "never" : "ஒருபோதும்",
+    "Description" : "விவரிப்பு",
+    "Configuration" : "தகவமைப்பு",
+    "Done" : "Done",
+    "Expiration date" : "காலவதியாகும் திகதி",
+    "New" : "புதிய"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+}
\ No newline at end of file
diff --git a/l10n/th.js b/l10n/th.js
new file mode 100644
index 0000000000000000000000000000000000000000..9d9b924fac78261716307eb1afe12254a97fb303
--- /dev/null
+++ b/l10n/th.js
@@ -0,0 +1,14 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Group" : "กลุ่ม",
+    "Title" : "ชื่อเรื่อง",
+    "Owner" : "Owner",
+    "never" : "ไม่ต้องเลย",
+    "Description" : "รายละเอียด",
+    "Configuration" : "การกำหนดค่า",
+    "Done" : "Done",
+    "Expiration date" : "วันที่หมดอายุ",
+    "New" : "ใหม่"
+},
+"nplurals=1; plural=0;");
diff --git a/l10n/th.json b/l10n/th.json
new file mode 100644
index 0000000000000000000000000000000000000000..b09b17ee638d496fb90573bccb08aaad4efafd6c
--- /dev/null
+++ b/l10n/th.json
@@ -0,0 +1,12 @@
+{ "translations": {
+    "Group" : "กลุ่ม",
+    "Title" : "ชื่อเรื่อง",
+    "Owner" : "Owner",
+    "never" : "ไม่ต้องเลย",
+    "Description" : "รายละเอียด",
+    "Configuration" : "การกำหนดค่า",
+    "Done" : "Done",
+    "Expiration date" : "วันที่หมดอายุ",
+    "New" : "ใหม่"
+},"pluralForm" :"nplurals=1; plural=0;"
+}
\ No newline at end of file
diff --git a/l10n/tr.js b/l10n/tr.js
index 4d0d258598b972bdf3273bd5f3eb4a22d1ff41c2..0df5e0f347f306075d06b5d82ed9b5d798e3fe2e 100644
--- a/l10n/tr.js
+++ b/l10n/tr.js
@@ -20,7 +20,7 @@ OC.L10N.register(
     "Owner" : "Sahip",
     "Created" : "OluĹźturulma",
     "Expires" : "Sona erme",
-    "View Results" : "Sonuçları Görüntüle",
+    "View results" : "Sonuçları görüntüle",
     "Public access" : "Herkese açık erişim",
     "Only shared" : "Yalnız paylaşılanlar",
     "Registered users only" : "Yalnız kayıtlı kullanıcılar",
@@ -40,6 +40,7 @@ OC.L10N.register(
     "Configuration is locked. Changing options may result in unwanted behaviour, but you can unlock it anyway." : "Yapılandırma kilitlenmiş. Ayarların değiştirilmesi istenmeyen sonuçlara yol açabilir ancak isterseniz kilidi açabilirsiniz.",
     "Unlock configuration " : "Yapılandırma kilidini aç",
     "Form configurations" : "Form yapılandırmaları",
+    "Only allow one submission per user" : "Her kullanıcı formu yalnız bir kez gönderebilsin",
     "Name of user or group" : "Kullanıcı ya da grup adı",
     "Create new form" : "Yeni form oluĹźtur",
     "Writing form" : "Form yazılıyor",
diff --git a/l10n/tr.json b/l10n/tr.json
index b3b38da209022c16001c1f66eb858b1d6f510d2c..e7b3fada7535a1ed4a38c9ca2a18dce007ce8921 100644
--- a/l10n/tr.json
+++ b/l10n/tr.json
@@ -18,7 +18,7 @@
     "Owner" : "Sahip",
     "Created" : "OluĹźturulma",
     "Expires" : "Sona erme",
-    "View Results" : "Sonuçları Görüntüle",
+    "View results" : "Sonuçları görüntüle",
     "Public access" : "Herkese açık erişim",
     "Only shared" : "Yalnız paylaşılanlar",
     "Registered users only" : "Yalnız kayıtlı kullanıcılar",
@@ -38,6 +38,7 @@
     "Configuration is locked. Changing options may result in unwanted behaviour, but you can unlock it anyway." : "Yapılandırma kilitlenmiş. Ayarların değiştirilmesi istenmeyen sonuçlara yol açabilir ancak isterseniz kilidi açabilirsiniz.",
     "Unlock configuration " : "Yapılandırma kilidini aç",
     "Form configurations" : "Form yapılandırmaları",
+    "Only allow one submission per user" : "Her kullanıcı formu yalnız bir kez gönderebilsin",
     "Name of user or group" : "Kullanıcı ya da grup adı",
     "Create new form" : "Yeni form oluĹźtur",
     "Writing form" : "Form yazılıyor",
diff --git a/l10n/ug.js b/l10n/ug.js
new file mode 100644
index 0000000000000000000000000000000000000000..a93ca2ec98cd968074ad405af166f009c7d0175b
--- /dev/null
+++ b/l10n/ug.js
@@ -0,0 +1,13 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Group" : "Group",
+    "Title" : "ماۋزۇ",
+    "Owner" : "Owner",
+    "never" : "ھەرگىز",
+    "Description" : "چۈشەندۈرۈش",
+    "Configuration" : "سەپلىمە",
+    "Done" : "Done",
+    "New" : "يېڭى"
+},
+"nplurals=1; plural=0;");
diff --git a/l10n/ug.json b/l10n/ug.json
new file mode 100644
index 0000000000000000000000000000000000000000..11ebc624f35889b17fb4278b312001347b03852e
--- /dev/null
+++ b/l10n/ug.json
@@ -0,0 +1,11 @@
+{ "translations": {
+    "Group" : "Group",
+    "Title" : "ماۋزۇ",
+    "Owner" : "Owner",
+    "never" : "ھەرگىز",
+    "Description" : "چۈشەندۈرۈش",
+    "Configuration" : "سەپلىمە",
+    "Done" : "Done",
+    "New" : "يېڭى"
+},"pluralForm" :"nplurals=1; plural=0;"
+}
\ No newline at end of file
diff --git a/l10n/uk.js b/l10n/uk.js
new file mode 100644
index 0000000000000000000000000000000000000000..68011024db7e6768fdf28ee3494ae5ca3d695704
--- /dev/null
+++ b/l10n/uk.js
@@ -0,0 +1,15 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Group" : "Група",
+    "Title" : "Назва",
+    "Owner" : "Власник",
+    "Public access" : "Публічний доступ",
+    "never" : "ніколи",
+    "Description" : "Опис",
+    "Configuration" : "Налаштування",
+    "Done" : "Готово",
+    "Expiration date" : "Термін дії",
+    "New" : "Створити"
+},
+"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);");
diff --git a/l10n/uk.json b/l10n/uk.json
new file mode 100644
index 0000000000000000000000000000000000000000..b6ac5c493e7b220896bfed15eb90f49466844e6d
--- /dev/null
+++ b/l10n/uk.json
@@ -0,0 +1,13 @@
+{ "translations": {
+    "Group" : "Група",
+    "Title" : "Назва",
+    "Owner" : "Власник",
+    "Public access" : "Публічний доступ",
+    "never" : "ніколи",
+    "Description" : "Опис",
+    "Configuration" : "Налаштування",
+    "Done" : "Готово",
+    "Expiration date" : "Термін дії",
+    "New" : "Створити"
+},"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);"
+}
\ No newline at end of file
diff --git a/l10n/ur_PK.js b/l10n/ur_PK.js
new file mode 100644
index 0000000000000000000000000000000000000000..1f075c52f725c2cce6d21c9fdce2e953afaefd5d
--- /dev/null
+++ b/l10n/ur_PK.js
@@ -0,0 +1,12 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Group" : "Group",
+    "Title" : "عنوان",
+    "Owner" : "Owner",
+    "never" : "never",
+    "Description" : "تصریح",
+    "Done" : "Done",
+    "Expiration date" : "تاریخ معیاد"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/l10n/ur_PK.json b/l10n/ur_PK.json
new file mode 100644
index 0000000000000000000000000000000000000000..7b94998ccc56961d5d9c9794bb1304f594d7bde4
--- /dev/null
+++ b/l10n/ur_PK.json
@@ -0,0 +1,10 @@
+{ "translations": {
+    "Group" : "Group",
+    "Title" : "عنوان",
+    "Owner" : "Owner",
+    "never" : "never",
+    "Description" : "تصریح",
+    "Done" : "Done",
+    "Expiration date" : "تاریخ معیاد"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+}
\ No newline at end of file
diff --git a/l10n/vi.js b/l10n/vi.js
new file mode 100644
index 0000000000000000000000000000000000000000..3dbaa3b5f6214f0382d1aea8212e7bbe204f04c5
--- /dev/null
+++ b/l10n/vi.js
@@ -0,0 +1,16 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Group" : "N",
+    "Title" : "TĂŞn",
+    "Owner" : "Chủ",
+    "Created" : "Đã tạo",
+    "Public access" : "Truy cáş­p cĂ´ng khai",
+    "never" : "không thay đổi",
+    "Description" : "Mô tả",
+    "Configuration" : "Cấu hình",
+    "Done" : "HoĂ n thĂ nh",
+    "Expiration date" : "NgĂ y káşżt thĂşc",
+    "New" : "Tạo mới"
+},
+"nplurals=1; plural=0;");
diff --git a/l10n/vi.json b/l10n/vi.json
new file mode 100644
index 0000000000000000000000000000000000000000..de41eea45dff02a5546d1cd93b0974b136cb3583
--- /dev/null
+++ b/l10n/vi.json
@@ -0,0 +1,14 @@
+{ "translations": {
+    "Group" : "N",
+    "Title" : "TĂŞn",
+    "Owner" : "Chủ",
+    "Created" : "Đã tạo",
+    "Public access" : "Truy cáş­p cĂ´ng khai",
+    "never" : "không thay đổi",
+    "Description" : "Mô tả",
+    "Configuration" : "Cấu hình",
+    "Done" : "HoĂ n thĂ nh",
+    "Expiration date" : "NgĂ y káşżt thĂşc",
+    "New" : "Tạo mới"
+},"pluralForm" :"nplurals=1; plural=0;"
+}
\ No newline at end of file
diff --git a/l10n/zh_CN.js b/l10n/zh_CN.js
index 68924e60cce8b59e9bbbf5bb81738c40c17f2e14..169349b1b7e83abeae1d2bce5bda57c6481b2ba2 100644
--- a/l10n/zh_CN.js
+++ b/l10n/zh_CN.js
@@ -20,6 +20,7 @@ OC.L10N.register(
     "Owner" : "所有者",
     "Created" : "已创建",
     "Expires" : "过期",
+    "View results" : "查看结果",
     "Public access" : "公开访问",
     "Only shared" : "只共享给特定用户或分组",
     "Registered users only" : "只允许注册用户",
@@ -39,6 +40,7 @@ OC.L10N.register(
     "Configuration is locked. Changing options may result in unwanted behaviour, but you can unlock it anyway." : "配置已被锁定。修改选项可能导致异常行为,但您可以将其解锁。",
     "Unlock configuration " : "解锁配置",
     "Form configurations" : "表单配置",
+    "Only allow one submission per user" : "一个用户只允许一次提交",
     "Name of user or group" : "用户或分组名称",
     "Create new form" : "创建新表单",
     "Writing form" : "编写表单",
diff --git a/l10n/zh_CN.json b/l10n/zh_CN.json
index a765e1919f197af649a6d865c489fb8d65dc5557..21d006fa4115c9e23c66a2d620da1bf036840bef 100644
--- a/l10n/zh_CN.json
+++ b/l10n/zh_CN.json
@@ -18,6 +18,7 @@
     "Owner" : "所有者",
     "Created" : "已创建",
     "Expires" : "过期",
+    "View results" : "查看结果",
     "Public access" : "公开访问",
     "Only shared" : "只共享给特定用户或分组",
     "Registered users only" : "只允许注册用户",
@@ -37,6 +38,7 @@
     "Configuration is locked. Changing options may result in unwanted behaviour, but you can unlock it anyway." : "配置已被锁定。修改选项可能导致异常行为,但您可以将其解锁。",
     "Unlock configuration " : "解锁配置",
     "Form configurations" : "表单配置",
+    "Only allow one submission per user" : "一个用户只允许一次提交",
     "Name of user or group" : "用户或分组名称",
     "Create new form" : "创建新表单",
     "Writing form" : "编写表单",
diff --git a/l10n/zh_HK.js b/l10n/zh_HK.js
new file mode 100644
index 0000000000000000000000000000000000000000..8b52ad99504fb8739cff83ce8c588b8243c27249
--- /dev/null
+++ b/l10n/zh_HK.js
@@ -0,0 +1,13 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Group" : "群組",
+    "Title" : "標題",
+    "Owner" : "Owner",
+    "never" : "永不",
+    "Description" : "描述",
+    "Done" : "Done",
+    "Expiration date" : "分享期限",
+    "New" : "新增"
+},
+"nplurals=1; plural=0;");
diff --git a/l10n/zh_HK.json b/l10n/zh_HK.json
new file mode 100644
index 0000000000000000000000000000000000000000..3e97e276adab21b1cf2f96e4bf87e16742d0c2c1
--- /dev/null
+++ b/l10n/zh_HK.json
@@ -0,0 +1,11 @@
+{ "translations": {
+    "Group" : "群組",
+    "Title" : "標題",
+    "Owner" : "Owner",
+    "never" : "永不",
+    "Description" : "描述",
+    "Done" : "Done",
+    "Expiration date" : "分享期限",
+    "New" : "新增"
+},"pluralForm" :"nplurals=1; plural=0;"
+}
\ No newline at end of file
diff --git a/l10n/zh_TW.js b/l10n/zh_TW.js
new file mode 100644
index 0000000000000000000000000000000000000000..e7a0acc4e8993e2ff19685d8947d5c7725edbb73
--- /dev/null
+++ b/l10n/zh_TW.js
@@ -0,0 +1,20 @@
+OC.L10N.register(
+    "forms",
+    {
+    "Group" : "群組",
+    "Title" : "標題",
+    "Access" : "存取",
+    "Owner" : "擁有者",
+    "Created" : "已新增",
+    "Expires" : "投票期限",
+    "Public access" : "對任何人開放",
+    "Registered users only" : "只允許註冊使用者參與",
+    "never" : "從未",
+    "Description" : "描述",
+    "Configuration" : "設定",
+    "Done" : "完成",
+    "Expiration date" : "到期日",
+    "New" : "新增",
+    "Access denied" : "存取被拒絕"
+},
+"nplurals=1; plural=0;");
diff --git a/l10n/zh_TW.json b/l10n/zh_TW.json
new file mode 100644
index 0000000000000000000000000000000000000000..6ef482357da7a8107134b16026a2e03d29c87cde
--- /dev/null
+++ b/l10n/zh_TW.json
@@ -0,0 +1,18 @@
+{ "translations": {
+    "Group" : "群組",
+    "Title" : "標題",
+    "Access" : "存取",
+    "Owner" : "擁有者",
+    "Created" : "已新增",
+    "Expires" : "投票期限",
+    "Public access" : "對任何人開放",
+    "Registered users only" : "只允許註冊使用者參與",
+    "never" : "從未",
+    "Description" : "描述",
+    "Configuration" : "設定",
+    "Done" : "完成",
+    "Expiration date" : "到期日",
+    "New" : "新增",
+    "Access denied" : "存取被拒絕"
+},"pluralForm" :"nplurals=1; plural=0;"
+}
\ No newline at end of file
diff --git a/lib/Controller/ApiController.php b/lib/Controller/ApiController.php
index 7905269464328fff0e46420b8fb6761d5991b068..555891879cfd6d8b416aa4f289fca5f84fb2c378 100644
--- a/lib/Controller/ApiController.php
+++ b/lib/Controller/ApiController.php
@@ -442,6 +442,7 @@ class ApiController extends Controller {
 		$newEvent->setDescription($event['description']);
 
 		$newEvent->setIsAnonymous($event['isAnonymous']);
+		$newEvent->setUnique($event['unique']);
 
 		if ($event['access'] === 'select') {
 			$shareAccess = '';
diff --git a/lib/Controller/PageController.php b/lib/Controller/PageController.php
index 783c47a5ad36a0372a7e60f334ac6c33649a03ff..dcb60f082ba6090c20706ce05c6e3e75c8969c44 100644
--- a/lib/Controller/PageController.php
+++ b/lib/Controller/PageController.php
@@ -527,6 +527,13 @@ class PageController extends Controller {
 			return false;
 		}
 		if ($access === 'registered') {
+			if ($form->getUnique()) {
+				$participants = $this->voteMapper->findParticipantsByForm($form->getId());
+				foreach($participants as $participant) {
+					// Don't allow access if user has already taken part
+					if ($participant->getUserId() === $this->userId) return false;
+				}
+			}
 			return true;
 		}
 		if ($owner === $this->userId) {
diff --git a/lib/Db/Event.php b/lib/Db/Event.php
index d05e911508698ab35dfd055269e467ccfce06b0b..6ba1e9c44f153efec05a8fdab2ff13c1072a2aa6 100644
--- a/lib/Db/Event.php
+++ b/lib/Db/Event.php
@@ -45,6 +45,8 @@ use OCP\AppFramework\Db\Entity;
  * @method void setHash(string $value)
  * @method integer getIsAnonymous()
  * @method void setIsAnonymous(integer $value)
+ * @method integer getUnique()
+ * @method void setUnique(boolean $value)
  */
 class Event extends Entity {
 	protected $title;
@@ -57,6 +59,7 @@ class Event extends Entity {
 	protected $isAnonymous;
 	protected $fullAnonymous;
 	protected $allowMaybe;
+	protected $unique;
 
 	/**
 	 * Event constructor.
@@ -91,6 +94,7 @@ class Event extends Entity {
 			'expired' => $expired,
 			'expirationDate' => $this->getExpire(),
 			'isAnonymous' => $this->getIsAnonymous(),
+			'unique' => $this->getUnique()
 		];
 	}
 }
diff --git a/lib/Migration/Version0010Date20190000000007.php b/lib/Migration/Version0010Date20190000000007.php
new file mode 100644
index 0000000000000000000000000000000000000000..14f260cf7c5ca5ee51da73b937abce20ec922eca
--- /dev/null
+++ b/lib/Migration/Version0010Date20190000000007.php
@@ -0,0 +1,77 @@
+<?php
+/**
+ * @copyright Copyright (c) 2017 René Gieling <github@dartcafe.de>
+ *
+ * @author Marcel Klehr <mklehr@gmx.net>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ *  This program is free software: you can redistribute it and/or modify
+ *  it under the terms of the GNU Affero General Public License as
+ *  published by the Free Software Foundation, either version 3 of the
+ *  License, or (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Affero General Public License for more details.
+ *
+ *  You should have received a copy of the GNU Affero General Public License
+ *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OCA\Forms\Migration;
+
+use Doctrine\DBAL\Exception\TableNotFoundException;
+use Doctrine\DBAL\Platforms\PostgreSqlPlatform;
+use Doctrine\DBAL\Types\Type;
+use OCP\DB\ISchemaWrapper;
+use OCP\DB\QueryBuilder\IQueryBuilder;
+use OCP\IConfig;
+use OCP\IDBConnection;
+use OCP\Migration\SimpleMigrationStep;
+use OCP\Migration\IOutput;
+
+/**
+ * Installation class for the forms app.
+ * Initial db creation
+ */
+class Version0010Date20190000000007 extends SimpleMigrationStep {
+
+	/** @var IDBConnection */
+	protected $connection;
+
+	/** @var IConfig */
+	protected $config;
+
+	/**
+	 * @param IDBConnection $connection
+	 * @param IConfig $config
+	 */
+	public function __construct(IDBConnection $connection, IConfig $config) {
+		$this->connection = $connection;
+		$this->config = $config;
+	}
+
+	/**
+	 * @param IOutput $output
+	 * @param \Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper`
+	 * @param array $options
+	 * @return null|ISchemaWrapper
+	 * @since 13.0.0
+	 */
+	public function changeSchema(IOutput $output, \Closure $schemaClosure, array $options) {
+		/** @var ISchemaWrapper $schema */
+		$schema = $schemaClosure();
+
+		if ($schema->hasTable('forms_events')) {
+			$schema->getTable('forms_events')->addColumn('unique', Type::INTEGER, [
+				'notnull' => false,
+				'default' => 0,
+			]);
+		} else {
+		}
+		return $schema;
+	}
+}
diff --git a/package-lock.json b/package-lock.json
index 541d42fe94d2bcc6e01fa2a947ebf783ba92de87..aba426c5dfc61a14fa1e8c98394683e870123820 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -13,21 +13,41 @@
 				"@babel/highlight": "^7.0.0"
 			}
 		},
-		"@babel/core": {
-			"version": "7.6.0",
-			"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.6.0.tgz",
-			"integrity": "sha512-FuRhDRtsd6IptKpHXAa+4WPZYY2ZzgowkbLBecEDDSje1X/apG7jQM33or3NdOmjXBKWGOg4JmSiRfUfuTtHXw==",
+		"@babel/compat-data": {
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.8.0.tgz",
+			"integrity": "sha512-ixPUWJpnd9hHvRkyIE3mJ6PY5DEWmR08UkcpdqI5kV5g/d6knT8Wth1LE5v5sVTIJkm9dGpQsXnhwxcf2/PjAg==",
 			"dev": true,
 			"requires": {
-				"@babel/code-frame": "^7.5.5",
-				"@babel/generator": "^7.6.0",
-				"@babel/helpers": "^7.6.0",
-				"@babel/parser": "^7.6.0",
-				"@babel/template": "^7.6.0",
-				"@babel/traverse": "^7.6.0",
-				"@babel/types": "^7.6.0",
-				"convert-source-map": "^1.1.0",
+				"browserslist": "^4.8.2",
+				"invariant": "^2.2.4",
+				"semver": "^7.1.1"
+			},
+			"dependencies": {
+				"semver": {
+					"version": "7.1.1",
+					"resolved": "https://registry.npmjs.org/semver/-/semver-7.1.1.tgz",
+					"integrity": "sha512-WfuG+fl6eh3eZ2qAf6goB7nhiCd7NPXhmyFxigB/TOkQyeLP8w8GsVehvtGNtnNmyboz4TgeK40B1Kbql/8c5A==",
+					"dev": true
+				}
+			}
+		},
+		"@babel/core": {
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.8.0.tgz",
+			"integrity": "sha512-3rqPi/bv/Xfu2YzHvBz4XqMI1fKVwnhntPA1/fjoECrSjrhbOCxlTrbVu5gUtr8zkxW+RpkDOa/HCW93gzS2Dw==",
+			"dev": true,
+			"requires": {
+				"@babel/code-frame": "^7.8.0",
+				"@babel/generator": "^7.8.0",
+				"@babel/helpers": "^7.8.0",
+				"@babel/parser": "^7.8.0",
+				"@babel/template": "^7.8.0",
+				"@babel/traverse": "^7.8.0",
+				"@babel/types": "^7.8.0",
+				"convert-source-map": "^1.7.0",
 				"debug": "^4.1.0",
+				"gensync": "^1.0.0-beta.1",
 				"json5": "^2.1.0",
 				"lodash": "^4.17.13",
 				"resolve": "^1.3.2",
@@ -35,57 +55,105 @@
 				"source-map": "^0.5.0"
 			},
 			"dependencies": {
+				"@babel/code-frame": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.0.tgz",
+					"integrity": "sha512-AN2IR/wCUYsM+PdErq6Bp3RFTXl8W0p9Nmymm7zkpsCmh+r/YYcckaCGpU8Q/mEKmST19kkGRaG42A/jxOWwBA==",
+					"dev": true,
+					"requires": {
+						"@babel/highlight": "^7.8.0"
+					}
+				},
 				"@babel/generator": {
-					"version": "7.6.0",
-					"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.6.0.tgz",
-					"integrity": "sha512-Ms8Mo7YBdMMn1BYuNtKuP/z0TgEIhbcyB8HVR6PPNYp4P61lMsABiS4A3VG1qznjXVCf3r+fVHhm4efTYVsySA==",
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.0.tgz",
+					"integrity": "sha512-2Lp2e02CV2C7j/H4n4D9YvsvdhPVVg9GDIamr6Tu4tU35mL3mzOrzl1lZ8ZJtysfZXh+y+AGORc2rPS7yHxBUg==",
 					"dev": true,
 					"requires": {
-						"@babel/types": "^7.6.0",
+						"@babel/types": "^7.8.0",
 						"jsesc": "^2.5.1",
 						"lodash": "^4.17.13",
-						"source-map": "^0.5.0",
-						"trim-right": "^1.0.1"
+						"source-map": "^0.5.0"
+					}
+				},
+				"@babel/helper-function-name": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.0.tgz",
+					"integrity": "sha512-x9psucuU0Xalw+0Vpr2FYJMLB7/KnPSLZhlkUyOGbYAWRDfmtZBrguYpJYiaNCRV7vGkYjO/gF6/J6yMvdWTDw==",
+					"dev": true,
+					"requires": {
+						"@babel/helper-get-function-arity": "^7.8.0",
+						"@babel/template": "^7.8.0",
+						"@babel/types": "^7.8.0"
+					}
+				},
+				"@babel/helper-get-function-arity": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.0.tgz",
+					"integrity": "sha512-eUP5grliToMapQiTaYS2AAO/WwaCG7cuJztR1v/a1aPzUzUeGt+AaI9OvLATc/AfFkF8SLJ10d5ugGt/AQ9d6w==",
+					"dev": true,
+					"requires": {
+						"@babel/types": "^7.8.0"
+					}
+				},
+				"@babel/helper-split-export-declaration": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.0.tgz",
+					"integrity": "sha512-YhYFhH4T6DlbT6CPtVgLfC1Jp2gbCawU/ml7WJvUpBg01bCrXSzTYMZZXbbIGjq/kHmK8YUATxTppcRGzj31pA==",
+					"dev": true,
+					"requires": {
+						"@babel/types": "^7.8.0"
+					}
+				},
+				"@babel/highlight": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.0.tgz",
+					"integrity": "sha512-OsdTJbHlPtIk2mmtwXItYrdmalJ8T0zpVzNAbKSkHshuywj7zb29Y09McV/jQsQunc/nEyHiPV2oy9llYMLqxw==",
+					"dev": true,
+					"requires": {
+						"chalk": "^2.0.0",
+						"esutils": "^2.0.2",
+						"js-tokens": "^4.0.0"
 					}
 				},
 				"@babel/parser": {
-					"version": "7.6.0",
-					"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.6.0.tgz",
-					"integrity": "sha512-+o2q111WEx4srBs7L9eJmcwi655eD8sXniLqMB93TBK9GrNzGrxDWSjiqz2hLU0Ha8MTXFIP0yd9fNdP+m43ZQ==",
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.0.tgz",
+					"integrity": "sha512-VVtsnUYbd1+2A2vOVhm4P2qNXQE8L/W859GpUHfUcdhX8d3pEKThZuIr6fztocWx9HbK+00/CR0tXnhAggJ4CA==",
 					"dev": true
 				},
 				"@babel/template": {
-					"version": "7.6.0",
-					"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.6.0.tgz",
-					"integrity": "sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ==",
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.0.tgz",
+					"integrity": "sha512-0NNMDsY2t3ltAVVK1WHNiaePo3tXPUeJpCX4I3xSKFoEl852wJHG8mrgHVADf8Lz1y+8al9cF7cSSfzSnFSYiw==",
 					"dev": true,
 					"requires": {
-						"@babel/code-frame": "^7.0.0",
-						"@babel/parser": "^7.6.0",
-						"@babel/types": "^7.6.0"
+						"@babel/code-frame": "^7.8.0",
+						"@babel/parser": "^7.8.0",
+						"@babel/types": "^7.8.0"
 					}
 				},
 				"@babel/traverse": {
-					"version": "7.6.0",
-					"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.6.0.tgz",
-					"integrity": "sha512-93t52SaOBgml/xY74lsmt7xOR4ufYvhb5c5qiM6lu4J/dWGMAfAh6eKw4PjLes6DI6nQgearoxnFJk60YchpvQ==",
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.0.tgz",
+					"integrity": "sha512-d/6sPXFLGlJHZO/zWDtgFaKyalCOHLedzxpVJn6el1cw+f2TZa7xZEszeXdOw6EUemqRFBAn106BWBvtSck9Qw==",
 					"dev": true,
 					"requires": {
-						"@babel/code-frame": "^7.5.5",
-						"@babel/generator": "^7.6.0",
-						"@babel/helper-function-name": "^7.1.0",
-						"@babel/helper-split-export-declaration": "^7.4.4",
-						"@babel/parser": "^7.6.0",
-						"@babel/types": "^7.6.0",
+						"@babel/code-frame": "^7.8.0",
+						"@babel/generator": "^7.8.0",
+						"@babel/helper-function-name": "^7.8.0",
+						"@babel/helper-split-export-declaration": "^7.8.0",
+						"@babel/parser": "^7.8.0",
+						"@babel/types": "^7.8.0",
 						"debug": "^4.1.0",
 						"globals": "^11.1.0",
 						"lodash": "^4.17.13"
 					}
 				},
 				"@babel/types": {
-					"version": "7.6.1",
-					"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.1.tgz",
-					"integrity": "sha512-X7gdiuaCmA0uRjCmRtYJNAVCc/q+5xSgsfKJHqMN4iNLILX39677fJE1O40arPMh0TTtS9ItH67yre6c7k6t0g==",
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.0.tgz",
+					"integrity": "sha512-1RF84ehyx9HH09dMMwGWl3UTWlVoCPtqqJPjGuC4JzMe1ZIVDJ2DT8mv3cPv/A7veLD6sgR7vi95lJqm+ZayIg==",
 					"dev": true,
 					"requires": {
 						"esutils": "^2.0.2",
@@ -124,54 +192,427 @@
 			}
 		},
 		"@babel/helper-annotate-as-pure": {
-			"version": "7.0.0",
-			"resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz",
-			"integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.0.tgz",
+			"integrity": "sha512-WWj+1amBdowU2g18p3/KUc1Y5kWnaNm1paohq2tT4/RreeMNssYkv6ul9wkE2iIqjwLBwNMZGH4pTGlMSUqMMg==",
 			"dev": true,
 			"requires": {
-				"@babel/types": "^7.0.0"
+				"@babel/types": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/types": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.0.tgz",
+					"integrity": "sha512-1RF84ehyx9HH09dMMwGWl3UTWlVoCPtqqJPjGuC4JzMe1ZIVDJ2DT8mv3cPv/A7veLD6sgR7vi95lJqm+ZayIg==",
+					"dev": true,
+					"requires": {
+						"esutils": "^2.0.2",
+						"lodash": "^4.17.13",
+						"to-fast-properties": "^2.0.0"
+					}
+				}
 			}
 		},
 		"@babel/helper-builder-binary-assignment-operator-visitor": {
-			"version": "7.1.0",
-			"resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz",
-			"integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.8.0.tgz",
+			"integrity": "sha512-KbBloNiBHM3ZyHg1ViDRs4QcnAunwMJ+rLpAEA8l3cWb3Z1xof7ag1iHvX16EwhUfaTG3+YSvTRPv4xHIrseUQ==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-explode-assignable-expression": "^7.1.0",
-				"@babel/types": "^7.0.0"
+				"@babel/helper-explode-assignable-expression": "^7.8.0",
+				"@babel/types": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/types": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.0.tgz",
+					"integrity": "sha512-1RF84ehyx9HH09dMMwGWl3UTWlVoCPtqqJPjGuC4JzMe1ZIVDJ2DT8mv3cPv/A7veLD6sgR7vi95lJqm+ZayIg==",
+					"dev": true,
+					"requires": {
+						"esutils": "^2.0.2",
+						"lodash": "^4.17.13",
+						"to-fast-properties": "^2.0.0"
+					}
+				}
 			}
 		},
 		"@babel/helper-call-delegate": {
-			"version": "7.4.4",
-			"resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz",
-			"integrity": "sha512-l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.8.0.tgz",
+			"integrity": "sha512-Vi8K1LScr8ZgLicfuCNSE7JWUPG/H/9Bw9zn+3vQyy4vA54FEGTCuUTOXCFwmBM93OD6jHfjrQ6ZnivM5U+bHg==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-hoist-variables": "^7.4.4",
-				"@babel/traverse": "^7.4.4",
-				"@babel/types": "^7.4.4"
+				"@babel/helper-hoist-variables": "^7.8.0",
+				"@babel/traverse": "^7.8.0",
+				"@babel/types": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/code-frame": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.0.tgz",
+					"integrity": "sha512-AN2IR/wCUYsM+PdErq6Bp3RFTXl8W0p9Nmymm7zkpsCmh+r/YYcckaCGpU8Q/mEKmST19kkGRaG42A/jxOWwBA==",
+					"dev": true,
+					"requires": {
+						"@babel/highlight": "^7.8.0"
+					}
+				},
+				"@babel/generator": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.0.tgz",
+					"integrity": "sha512-2Lp2e02CV2C7j/H4n4D9YvsvdhPVVg9GDIamr6Tu4tU35mL3mzOrzl1lZ8ZJtysfZXh+y+AGORc2rPS7yHxBUg==",
+					"dev": true,
+					"requires": {
+						"@babel/types": "^7.8.0",
+						"jsesc": "^2.5.1",
+						"lodash": "^4.17.13",
+						"source-map": "^0.5.0"
+					}
+				},
+				"@babel/helper-function-name": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.0.tgz",
+					"integrity": "sha512-x9psucuU0Xalw+0Vpr2FYJMLB7/KnPSLZhlkUyOGbYAWRDfmtZBrguYpJYiaNCRV7vGkYjO/gF6/J6yMvdWTDw==",
+					"dev": true,
+					"requires": {
+						"@babel/helper-get-function-arity": "^7.8.0",
+						"@babel/template": "^7.8.0",
+						"@babel/types": "^7.8.0"
+					}
+				},
+				"@babel/helper-get-function-arity": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.0.tgz",
+					"integrity": "sha512-eUP5grliToMapQiTaYS2AAO/WwaCG7cuJztR1v/a1aPzUzUeGt+AaI9OvLATc/AfFkF8SLJ10d5ugGt/AQ9d6w==",
+					"dev": true,
+					"requires": {
+						"@babel/types": "^7.8.0"
+					}
+				},
+				"@babel/helper-split-export-declaration": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.0.tgz",
+					"integrity": "sha512-YhYFhH4T6DlbT6CPtVgLfC1Jp2gbCawU/ml7WJvUpBg01bCrXSzTYMZZXbbIGjq/kHmK8YUATxTppcRGzj31pA==",
+					"dev": true,
+					"requires": {
+						"@babel/types": "^7.8.0"
+					}
+				},
+				"@babel/highlight": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.0.tgz",
+					"integrity": "sha512-OsdTJbHlPtIk2mmtwXItYrdmalJ8T0zpVzNAbKSkHshuywj7zb29Y09McV/jQsQunc/nEyHiPV2oy9llYMLqxw==",
+					"dev": true,
+					"requires": {
+						"chalk": "^2.0.0",
+						"esutils": "^2.0.2",
+						"js-tokens": "^4.0.0"
+					}
+				},
+				"@babel/parser": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.0.tgz",
+					"integrity": "sha512-VVtsnUYbd1+2A2vOVhm4P2qNXQE8L/W859GpUHfUcdhX8d3pEKThZuIr6fztocWx9HbK+00/CR0tXnhAggJ4CA==",
+					"dev": true
+				},
+				"@babel/template": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.0.tgz",
+					"integrity": "sha512-0NNMDsY2t3ltAVVK1WHNiaePo3tXPUeJpCX4I3xSKFoEl852wJHG8mrgHVADf8Lz1y+8al9cF7cSSfzSnFSYiw==",
+					"dev": true,
+					"requires": {
+						"@babel/code-frame": "^7.8.0",
+						"@babel/parser": "^7.8.0",
+						"@babel/types": "^7.8.0"
+					}
+				},
+				"@babel/traverse": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.0.tgz",
+					"integrity": "sha512-d/6sPXFLGlJHZO/zWDtgFaKyalCOHLedzxpVJn6el1cw+f2TZa7xZEszeXdOw6EUemqRFBAn106BWBvtSck9Qw==",
+					"dev": true,
+					"requires": {
+						"@babel/code-frame": "^7.8.0",
+						"@babel/generator": "^7.8.0",
+						"@babel/helper-function-name": "^7.8.0",
+						"@babel/helper-split-export-declaration": "^7.8.0",
+						"@babel/parser": "^7.8.0",
+						"@babel/types": "^7.8.0",
+						"debug": "^4.1.0",
+						"globals": "^11.1.0",
+						"lodash": "^4.17.13"
+					}
+				},
+				"@babel/types": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.0.tgz",
+					"integrity": "sha512-1RF84ehyx9HH09dMMwGWl3UTWlVoCPtqqJPjGuC4JzMe1ZIVDJ2DT8mv3cPv/A7veLD6sgR7vi95lJqm+ZayIg==",
+					"dev": true,
+					"requires": {
+						"esutils": "^2.0.2",
+						"lodash": "^4.17.13",
+						"to-fast-properties": "^2.0.0"
+					}
+				},
+				"debug": {
+					"version": "4.1.1",
+					"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+					"integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+					"dev": true,
+					"requires": {
+						"ms": "^2.1.1"
+					}
+				},
+				"ms": {
+					"version": "2.1.2",
+					"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+					"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+					"dev": true
+				}
+			}
+		},
+		"@babel/helper-compilation-targets": {
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.8.0.tgz",
+			"integrity": "sha512-VcMSwBCqA2mGqmFFnLYtaC+Zkok5pVMOypeGn76RpSBAoFqc1olWjYoNqTn09YMChTi6rsbPIkkEOAwfsKSqRg==",
+			"dev": true,
+			"requires": {
+				"@babel/compat-data": "^7.8.0",
+				"browserslist": "^4.8.2",
+				"invariant": "^2.2.4",
+				"levenary": "^1.1.0",
+				"semver": "^7.1.1"
+			},
+			"dependencies": {
+				"semver": {
+					"version": "7.1.1",
+					"resolved": "https://registry.npmjs.org/semver/-/semver-7.1.1.tgz",
+					"integrity": "sha512-WfuG+fl6eh3eZ2qAf6goB7nhiCd7NPXhmyFxigB/TOkQyeLP8w8GsVehvtGNtnNmyboz4TgeK40B1Kbql/8c5A==",
+					"dev": true
+				}
+			}
+		},
+		"@babel/helper-create-regexp-features-plugin": {
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.0.tgz",
+			"integrity": "sha512-vJj2hPbxxLUWJEV86iZiac5curAnC3ZVc+rFmFeWZigUOcuCPpbF+KxoEmxrkmuCGylHFF9t4lkpcDUcxnhQ5g==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-regex": "^7.8.0",
+				"regexpu-core": "^4.6.0"
 			}
 		},
 		"@babel/helper-define-map": {
-			"version": "7.5.5",
-			"resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz",
-			"integrity": "sha512-fTfxx7i0B5NJqvUOBBGREnrqbTxRh7zinBANpZXAVDlsZxYdclDp467G1sQ8VZYMnAURY3RpBUAgOYT9GfzHBg==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.8.0.tgz",
+			"integrity": "sha512-Go06lUlZ4YImNEmdyAH5iO38yh5mbpOPSwA2PtV1vyczFhTZfX0OtzkiIL2pACo6AOYf89pLh42nhhDrqgzC3A==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-function-name": "^7.1.0",
-				"@babel/types": "^7.5.5",
+				"@babel/helper-function-name": "^7.8.0",
+				"@babel/types": "^7.8.0",
 				"lodash": "^4.17.13"
+			},
+			"dependencies": {
+				"@babel/code-frame": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.0.tgz",
+					"integrity": "sha512-AN2IR/wCUYsM+PdErq6Bp3RFTXl8W0p9Nmymm7zkpsCmh+r/YYcckaCGpU8Q/mEKmST19kkGRaG42A/jxOWwBA==",
+					"dev": true,
+					"requires": {
+						"@babel/highlight": "^7.8.0"
+					}
+				},
+				"@babel/helper-function-name": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.0.tgz",
+					"integrity": "sha512-x9psucuU0Xalw+0Vpr2FYJMLB7/KnPSLZhlkUyOGbYAWRDfmtZBrguYpJYiaNCRV7vGkYjO/gF6/J6yMvdWTDw==",
+					"dev": true,
+					"requires": {
+						"@babel/helper-get-function-arity": "^7.8.0",
+						"@babel/template": "^7.8.0",
+						"@babel/types": "^7.8.0"
+					}
+				},
+				"@babel/helper-get-function-arity": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.0.tgz",
+					"integrity": "sha512-eUP5grliToMapQiTaYS2AAO/WwaCG7cuJztR1v/a1aPzUzUeGt+AaI9OvLATc/AfFkF8SLJ10d5ugGt/AQ9d6w==",
+					"dev": true,
+					"requires": {
+						"@babel/types": "^7.8.0"
+					}
+				},
+				"@babel/highlight": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.0.tgz",
+					"integrity": "sha512-OsdTJbHlPtIk2mmtwXItYrdmalJ8T0zpVzNAbKSkHshuywj7zb29Y09McV/jQsQunc/nEyHiPV2oy9llYMLqxw==",
+					"dev": true,
+					"requires": {
+						"chalk": "^2.0.0",
+						"esutils": "^2.0.2",
+						"js-tokens": "^4.0.0"
+					}
+				},
+				"@babel/parser": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.0.tgz",
+					"integrity": "sha512-VVtsnUYbd1+2A2vOVhm4P2qNXQE8L/W859GpUHfUcdhX8d3pEKThZuIr6fztocWx9HbK+00/CR0tXnhAggJ4CA==",
+					"dev": true
+				},
+				"@babel/template": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.0.tgz",
+					"integrity": "sha512-0NNMDsY2t3ltAVVK1WHNiaePo3tXPUeJpCX4I3xSKFoEl852wJHG8mrgHVADf8Lz1y+8al9cF7cSSfzSnFSYiw==",
+					"dev": true,
+					"requires": {
+						"@babel/code-frame": "^7.8.0",
+						"@babel/parser": "^7.8.0",
+						"@babel/types": "^7.8.0"
+					}
+				},
+				"@babel/types": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.0.tgz",
+					"integrity": "sha512-1RF84ehyx9HH09dMMwGWl3UTWlVoCPtqqJPjGuC4JzMe1ZIVDJ2DT8mv3cPv/A7veLD6sgR7vi95lJqm+ZayIg==",
+					"dev": true,
+					"requires": {
+						"esutils": "^2.0.2",
+						"lodash": "^4.17.13",
+						"to-fast-properties": "^2.0.0"
+					}
+				}
 			}
 		},
 		"@babel/helper-explode-assignable-expression": {
-			"version": "7.1.0",
-			"resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz",
-			"integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.0.tgz",
+			"integrity": "sha512-w4mRQqKAh4M7BSLwvDMm8jYFroEzpqMCtXDhFHP+kNjMIQWpbC6b0Q/RUQsJNSf54rIx6XMdci1Stf60DWw+og==",
 			"dev": true,
 			"requires": {
-				"@babel/traverse": "^7.1.0",
-				"@babel/types": "^7.0.0"
+				"@babel/traverse": "^7.8.0",
+				"@babel/types": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/code-frame": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.0.tgz",
+					"integrity": "sha512-AN2IR/wCUYsM+PdErq6Bp3RFTXl8W0p9Nmymm7zkpsCmh+r/YYcckaCGpU8Q/mEKmST19kkGRaG42A/jxOWwBA==",
+					"dev": true,
+					"requires": {
+						"@babel/highlight": "^7.8.0"
+					}
+				},
+				"@babel/generator": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.0.tgz",
+					"integrity": "sha512-2Lp2e02CV2C7j/H4n4D9YvsvdhPVVg9GDIamr6Tu4tU35mL3mzOrzl1lZ8ZJtysfZXh+y+AGORc2rPS7yHxBUg==",
+					"dev": true,
+					"requires": {
+						"@babel/types": "^7.8.0",
+						"jsesc": "^2.5.1",
+						"lodash": "^4.17.13",
+						"source-map": "^0.5.0"
+					}
+				},
+				"@babel/helper-function-name": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.0.tgz",
+					"integrity": "sha512-x9psucuU0Xalw+0Vpr2FYJMLB7/KnPSLZhlkUyOGbYAWRDfmtZBrguYpJYiaNCRV7vGkYjO/gF6/J6yMvdWTDw==",
+					"dev": true,
+					"requires": {
+						"@babel/helper-get-function-arity": "^7.8.0",
+						"@babel/template": "^7.8.0",
+						"@babel/types": "^7.8.0"
+					}
+				},
+				"@babel/helper-get-function-arity": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.0.tgz",
+					"integrity": "sha512-eUP5grliToMapQiTaYS2AAO/WwaCG7cuJztR1v/a1aPzUzUeGt+AaI9OvLATc/AfFkF8SLJ10d5ugGt/AQ9d6w==",
+					"dev": true,
+					"requires": {
+						"@babel/types": "^7.8.0"
+					}
+				},
+				"@babel/helper-split-export-declaration": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.0.tgz",
+					"integrity": "sha512-YhYFhH4T6DlbT6CPtVgLfC1Jp2gbCawU/ml7WJvUpBg01bCrXSzTYMZZXbbIGjq/kHmK8YUATxTppcRGzj31pA==",
+					"dev": true,
+					"requires": {
+						"@babel/types": "^7.8.0"
+					}
+				},
+				"@babel/highlight": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.0.tgz",
+					"integrity": "sha512-OsdTJbHlPtIk2mmtwXItYrdmalJ8T0zpVzNAbKSkHshuywj7zb29Y09McV/jQsQunc/nEyHiPV2oy9llYMLqxw==",
+					"dev": true,
+					"requires": {
+						"chalk": "^2.0.0",
+						"esutils": "^2.0.2",
+						"js-tokens": "^4.0.0"
+					}
+				},
+				"@babel/parser": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.0.tgz",
+					"integrity": "sha512-VVtsnUYbd1+2A2vOVhm4P2qNXQE8L/W859GpUHfUcdhX8d3pEKThZuIr6fztocWx9HbK+00/CR0tXnhAggJ4CA==",
+					"dev": true
+				},
+				"@babel/template": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.0.tgz",
+					"integrity": "sha512-0NNMDsY2t3ltAVVK1WHNiaePo3tXPUeJpCX4I3xSKFoEl852wJHG8mrgHVADf8Lz1y+8al9cF7cSSfzSnFSYiw==",
+					"dev": true,
+					"requires": {
+						"@babel/code-frame": "^7.8.0",
+						"@babel/parser": "^7.8.0",
+						"@babel/types": "^7.8.0"
+					}
+				},
+				"@babel/traverse": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.0.tgz",
+					"integrity": "sha512-d/6sPXFLGlJHZO/zWDtgFaKyalCOHLedzxpVJn6el1cw+f2TZa7xZEszeXdOw6EUemqRFBAn106BWBvtSck9Qw==",
+					"dev": true,
+					"requires": {
+						"@babel/code-frame": "^7.8.0",
+						"@babel/generator": "^7.8.0",
+						"@babel/helper-function-name": "^7.8.0",
+						"@babel/helper-split-export-declaration": "^7.8.0",
+						"@babel/parser": "^7.8.0",
+						"@babel/types": "^7.8.0",
+						"debug": "^4.1.0",
+						"globals": "^11.1.0",
+						"lodash": "^4.17.13"
+					}
+				},
+				"@babel/types": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.0.tgz",
+					"integrity": "sha512-1RF84ehyx9HH09dMMwGWl3UTWlVoCPtqqJPjGuC4JzMe1ZIVDJ2DT8mv3cPv/A7veLD6sgR7vi95lJqm+ZayIg==",
+					"dev": true,
+					"requires": {
+						"esutils": "^2.0.2",
+						"lodash": "^4.17.13",
+						"to-fast-properties": "^2.0.0"
+					}
+				},
+				"debug": {
+					"version": "4.1.1",
+					"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+					"integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+					"dev": true,
+					"requires": {
+						"ms": "^2.1.1"
+					}
+				},
+				"ms": {
+					"version": "2.1.2",
+					"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+					"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+					"dev": true
+				}
 			}
 		},
 		"@babel/helper-function-name": {
@@ -195,103 +636,510 @@
 			}
 		},
 		"@babel/helper-hoist-variables": {
-			"version": "7.4.4",
-			"resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz",
-			"integrity": "sha512-VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w==",
-			"dev": true,
-			"requires": {
-				"@babel/types": "^7.4.4"
-			}
-		},
-		"@babel/helper-member-expression-to-functions": {
-			"version": "7.5.5",
-			"resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz",
-			"integrity": "sha512-5qZ3D1uMclSNqYcXqiHoA0meVdv+xUEex9em2fqMnrk/scphGlGgg66zjMrPJESPwrFJ6sbfFQYUSa0Mz7FabA==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.8.0.tgz",
+			"integrity": "sha512-jDl66KvuklTXUADcoXDMur1jDtAZUZZkzLIaQ54+z38ih8C0V0hC56hMaoVoyoxN60MwQmmrHctBwcLqP0c/Lw==",
 			"dev": true,
 			"requires": {
-				"@babel/types": "^7.5.5"
+				"@babel/types": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/types": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.0.tgz",
+					"integrity": "sha512-1RF84ehyx9HH09dMMwGWl3UTWlVoCPtqqJPjGuC4JzMe1ZIVDJ2DT8mv3cPv/A7veLD6sgR7vi95lJqm+ZayIg==",
+					"dev": true,
+					"requires": {
+						"esutils": "^2.0.2",
+						"lodash": "^4.17.13",
+						"to-fast-properties": "^2.0.0"
+					}
+				}
+			}
+		},
+		"@babel/helper-member-expression-to-functions": {
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.0.tgz",
+			"integrity": "sha512-0m1QabGrdXuoxX/g+KOAGndoHwskC70WweqHRQyCsaO67KOEELYh4ECcGw6ZGKjDKa5Y7SW4Qbhw6ly4Fah/jQ==",
+			"dev": true,
+			"requires": {
+				"@babel/types": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/types": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.0.tgz",
+					"integrity": "sha512-1RF84ehyx9HH09dMMwGWl3UTWlVoCPtqqJPjGuC4JzMe1ZIVDJ2DT8mv3cPv/A7veLD6sgR7vi95lJqm+ZayIg==",
+					"dev": true,
+					"requires": {
+						"esutils": "^2.0.2",
+						"lodash": "^4.17.13",
+						"to-fast-properties": "^2.0.0"
+					}
+				}
 			}
 		},
 		"@babel/helper-module-imports": {
-			"version": "7.0.0",
-			"resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz",
-			"integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.0.tgz",
+			"integrity": "sha512-ylY9J6ZxEcjmJaJ4P6aVs/fZdrZVctCGnxxfYXwCnSMapqd544zT8lWK2qI/vBPjE5gS0o2jILnH+AkpsPauEQ==",
 			"dev": true,
 			"requires": {
-				"@babel/types": "^7.0.0"
+				"@babel/types": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/types": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.0.tgz",
+					"integrity": "sha512-1RF84ehyx9HH09dMMwGWl3UTWlVoCPtqqJPjGuC4JzMe1ZIVDJ2DT8mv3cPv/A7veLD6sgR7vi95lJqm+ZayIg==",
+					"dev": true,
+					"requires": {
+						"esutils": "^2.0.2",
+						"lodash": "^4.17.13",
+						"to-fast-properties": "^2.0.0"
+					}
+				}
 			}
 		},
 		"@babel/helper-module-transforms": {
-			"version": "7.5.5",
-			"resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.5.5.tgz",
-			"integrity": "sha512-jBeCvETKuJqeiaCdyaheF40aXnnU1+wkSiUs/IQg3tB85up1LyL8x77ClY8qJpuRJUcXQo+ZtdNESmZl4j56Pw==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.8.0.tgz",
+			"integrity": "sha512-fvGhX4FY7YwRdWW/zfddNaKpYl8TaA8hvwONIYhv1/a1ZbgxbTrjsmH6IGWUgUNki7QzbpZ27OEh88sZdft3YA==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-module-imports": "^7.0.0",
-				"@babel/helper-simple-access": "^7.1.0",
-				"@babel/helper-split-export-declaration": "^7.4.4",
-				"@babel/template": "^7.4.4",
-				"@babel/types": "^7.5.5",
+				"@babel/helper-module-imports": "^7.8.0",
+				"@babel/helper-simple-access": "^7.8.0",
+				"@babel/helper-split-export-declaration": "^7.8.0",
+				"@babel/template": "^7.8.0",
+				"@babel/types": "^7.8.0",
 				"lodash": "^4.17.13"
+			},
+			"dependencies": {
+				"@babel/code-frame": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.0.tgz",
+					"integrity": "sha512-AN2IR/wCUYsM+PdErq6Bp3RFTXl8W0p9Nmymm7zkpsCmh+r/YYcckaCGpU8Q/mEKmST19kkGRaG42A/jxOWwBA==",
+					"dev": true,
+					"requires": {
+						"@babel/highlight": "^7.8.0"
+					}
+				},
+				"@babel/helper-split-export-declaration": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.0.tgz",
+					"integrity": "sha512-YhYFhH4T6DlbT6CPtVgLfC1Jp2gbCawU/ml7WJvUpBg01bCrXSzTYMZZXbbIGjq/kHmK8YUATxTppcRGzj31pA==",
+					"dev": true,
+					"requires": {
+						"@babel/types": "^7.8.0"
+					}
+				},
+				"@babel/highlight": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.0.tgz",
+					"integrity": "sha512-OsdTJbHlPtIk2mmtwXItYrdmalJ8T0zpVzNAbKSkHshuywj7zb29Y09McV/jQsQunc/nEyHiPV2oy9llYMLqxw==",
+					"dev": true,
+					"requires": {
+						"chalk": "^2.0.0",
+						"esutils": "^2.0.2",
+						"js-tokens": "^4.0.0"
+					}
+				},
+				"@babel/parser": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.0.tgz",
+					"integrity": "sha512-VVtsnUYbd1+2A2vOVhm4P2qNXQE8L/W859GpUHfUcdhX8d3pEKThZuIr6fztocWx9HbK+00/CR0tXnhAggJ4CA==",
+					"dev": true
+				},
+				"@babel/template": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.0.tgz",
+					"integrity": "sha512-0NNMDsY2t3ltAVVK1WHNiaePo3tXPUeJpCX4I3xSKFoEl852wJHG8mrgHVADf8Lz1y+8al9cF7cSSfzSnFSYiw==",
+					"dev": true,
+					"requires": {
+						"@babel/code-frame": "^7.8.0",
+						"@babel/parser": "^7.8.0",
+						"@babel/types": "^7.8.0"
+					}
+				},
+				"@babel/types": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.0.tgz",
+					"integrity": "sha512-1RF84ehyx9HH09dMMwGWl3UTWlVoCPtqqJPjGuC4JzMe1ZIVDJ2DT8mv3cPv/A7veLD6sgR7vi95lJqm+ZayIg==",
+					"dev": true,
+					"requires": {
+						"esutils": "^2.0.2",
+						"lodash": "^4.17.13",
+						"to-fast-properties": "^2.0.0"
+					}
+				}
 			}
 		},
 		"@babel/helper-optimise-call-expression": {
-			"version": "7.0.0",
-			"resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz",
-			"integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.0.tgz",
+			"integrity": "sha512-aiJt1m+K57y0n10fTw+QXcCXzmpkG+o+NoQmAZqlZPstkTE0PZT+Z27QSd/6Gf00nuXJQO4NiJ0/YagSW5kC2A==",
 			"dev": true,
 			"requires": {
-				"@babel/types": "^7.0.0"
+				"@babel/types": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/types": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.0.tgz",
+					"integrity": "sha512-1RF84ehyx9HH09dMMwGWl3UTWlVoCPtqqJPjGuC4JzMe1ZIVDJ2DT8mv3cPv/A7veLD6sgR7vi95lJqm+ZayIg==",
+					"dev": true,
+					"requires": {
+						"esutils": "^2.0.2",
+						"lodash": "^4.17.13",
+						"to-fast-properties": "^2.0.0"
+					}
+				}
 			}
 		},
 		"@babel/helper-plugin-utils": {
-			"version": "7.0.0",
-			"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz",
-			"integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz",
+			"integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==",
 			"dev": true
 		},
 		"@babel/helper-regex": {
-			"version": "7.5.5",
-			"resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.5.5.tgz",
-			"integrity": "sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.8.0.tgz",
+			"integrity": "sha512-haD8fRsPtyFZkbtxBIaGBBHRtbn0YsyecdYrxNgO0Bl6SlGokJPQX9M2tDuVbeQBYHZVLUPMSwGQn4obHevsMQ==",
 			"dev": true,
 			"requires": {
 				"lodash": "^4.17.13"
 			}
 		},
 		"@babel/helper-remap-async-to-generator": {
-			"version": "7.1.0",
-			"resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz",
-			"integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.8.0.tgz",
+			"integrity": "sha512-+aKyBd4oHAaIZgOLq/uLjkUz7ExZ0ppdNBc8Qr72BmtKNAy3A6EJa/ifjj0//CIzQtUDPs3E6HjKM2cV6bnXsQ==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-annotate-as-pure": "^7.0.0",
-				"@babel/helper-wrap-function": "^7.1.0",
-				"@babel/template": "^7.1.0",
-				"@babel/traverse": "^7.1.0",
-				"@babel/types": "^7.0.0"
+				"@babel/helper-annotate-as-pure": "^7.8.0",
+				"@babel/helper-wrap-function": "^7.8.0",
+				"@babel/template": "^7.8.0",
+				"@babel/traverse": "^7.8.0",
+				"@babel/types": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/code-frame": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.0.tgz",
+					"integrity": "sha512-AN2IR/wCUYsM+PdErq6Bp3RFTXl8W0p9Nmymm7zkpsCmh+r/YYcckaCGpU8Q/mEKmST19kkGRaG42A/jxOWwBA==",
+					"dev": true,
+					"requires": {
+						"@babel/highlight": "^7.8.0"
+					}
+				},
+				"@babel/generator": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.0.tgz",
+					"integrity": "sha512-2Lp2e02CV2C7j/H4n4D9YvsvdhPVVg9GDIamr6Tu4tU35mL3mzOrzl1lZ8ZJtysfZXh+y+AGORc2rPS7yHxBUg==",
+					"dev": true,
+					"requires": {
+						"@babel/types": "^7.8.0",
+						"jsesc": "^2.5.1",
+						"lodash": "^4.17.13",
+						"source-map": "^0.5.0"
+					}
+				},
+				"@babel/helper-function-name": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.0.tgz",
+					"integrity": "sha512-x9psucuU0Xalw+0Vpr2FYJMLB7/KnPSLZhlkUyOGbYAWRDfmtZBrguYpJYiaNCRV7vGkYjO/gF6/J6yMvdWTDw==",
+					"dev": true,
+					"requires": {
+						"@babel/helper-get-function-arity": "^7.8.0",
+						"@babel/template": "^7.8.0",
+						"@babel/types": "^7.8.0"
+					}
+				},
+				"@babel/helper-get-function-arity": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.0.tgz",
+					"integrity": "sha512-eUP5grliToMapQiTaYS2AAO/WwaCG7cuJztR1v/a1aPzUzUeGt+AaI9OvLATc/AfFkF8SLJ10d5ugGt/AQ9d6w==",
+					"dev": true,
+					"requires": {
+						"@babel/types": "^7.8.0"
+					}
+				},
+				"@babel/helper-split-export-declaration": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.0.tgz",
+					"integrity": "sha512-YhYFhH4T6DlbT6CPtVgLfC1Jp2gbCawU/ml7WJvUpBg01bCrXSzTYMZZXbbIGjq/kHmK8YUATxTppcRGzj31pA==",
+					"dev": true,
+					"requires": {
+						"@babel/types": "^7.8.0"
+					}
+				},
+				"@babel/highlight": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.0.tgz",
+					"integrity": "sha512-OsdTJbHlPtIk2mmtwXItYrdmalJ8T0zpVzNAbKSkHshuywj7zb29Y09McV/jQsQunc/nEyHiPV2oy9llYMLqxw==",
+					"dev": true,
+					"requires": {
+						"chalk": "^2.0.0",
+						"esutils": "^2.0.2",
+						"js-tokens": "^4.0.0"
+					}
+				},
+				"@babel/parser": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.0.tgz",
+					"integrity": "sha512-VVtsnUYbd1+2A2vOVhm4P2qNXQE8L/W859GpUHfUcdhX8d3pEKThZuIr6fztocWx9HbK+00/CR0tXnhAggJ4CA==",
+					"dev": true
+				},
+				"@babel/template": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.0.tgz",
+					"integrity": "sha512-0NNMDsY2t3ltAVVK1WHNiaePo3tXPUeJpCX4I3xSKFoEl852wJHG8mrgHVADf8Lz1y+8al9cF7cSSfzSnFSYiw==",
+					"dev": true,
+					"requires": {
+						"@babel/code-frame": "^7.8.0",
+						"@babel/parser": "^7.8.0",
+						"@babel/types": "^7.8.0"
+					}
+				},
+				"@babel/traverse": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.0.tgz",
+					"integrity": "sha512-d/6sPXFLGlJHZO/zWDtgFaKyalCOHLedzxpVJn6el1cw+f2TZa7xZEszeXdOw6EUemqRFBAn106BWBvtSck9Qw==",
+					"dev": true,
+					"requires": {
+						"@babel/code-frame": "^7.8.0",
+						"@babel/generator": "^7.8.0",
+						"@babel/helper-function-name": "^7.8.0",
+						"@babel/helper-split-export-declaration": "^7.8.0",
+						"@babel/parser": "^7.8.0",
+						"@babel/types": "^7.8.0",
+						"debug": "^4.1.0",
+						"globals": "^11.1.0",
+						"lodash": "^4.17.13"
+					}
+				},
+				"@babel/types": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.0.tgz",
+					"integrity": "sha512-1RF84ehyx9HH09dMMwGWl3UTWlVoCPtqqJPjGuC4JzMe1ZIVDJ2DT8mv3cPv/A7veLD6sgR7vi95lJqm+ZayIg==",
+					"dev": true,
+					"requires": {
+						"esutils": "^2.0.2",
+						"lodash": "^4.17.13",
+						"to-fast-properties": "^2.0.0"
+					}
+				},
+				"debug": {
+					"version": "4.1.1",
+					"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+					"integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+					"dev": true,
+					"requires": {
+						"ms": "^2.1.1"
+					}
+				},
+				"ms": {
+					"version": "2.1.2",
+					"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+					"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+					"dev": true
+				}
 			}
 		},
 		"@babel/helper-replace-supers": {
-			"version": "7.5.5",
-			"resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz",
-			"integrity": "sha512-XvRFWrNnlsow2u7jXDuH4jDDctkxbS7gXssrP4q2nUD606ukXHRvydj346wmNg+zAgpFx4MWf4+usfC93bElJg==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.8.0.tgz",
+			"integrity": "sha512-R2CyorW4tcO3YzdkClLpt6MS84G+tPkOi0MmiCn1bvYVnmDpdl9R15XOi3NQW2mhOAEeBnuQ4g1Bh7pT2sX8fg==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-member-expression-to-functions": "^7.5.5",
-				"@babel/helper-optimise-call-expression": "^7.0.0",
-				"@babel/traverse": "^7.5.5",
-				"@babel/types": "^7.5.5"
+				"@babel/helper-member-expression-to-functions": "^7.8.0",
+				"@babel/helper-optimise-call-expression": "^7.8.0",
+				"@babel/traverse": "^7.8.0",
+				"@babel/types": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/code-frame": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.0.tgz",
+					"integrity": "sha512-AN2IR/wCUYsM+PdErq6Bp3RFTXl8W0p9Nmymm7zkpsCmh+r/YYcckaCGpU8Q/mEKmST19kkGRaG42A/jxOWwBA==",
+					"dev": true,
+					"requires": {
+						"@babel/highlight": "^7.8.0"
+					}
+				},
+				"@babel/generator": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.0.tgz",
+					"integrity": "sha512-2Lp2e02CV2C7j/H4n4D9YvsvdhPVVg9GDIamr6Tu4tU35mL3mzOrzl1lZ8ZJtysfZXh+y+AGORc2rPS7yHxBUg==",
+					"dev": true,
+					"requires": {
+						"@babel/types": "^7.8.0",
+						"jsesc": "^2.5.1",
+						"lodash": "^4.17.13",
+						"source-map": "^0.5.0"
+					}
+				},
+				"@babel/helper-function-name": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.0.tgz",
+					"integrity": "sha512-x9psucuU0Xalw+0Vpr2FYJMLB7/KnPSLZhlkUyOGbYAWRDfmtZBrguYpJYiaNCRV7vGkYjO/gF6/J6yMvdWTDw==",
+					"dev": true,
+					"requires": {
+						"@babel/helper-get-function-arity": "^7.8.0",
+						"@babel/template": "^7.8.0",
+						"@babel/types": "^7.8.0"
+					}
+				},
+				"@babel/helper-get-function-arity": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.0.tgz",
+					"integrity": "sha512-eUP5grliToMapQiTaYS2AAO/WwaCG7cuJztR1v/a1aPzUzUeGt+AaI9OvLATc/AfFkF8SLJ10d5ugGt/AQ9d6w==",
+					"dev": true,
+					"requires": {
+						"@babel/types": "^7.8.0"
+					}
+				},
+				"@babel/helper-split-export-declaration": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.0.tgz",
+					"integrity": "sha512-YhYFhH4T6DlbT6CPtVgLfC1Jp2gbCawU/ml7WJvUpBg01bCrXSzTYMZZXbbIGjq/kHmK8YUATxTppcRGzj31pA==",
+					"dev": true,
+					"requires": {
+						"@babel/types": "^7.8.0"
+					}
+				},
+				"@babel/highlight": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.0.tgz",
+					"integrity": "sha512-OsdTJbHlPtIk2mmtwXItYrdmalJ8T0zpVzNAbKSkHshuywj7zb29Y09McV/jQsQunc/nEyHiPV2oy9llYMLqxw==",
+					"dev": true,
+					"requires": {
+						"chalk": "^2.0.0",
+						"esutils": "^2.0.2",
+						"js-tokens": "^4.0.0"
+					}
+				},
+				"@babel/parser": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.0.tgz",
+					"integrity": "sha512-VVtsnUYbd1+2A2vOVhm4P2qNXQE8L/W859GpUHfUcdhX8d3pEKThZuIr6fztocWx9HbK+00/CR0tXnhAggJ4CA==",
+					"dev": true
+				},
+				"@babel/template": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.0.tgz",
+					"integrity": "sha512-0NNMDsY2t3ltAVVK1WHNiaePo3tXPUeJpCX4I3xSKFoEl852wJHG8mrgHVADf8Lz1y+8al9cF7cSSfzSnFSYiw==",
+					"dev": true,
+					"requires": {
+						"@babel/code-frame": "^7.8.0",
+						"@babel/parser": "^7.8.0",
+						"@babel/types": "^7.8.0"
+					}
+				},
+				"@babel/traverse": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.0.tgz",
+					"integrity": "sha512-d/6sPXFLGlJHZO/zWDtgFaKyalCOHLedzxpVJn6el1cw+f2TZa7xZEszeXdOw6EUemqRFBAn106BWBvtSck9Qw==",
+					"dev": true,
+					"requires": {
+						"@babel/code-frame": "^7.8.0",
+						"@babel/generator": "^7.8.0",
+						"@babel/helper-function-name": "^7.8.0",
+						"@babel/helper-split-export-declaration": "^7.8.0",
+						"@babel/parser": "^7.8.0",
+						"@babel/types": "^7.8.0",
+						"debug": "^4.1.0",
+						"globals": "^11.1.0",
+						"lodash": "^4.17.13"
+					}
+				},
+				"@babel/types": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.0.tgz",
+					"integrity": "sha512-1RF84ehyx9HH09dMMwGWl3UTWlVoCPtqqJPjGuC4JzMe1ZIVDJ2DT8mv3cPv/A7veLD6sgR7vi95lJqm+ZayIg==",
+					"dev": true,
+					"requires": {
+						"esutils": "^2.0.2",
+						"lodash": "^4.17.13",
+						"to-fast-properties": "^2.0.0"
+					}
+				},
+				"debug": {
+					"version": "4.1.1",
+					"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+					"integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+					"dev": true,
+					"requires": {
+						"ms": "^2.1.1"
+					}
+				},
+				"ms": {
+					"version": "2.1.2",
+					"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+					"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+					"dev": true
+				}
 			}
 		},
 		"@babel/helper-simple-access": {
-			"version": "7.1.0",
-			"resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz",
-			"integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.0.tgz",
+			"integrity": "sha512-I+7yKZJnxp7VIC2UFzXfVjLiJuU16rYFF59x27c+boINkO/pLETgZcoesCryg9jmU4jxEa0foFueW+2wjc9Gsw==",
 			"dev": true,
 			"requires": {
-				"@babel/template": "^7.1.0",
-				"@babel/types": "^7.0.0"
+				"@babel/template": "^7.8.0",
+				"@babel/types": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/code-frame": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.0.tgz",
+					"integrity": "sha512-AN2IR/wCUYsM+PdErq6Bp3RFTXl8W0p9Nmymm7zkpsCmh+r/YYcckaCGpU8Q/mEKmST19kkGRaG42A/jxOWwBA==",
+					"dev": true,
+					"requires": {
+						"@babel/highlight": "^7.8.0"
+					}
+				},
+				"@babel/highlight": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.0.tgz",
+					"integrity": "sha512-OsdTJbHlPtIk2mmtwXItYrdmalJ8T0zpVzNAbKSkHshuywj7zb29Y09McV/jQsQunc/nEyHiPV2oy9llYMLqxw==",
+					"dev": true,
+					"requires": {
+						"chalk": "^2.0.0",
+						"esutils": "^2.0.2",
+						"js-tokens": "^4.0.0"
+					}
+				},
+				"@babel/parser": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.0.tgz",
+					"integrity": "sha512-VVtsnUYbd1+2A2vOVhm4P2qNXQE8L/W859GpUHfUcdhX8d3pEKThZuIr6fztocWx9HbK+00/CR0tXnhAggJ4CA==",
+					"dev": true
+				},
+				"@babel/template": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.0.tgz",
+					"integrity": "sha512-0NNMDsY2t3ltAVVK1WHNiaePo3tXPUeJpCX4I3xSKFoEl852wJHG8mrgHVADf8Lz1y+8al9cF7cSSfzSnFSYiw==",
+					"dev": true,
+					"requires": {
+						"@babel/code-frame": "^7.8.0",
+						"@babel/parser": "^7.8.0",
+						"@babel/types": "^7.8.0"
+					}
+				},
+				"@babel/types": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.0.tgz",
+					"integrity": "sha512-1RF84ehyx9HH09dMMwGWl3UTWlVoCPtqqJPjGuC4JzMe1ZIVDJ2DT8mv3cPv/A7veLD6sgR7vi95lJqm+ZayIg==",
+					"dev": true,
+					"requires": {
+						"esutils": "^2.0.2",
+						"lodash": "^4.17.13",
+						"to-fast-properties": "^2.0.0"
+					}
+				}
 			}
 		},
 		"@babel/helper-split-export-declaration": {
@@ -304,79 +1152,250 @@
 			}
 		},
 		"@babel/helper-wrap-function": {
-			"version": "7.2.0",
-			"resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz",
-			"integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.8.0.tgz",
+			"integrity": "sha512-2j6idN2jt8Y+8nJ4UPN/6AZa53DAkcETMVmroJQh50qZc59PuQKVjgOIIqmrLoQf6Ia9bs90MHRcID1OW5tfag==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-function-name": "^7.1.0",
-				"@babel/template": "^7.1.0",
-				"@babel/traverse": "^7.1.0",
-				"@babel/types": "^7.2.0"
+				"@babel/helper-function-name": "^7.8.0",
+				"@babel/template": "^7.8.0",
+				"@babel/traverse": "^7.8.0",
+				"@babel/types": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/code-frame": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.0.tgz",
+					"integrity": "sha512-AN2IR/wCUYsM+PdErq6Bp3RFTXl8W0p9Nmymm7zkpsCmh+r/YYcckaCGpU8Q/mEKmST19kkGRaG42A/jxOWwBA==",
+					"dev": true,
+					"requires": {
+						"@babel/highlight": "^7.8.0"
+					}
+				},
+				"@babel/generator": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.0.tgz",
+					"integrity": "sha512-2Lp2e02CV2C7j/H4n4D9YvsvdhPVVg9GDIamr6Tu4tU35mL3mzOrzl1lZ8ZJtysfZXh+y+AGORc2rPS7yHxBUg==",
+					"dev": true,
+					"requires": {
+						"@babel/types": "^7.8.0",
+						"jsesc": "^2.5.1",
+						"lodash": "^4.17.13",
+						"source-map": "^0.5.0"
+					}
+				},
+				"@babel/helper-function-name": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.0.tgz",
+					"integrity": "sha512-x9psucuU0Xalw+0Vpr2FYJMLB7/KnPSLZhlkUyOGbYAWRDfmtZBrguYpJYiaNCRV7vGkYjO/gF6/J6yMvdWTDw==",
+					"dev": true,
+					"requires": {
+						"@babel/helper-get-function-arity": "^7.8.0",
+						"@babel/template": "^7.8.0",
+						"@babel/types": "^7.8.0"
+					}
+				},
+				"@babel/helper-get-function-arity": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.0.tgz",
+					"integrity": "sha512-eUP5grliToMapQiTaYS2AAO/WwaCG7cuJztR1v/a1aPzUzUeGt+AaI9OvLATc/AfFkF8SLJ10d5ugGt/AQ9d6w==",
+					"dev": true,
+					"requires": {
+						"@babel/types": "^7.8.0"
+					}
+				},
+				"@babel/helper-split-export-declaration": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.0.tgz",
+					"integrity": "sha512-YhYFhH4T6DlbT6CPtVgLfC1Jp2gbCawU/ml7WJvUpBg01bCrXSzTYMZZXbbIGjq/kHmK8YUATxTppcRGzj31pA==",
+					"dev": true,
+					"requires": {
+						"@babel/types": "^7.8.0"
+					}
+				},
+				"@babel/highlight": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.0.tgz",
+					"integrity": "sha512-OsdTJbHlPtIk2mmtwXItYrdmalJ8T0zpVzNAbKSkHshuywj7zb29Y09McV/jQsQunc/nEyHiPV2oy9llYMLqxw==",
+					"dev": true,
+					"requires": {
+						"chalk": "^2.0.0",
+						"esutils": "^2.0.2",
+						"js-tokens": "^4.0.0"
+					}
+				},
+				"@babel/parser": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.0.tgz",
+					"integrity": "sha512-VVtsnUYbd1+2A2vOVhm4P2qNXQE8L/W859GpUHfUcdhX8d3pEKThZuIr6fztocWx9HbK+00/CR0tXnhAggJ4CA==",
+					"dev": true
+				},
+				"@babel/template": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.0.tgz",
+					"integrity": "sha512-0NNMDsY2t3ltAVVK1WHNiaePo3tXPUeJpCX4I3xSKFoEl852wJHG8mrgHVADf8Lz1y+8al9cF7cSSfzSnFSYiw==",
+					"dev": true,
+					"requires": {
+						"@babel/code-frame": "^7.8.0",
+						"@babel/parser": "^7.8.0",
+						"@babel/types": "^7.8.0"
+					}
+				},
+				"@babel/traverse": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.0.tgz",
+					"integrity": "sha512-d/6sPXFLGlJHZO/zWDtgFaKyalCOHLedzxpVJn6el1cw+f2TZa7xZEszeXdOw6EUemqRFBAn106BWBvtSck9Qw==",
+					"dev": true,
+					"requires": {
+						"@babel/code-frame": "^7.8.0",
+						"@babel/generator": "^7.8.0",
+						"@babel/helper-function-name": "^7.8.0",
+						"@babel/helper-split-export-declaration": "^7.8.0",
+						"@babel/parser": "^7.8.0",
+						"@babel/types": "^7.8.0",
+						"debug": "^4.1.0",
+						"globals": "^11.1.0",
+						"lodash": "^4.17.13"
+					}
+				},
+				"@babel/types": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.0.tgz",
+					"integrity": "sha512-1RF84ehyx9HH09dMMwGWl3UTWlVoCPtqqJPjGuC4JzMe1ZIVDJ2DT8mv3cPv/A7veLD6sgR7vi95lJqm+ZayIg==",
+					"dev": true,
+					"requires": {
+						"esutils": "^2.0.2",
+						"lodash": "^4.17.13",
+						"to-fast-properties": "^2.0.0"
+					}
+				},
+				"debug": {
+					"version": "4.1.1",
+					"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+					"integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+					"dev": true,
+					"requires": {
+						"ms": "^2.1.1"
+					}
+				},
+				"ms": {
+					"version": "2.1.2",
+					"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+					"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+					"dev": true
+				}
 			}
 		},
 		"@babel/helpers": {
-			"version": "7.6.0",
-			"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.6.0.tgz",
-			"integrity": "sha512-W9kao7OBleOjfXtFGgArGRX6eCP0UEcA2ZWEWNkJdRZnHhW4eEbeswbG3EwaRsnQUAEGWYgMq1HsIXuNNNy2eQ==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.8.0.tgz",
+			"integrity": "sha512-srWKpjAFbiut5JoCReZJ098hLqoZ9HufOnKZPggc7j74XaPuQ+9b3RYPV1M/HfjL63lCNd8uI1O487qIWxAFNA==",
 			"dev": true,
 			"requires": {
-				"@babel/template": "^7.6.0",
-				"@babel/traverse": "^7.6.0",
-				"@babel/types": "^7.6.0"
+				"@babel/template": "^7.8.0",
+				"@babel/traverse": "^7.8.0",
+				"@babel/types": "^7.8.0"
 			},
 			"dependencies": {
+				"@babel/code-frame": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.0.tgz",
+					"integrity": "sha512-AN2IR/wCUYsM+PdErq6Bp3RFTXl8W0p9Nmymm7zkpsCmh+r/YYcckaCGpU8Q/mEKmST19kkGRaG42A/jxOWwBA==",
+					"dev": true,
+					"requires": {
+						"@babel/highlight": "^7.8.0"
+					}
+				},
 				"@babel/generator": {
-					"version": "7.6.0",
-					"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.6.0.tgz",
-					"integrity": "sha512-Ms8Mo7YBdMMn1BYuNtKuP/z0TgEIhbcyB8HVR6PPNYp4P61lMsABiS4A3VG1qznjXVCf3r+fVHhm4efTYVsySA==",
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.0.tgz",
+					"integrity": "sha512-2Lp2e02CV2C7j/H4n4D9YvsvdhPVVg9GDIamr6Tu4tU35mL3mzOrzl1lZ8ZJtysfZXh+y+AGORc2rPS7yHxBUg==",
 					"dev": true,
 					"requires": {
-						"@babel/types": "^7.6.0",
+						"@babel/types": "^7.8.0",
 						"jsesc": "^2.5.1",
 						"lodash": "^4.17.13",
-						"source-map": "^0.5.0",
-						"trim-right": "^1.0.1"
+						"source-map": "^0.5.0"
+					}
+				},
+				"@babel/helper-function-name": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.0.tgz",
+					"integrity": "sha512-x9psucuU0Xalw+0Vpr2FYJMLB7/KnPSLZhlkUyOGbYAWRDfmtZBrguYpJYiaNCRV7vGkYjO/gF6/J6yMvdWTDw==",
+					"dev": true,
+					"requires": {
+						"@babel/helper-get-function-arity": "^7.8.0",
+						"@babel/template": "^7.8.0",
+						"@babel/types": "^7.8.0"
+					}
+				},
+				"@babel/helper-get-function-arity": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.0.tgz",
+					"integrity": "sha512-eUP5grliToMapQiTaYS2AAO/WwaCG7cuJztR1v/a1aPzUzUeGt+AaI9OvLATc/AfFkF8SLJ10d5ugGt/AQ9d6w==",
+					"dev": true,
+					"requires": {
+						"@babel/types": "^7.8.0"
+					}
+				},
+				"@babel/helper-split-export-declaration": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.0.tgz",
+					"integrity": "sha512-YhYFhH4T6DlbT6CPtVgLfC1Jp2gbCawU/ml7WJvUpBg01bCrXSzTYMZZXbbIGjq/kHmK8YUATxTppcRGzj31pA==",
+					"dev": true,
+					"requires": {
+						"@babel/types": "^7.8.0"
+					}
+				},
+				"@babel/highlight": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.0.tgz",
+					"integrity": "sha512-OsdTJbHlPtIk2mmtwXItYrdmalJ8T0zpVzNAbKSkHshuywj7zb29Y09McV/jQsQunc/nEyHiPV2oy9llYMLqxw==",
+					"dev": true,
+					"requires": {
+						"chalk": "^2.0.0",
+						"esutils": "^2.0.2",
+						"js-tokens": "^4.0.0"
 					}
 				},
 				"@babel/parser": {
-					"version": "7.6.0",
-					"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.6.0.tgz",
-					"integrity": "sha512-+o2q111WEx4srBs7L9eJmcwi655eD8sXniLqMB93TBK9GrNzGrxDWSjiqz2hLU0Ha8MTXFIP0yd9fNdP+m43ZQ==",
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.0.tgz",
+					"integrity": "sha512-VVtsnUYbd1+2A2vOVhm4P2qNXQE8L/W859GpUHfUcdhX8d3pEKThZuIr6fztocWx9HbK+00/CR0tXnhAggJ4CA==",
 					"dev": true
 				},
 				"@babel/template": {
-					"version": "7.6.0",
-					"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.6.0.tgz",
-					"integrity": "sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ==",
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.0.tgz",
+					"integrity": "sha512-0NNMDsY2t3ltAVVK1WHNiaePo3tXPUeJpCX4I3xSKFoEl852wJHG8mrgHVADf8Lz1y+8al9cF7cSSfzSnFSYiw==",
 					"dev": true,
 					"requires": {
-						"@babel/code-frame": "^7.0.0",
-						"@babel/parser": "^7.6.0",
-						"@babel/types": "^7.6.0"
+						"@babel/code-frame": "^7.8.0",
+						"@babel/parser": "^7.8.0",
+						"@babel/types": "^7.8.0"
 					}
 				},
 				"@babel/traverse": {
-					"version": "7.6.0",
-					"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.6.0.tgz",
-					"integrity": "sha512-93t52SaOBgml/xY74lsmt7xOR4ufYvhb5c5qiM6lu4J/dWGMAfAh6eKw4PjLes6DI6nQgearoxnFJk60YchpvQ==",
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.0.tgz",
+					"integrity": "sha512-d/6sPXFLGlJHZO/zWDtgFaKyalCOHLedzxpVJn6el1cw+f2TZa7xZEszeXdOw6EUemqRFBAn106BWBvtSck9Qw==",
 					"dev": true,
 					"requires": {
-						"@babel/code-frame": "^7.5.5",
-						"@babel/generator": "^7.6.0",
-						"@babel/helper-function-name": "^7.1.0",
-						"@babel/helper-split-export-declaration": "^7.4.4",
-						"@babel/parser": "^7.6.0",
-						"@babel/types": "^7.6.0",
+						"@babel/code-frame": "^7.8.0",
+						"@babel/generator": "^7.8.0",
+						"@babel/helper-function-name": "^7.8.0",
+						"@babel/helper-split-export-declaration": "^7.8.0",
+						"@babel/parser": "^7.8.0",
+						"@babel/types": "^7.8.0",
 						"debug": "^4.1.0",
 						"globals": "^11.1.0",
 						"lodash": "^4.17.13"
 					}
 				},
 				"@babel/types": {
-					"version": "7.6.1",
-					"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.1.tgz",
-					"integrity": "sha512-X7gdiuaCmA0uRjCmRtYJNAVCc/q+5xSgsfKJHqMN4iNLILX39677fJE1O40arPMh0TTtS9ItH67yre6c7k6t0g==",
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.0.tgz",
+					"integrity": "sha512-1RF84ehyx9HH09dMMwGWl3UTWlVoCPtqqJPjGuC4JzMe1ZIVDJ2DT8mv3cPv/A7veLD6sgR7vi95lJqm+ZayIg==",
 					"dev": true,
 					"requires": {
 						"esutils": "^2.0.2",
@@ -419,491 +1438,1084 @@
 			"dev": true
 		},
 		"@babel/plugin-proposal-async-generator-functions": {
-			"version": "7.2.0",
-			"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz",
-			"integrity": "sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.0.tgz",
+			"integrity": "sha512-8vIQf8JYced7gCeKDsGETNGKE+zdD/JmP1LBlRn+w3UXc1aSpZv2Y330bB/fnOEbUgPbuFv+IEi+gopg+Fu0kQ==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-plugin-utils": "^7.0.0",
-				"@babel/helper-remap-async-to-generator": "^7.1.0",
-				"@babel/plugin-syntax-async-generators": "^7.2.0"
+				"@babel/helper-plugin-utils": "^7.8.0",
+				"@babel/helper-remap-async-to-generator": "^7.8.0",
+				"@babel/plugin-syntax-async-generators": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/helper-plugin-utils": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz",
+					"integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==",
+					"dev": true
+				}
 			}
 		},
 		"@babel/plugin-proposal-dynamic-import": {
-			"version": "7.5.0",
-			"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.5.0.tgz",
-			"integrity": "sha512-x/iMjggsKTFHYC6g11PL7Qy58IK8H5zqfm9e6hu4z1iH2IRyAp9u9dL80zA6R76yFovETFLKz2VJIC2iIPBuFw==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.8.0.tgz",
+			"integrity": "sha512-YzMq0AqeTR4Mh2pz3GrCWqhcEV38HgUMMR/56/YR5GPc4Y2p1KJ4Le6j92vMnW8TJqVj+qJz/KDNglpMeww9Yg==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-plugin-utils": "^7.0.0",
-				"@babel/plugin-syntax-dynamic-import": "^7.2.0"
+				"@babel/helper-plugin-utils": "^7.8.0",
+				"@babel/plugin-syntax-dynamic-import": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/helper-plugin-utils": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz",
+					"integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==",
+					"dev": true
+				},
+				"@babel/plugin-syntax-dynamic-import": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.0.tgz",
+					"integrity": "sha512-Mx2RzpCHJaBfmFdA2abXDKRHVJdzJ6R0Wqwb6TxCgM7NRR5wcC4cyiAsRL7Ga+lwG8GG1cKvb+4ENjic8y15jA==",
+					"dev": true,
+					"requires": {
+						"@babel/helper-plugin-utils": "^7.8.0"
+					}
+				}
 			}
 		},
 		"@babel/plugin-proposal-json-strings": {
-			"version": "7.2.0",
-			"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz",
-			"integrity": "sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.8.0.tgz",
+			"integrity": "sha512-pSpuhwn926vtNeUH2FHx1OzIXaUMgklG0MzlFZJVEg37fB904gOxN572NgBae+KDwFyZDpkLMyEkVA011lBJrQ==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-plugin-utils": "^7.8.0",
+				"@babel/plugin-syntax-json-strings": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/helper-plugin-utils": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz",
+					"integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==",
+					"dev": true
+				}
+			}
+		},
+		"@babel/plugin-proposal-nullish-coalescing-operator": {
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.8.0.tgz",
+			"integrity": "sha512-cQMI+RQdcK2IyMm13NKKFCYfOSBUtFxEeRBOdFCi2Pubv/CpkrCubc/ikdeKMT6Lu+uQ+lNSDEJvDCOQZkUy0g==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-plugin-utils": "^7.0.0",
-				"@babel/plugin-syntax-json-strings": "^7.2.0"
+				"@babel/helper-plugin-utils": "^7.8.0",
+				"@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/helper-plugin-utils": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz",
+					"integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==",
+					"dev": true
+				}
 			}
 		},
 		"@babel/plugin-proposal-object-rest-spread": {
-			"version": "7.5.5",
-			"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.5.5.tgz",
-			"integrity": "sha512-F2DxJJSQ7f64FyTVl5cw/9MWn6naXGdk3Q3UhDbFEEHv+EilCPoeRD3Zh/Utx1CJz4uyKlQ4uH+bJPbEhMV7Zw==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.8.0.tgz",
+			"integrity": "sha512-SjJ2ZXCylpWC+5DTES0/pbpNmw/FnjU/3dF068xF0DU9aN+oOKah+3MCSFcb4pnZ9IwmxfOy4KnbGJSQR+hAZA==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-plugin-utils": "^7.0.0",
-				"@babel/plugin-syntax-object-rest-spread": "^7.2.0"
+				"@babel/helper-plugin-utils": "^7.8.0",
+				"@babel/plugin-syntax-object-rest-spread": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/helper-plugin-utils": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz",
+					"integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==",
+					"dev": true
+				}
 			}
 		},
 		"@babel/plugin-proposal-optional-catch-binding": {
-			"version": "7.2.0",
-			"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz",
-			"integrity": "sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.8.0.tgz",
+			"integrity": "sha512-tHP3eez6TrpPJYttBZ/6uItRbIuXUIDpQ9xwvzKwR+RboWGMJ7WzFC5dDJ3vjLuCx0/DG1tM0MVkmgcBybth9w==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-plugin-utils": "^7.8.0",
+				"@babel/plugin-syntax-optional-catch-binding": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/helper-plugin-utils": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz",
+					"integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==",
+					"dev": true
+				}
+			}
+		},
+		"@babel/plugin-proposal-optional-chaining": {
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.8.0.tgz",
+			"integrity": "sha512-PNBHxPHE91m+LLOdGwlvyGicWfrMgiVwng5WdB3CMjd61+vn3vPw0GbgECIAUCZnyi7Jqs5htUIZRztGuV8/5g==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-plugin-utils": "^7.0.0",
-				"@babel/plugin-syntax-optional-catch-binding": "^7.2.0"
+				"@babel/helper-plugin-utils": "^7.8.0",
+				"@babel/plugin-syntax-optional-chaining": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/helper-plugin-utils": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz",
+					"integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==",
+					"dev": true
+				}
 			}
 		},
 		"@babel/plugin-proposal-unicode-property-regex": {
-			"version": "7.4.4",
-			"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.4.tgz",
-			"integrity": "sha512-j1NwnOqMG9mFUOH58JTFsA/+ZYzQLUZ/drqWUqxCYLGeu2JFZL8YrNC9hBxKmWtAuOCHPcRpgv7fhap09Fb4kA==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.0.tgz",
+			"integrity": "sha512-3oK0Qt5w4arb+es3rWBribDbtc0TYJP7dFZ1dXcYul3cXderqfIOoSx9YUC1oD208nJwJO/++fvrgLmkYSbe8A==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-plugin-utils": "^7.0.0",
-				"@babel/helper-regex": "^7.4.4",
-				"regexpu-core": "^4.5.4"
+				"@babel/helper-create-regexp-features-plugin": "^7.8.0",
+				"@babel/helper-plugin-utils": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/helper-plugin-utils": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz",
+					"integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==",
+					"dev": true
+				}
 			}
 		},
 		"@babel/plugin-syntax-async-generators": {
-			"version": "7.2.0",
-			"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz",
-			"integrity": "sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.0.tgz",
+			"integrity": "sha512-a8w8k7pK8nYhem07rXdAq03T+DlTX8LFojUptrh9JEx80AgLqGiuoFIyQOGTWif39kFnDOQqbzl1s6KQqrfV+A==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-plugin-utils": "^7.0.0"
+				"@babel/helper-plugin-utils": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/helper-plugin-utils": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz",
+					"integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==",
+					"dev": true
+				}
 			}
 		},
 		"@babel/plugin-syntax-dynamic-import": {
-			"version": "7.2.0",
-			"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz",
-			"integrity": "sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.0.tgz",
+			"integrity": "sha512-Mx2RzpCHJaBfmFdA2abXDKRHVJdzJ6R0Wqwb6TxCgM7NRR5wcC4cyiAsRL7Ga+lwG8GG1cKvb+4ENjic8y15jA==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-plugin-utils": "^7.0.0"
+				"@babel/helper-plugin-utils": "^7.8.0"
 			}
 		},
 		"@babel/plugin-syntax-json-strings": {
-			"version": "7.2.0",
-			"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz",
-			"integrity": "sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.0.tgz",
+			"integrity": "sha512-LPykaAbH86L5NnDfCRSpNxtEHZk+6GaFzXfWEFU/6R4v69EXQr6GOp7hwH+Uw0QlYVN++s6TukTJ3flFcspahA==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-plugin-utils": "^7.0.0"
+				"@babel/helper-plugin-utils": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/helper-plugin-utils": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz",
+					"integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==",
+					"dev": true
+				}
+			}
+		},
+		"@babel/plugin-syntax-nullish-coalescing-operator": {
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.0.tgz",
+			"integrity": "sha512-Rv2hnBToN6rbA9hO2a4vtwXZLzNa+TWkoSIMMvUezFz5+D9NPeX7SFrArwtFzzbwndmWiqboTr5rNpzAz0MPpA==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-plugin-utils": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/helper-plugin-utils": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz",
+					"integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==",
+					"dev": true
+				}
 			}
 		},
 		"@babel/plugin-syntax-object-rest-spread": {
-			"version": "7.2.0",
-			"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz",
-			"integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.0.tgz",
+			"integrity": "sha512-dt89fDlkfkTrQcy5KavMQPyF2A6tR0kYp8HAnIoQv5hO34iAUffHghP/hMGd7Gf/+uYTmLQO0ar7peX1SUWyIA==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-plugin-utils": "^7.0.0"
+				"@babel/helper-plugin-utils": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/helper-plugin-utils": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz",
+					"integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==",
+					"dev": true
+				}
 			}
 		},
 		"@babel/plugin-syntax-optional-catch-binding": {
-			"version": "7.2.0",
-			"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz",
-			"integrity": "sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.0.tgz",
+			"integrity": "sha512-EIgJVy+u1RvR2gJfX4ReLwAupO/twllUue1wPrRxhu18+eC3bGTEcOSXLQdaE9ya9NG1rE0eQs0GSiloUGFEwg==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-plugin-utils": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/helper-plugin-utils": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz",
+					"integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==",
+					"dev": true
+				}
+			}
+		},
+		"@babel/plugin-syntax-optional-chaining": {
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.0.tgz",
+			"integrity": "sha512-LV1c+TTAO8Vawe3t+WXBHYWbS7endP8MSlqKPKEZOyWPEJX2akl3jfvFG828/OE7RpyoC3JXfLJDFj/jN7A8hg==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-plugin-utils": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/helper-plugin-utils": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz",
+					"integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==",
+					"dev": true
+				}
+			}
+		},
+		"@babel/plugin-syntax-top-level-await": {
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.8.0.tgz",
+			"integrity": "sha512-iXR/Cw32fMfWlD1sK2zD/nXtuLStkalRv+xee6VrX84CFrn2LKwb/EOs/4UaDNUpUsws8YZYKeQjPagacFquug==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-plugin-utils": "^7.0.0"
+				"@babel/helper-plugin-utils": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/helper-plugin-utils": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz",
+					"integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==",
+					"dev": true
+				}
 			}
 		},
 		"@babel/plugin-transform-arrow-functions": {
-			"version": "7.2.0",
-			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz",
-			"integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.8.0.tgz",
+			"integrity": "sha512-9KfteDp9d8cF388dxFMOh3Dum41qpOVUPVjQhXGd1kPyQBE05FJgYndiAriML2yhMIbZ2bjgweh2nnvBXDH2MQ==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-plugin-utils": "^7.0.0"
+				"@babel/helper-plugin-utils": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/helper-plugin-utils": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz",
+					"integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==",
+					"dev": true
+				}
 			}
 		},
 		"@babel/plugin-transform-async-to-generator": {
-			"version": "7.5.0",
-			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz",
-			"integrity": "sha512-mqvkzwIGkq0bEF1zLRRiTdjfomZJDV33AH3oQzHVGkI2VzEmXLpKKOBvEVaFZBJdN0XTyH38s9j/Kiqr68dggg==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.8.0.tgz",
+			"integrity": "sha512-9dvBvJnEdsDWYMrykoMyLNVRPGoub6SFlARtsYgSQ1riTjnyBjhctihSME4XsSku86F59PDeFpC9PCU+9I154w==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-module-imports": "^7.0.0",
-				"@babel/helper-plugin-utils": "^7.0.0",
-				"@babel/helper-remap-async-to-generator": "^7.1.0"
+				"@babel/helper-module-imports": "^7.8.0",
+				"@babel/helper-plugin-utils": "^7.8.0",
+				"@babel/helper-remap-async-to-generator": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/helper-plugin-utils": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz",
+					"integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==",
+					"dev": true
+				}
 			}
 		},
 		"@babel/plugin-transform-block-scoped-functions": {
-			"version": "7.2.0",
-			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz",
-			"integrity": "sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.8.0.tgz",
+			"integrity": "sha512-bim6gUfHq2kPN+aQst33ZEMeglpaUXAo6PWTZvOA8BOnWpNKgZcUzBvpZhh2ofL6YhZgzGoRwVVfzwynDEf47g==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-plugin-utils": "^7.0.0"
+				"@babel/helper-plugin-utils": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/helper-plugin-utils": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz",
+					"integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==",
+					"dev": true
+				}
 			}
 		},
 		"@babel/plugin-transform-block-scoping": {
-			"version": "7.6.0",
-			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.6.0.tgz",
-			"integrity": "sha512-tIt4E23+kw6TgL/edACZwP1OUKrjOTyMrFMLoT5IOFrfMRabCgekjqFd5o6PaAMildBu46oFkekIdMuGkkPEpA==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.8.0.tgz",
+			"integrity": "sha512-FKTK4hzg7W950Yu9iqMl12WBixCmusMc5HBt3/ErvpFLnvr3/6mu/EBTZoCEJ0mw/lQUDfU01vTcZY9oEahlMg==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-plugin-utils": "^7.0.0",
+				"@babel/helper-plugin-utils": "^7.8.0",
 				"lodash": "^4.17.13"
+			},
+			"dependencies": {
+				"@babel/helper-plugin-utils": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz",
+					"integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==",
+					"dev": true
+				}
 			}
 		},
 		"@babel/plugin-transform-classes": {
-			"version": "7.5.5",
-			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz",
-			"integrity": "sha512-U2htCNK/6e9K7jGyJ++1p5XRU+LJjrwtoiVn9SzRlDT2KubcZ11OOwy3s24TjHxPgxNwonCYP7U2K51uVYCMDg==",
-			"dev": true,
-			"requires": {
-				"@babel/helper-annotate-as-pure": "^7.0.0",
-				"@babel/helper-define-map": "^7.5.5",
-				"@babel/helper-function-name": "^7.1.0",
-				"@babel/helper-optimise-call-expression": "^7.0.0",
-				"@babel/helper-plugin-utils": "^7.0.0",
-				"@babel/helper-replace-supers": "^7.5.5",
-				"@babel/helper-split-export-declaration": "^7.4.4",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.8.0.tgz",
+			"integrity": "sha512-18RLDwKtGXCLLbf5V03GojebPH7dKYCmIBqQGhgfZDoYsyEzR9kMZ6IxlJP72K5ROC9ADa4KPI6ywuh7NfQOgQ==",
+			"dev": true,
+			"requires": {
+				"@babel/helper-annotate-as-pure": "^7.8.0",
+				"@babel/helper-define-map": "^7.8.0",
+				"@babel/helper-function-name": "^7.8.0",
+				"@babel/helper-optimise-call-expression": "^7.8.0",
+				"@babel/helper-plugin-utils": "^7.8.0",
+				"@babel/helper-replace-supers": "^7.8.0",
+				"@babel/helper-split-export-declaration": "^7.8.0",
 				"globals": "^11.1.0"
+			},
+			"dependencies": {
+				"@babel/code-frame": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.0.tgz",
+					"integrity": "sha512-AN2IR/wCUYsM+PdErq6Bp3RFTXl8W0p9Nmymm7zkpsCmh+r/YYcckaCGpU8Q/mEKmST19kkGRaG42A/jxOWwBA==",
+					"dev": true,
+					"requires": {
+						"@babel/highlight": "^7.8.0"
+					}
+				},
+				"@babel/helper-function-name": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.0.tgz",
+					"integrity": "sha512-x9psucuU0Xalw+0Vpr2FYJMLB7/KnPSLZhlkUyOGbYAWRDfmtZBrguYpJYiaNCRV7vGkYjO/gF6/J6yMvdWTDw==",
+					"dev": true,
+					"requires": {
+						"@babel/helper-get-function-arity": "^7.8.0",
+						"@babel/template": "^7.8.0",
+						"@babel/types": "^7.8.0"
+					}
+				},
+				"@babel/helper-get-function-arity": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.0.tgz",
+					"integrity": "sha512-eUP5grliToMapQiTaYS2AAO/WwaCG7cuJztR1v/a1aPzUzUeGt+AaI9OvLATc/AfFkF8SLJ10d5ugGt/AQ9d6w==",
+					"dev": true,
+					"requires": {
+						"@babel/types": "^7.8.0"
+					}
+				},
+				"@babel/helper-plugin-utils": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz",
+					"integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==",
+					"dev": true
+				},
+				"@babel/helper-split-export-declaration": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.0.tgz",
+					"integrity": "sha512-YhYFhH4T6DlbT6CPtVgLfC1Jp2gbCawU/ml7WJvUpBg01bCrXSzTYMZZXbbIGjq/kHmK8YUATxTppcRGzj31pA==",
+					"dev": true,
+					"requires": {
+						"@babel/types": "^7.8.0"
+					}
+				},
+				"@babel/highlight": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.0.tgz",
+					"integrity": "sha512-OsdTJbHlPtIk2mmtwXItYrdmalJ8T0zpVzNAbKSkHshuywj7zb29Y09McV/jQsQunc/nEyHiPV2oy9llYMLqxw==",
+					"dev": true,
+					"requires": {
+						"chalk": "^2.0.0",
+						"esutils": "^2.0.2",
+						"js-tokens": "^4.0.0"
+					}
+				},
+				"@babel/parser": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.0.tgz",
+					"integrity": "sha512-VVtsnUYbd1+2A2vOVhm4P2qNXQE8L/W859GpUHfUcdhX8d3pEKThZuIr6fztocWx9HbK+00/CR0tXnhAggJ4CA==",
+					"dev": true
+				},
+				"@babel/template": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.0.tgz",
+					"integrity": "sha512-0NNMDsY2t3ltAVVK1WHNiaePo3tXPUeJpCX4I3xSKFoEl852wJHG8mrgHVADf8Lz1y+8al9cF7cSSfzSnFSYiw==",
+					"dev": true,
+					"requires": {
+						"@babel/code-frame": "^7.8.0",
+						"@babel/parser": "^7.8.0",
+						"@babel/types": "^7.8.0"
+					}
+				},
+				"@babel/types": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.0.tgz",
+					"integrity": "sha512-1RF84ehyx9HH09dMMwGWl3UTWlVoCPtqqJPjGuC4JzMe1ZIVDJ2DT8mv3cPv/A7veLD6sgR7vi95lJqm+ZayIg==",
+					"dev": true,
+					"requires": {
+						"esutils": "^2.0.2",
+						"lodash": "^4.17.13",
+						"to-fast-properties": "^2.0.0"
+					}
+				}
 			}
 		},
 		"@babel/plugin-transform-computed-properties": {
-			"version": "7.2.0",
-			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz",
-			"integrity": "sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.8.0.tgz",
+			"integrity": "sha512-FaODHuQRdnWFVwxLPlTN85Lk/aitfvQBHTXahf58FnatCynfhkeNUO8ID+AqAxY4IJsZjeH6OnKDzcGfgKJcVw==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-plugin-utils": "^7.0.0"
+				"@babel/helper-plugin-utils": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/helper-plugin-utils": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz",
+					"integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==",
+					"dev": true
+				}
 			}
 		},
 		"@babel/plugin-transform-destructuring": {
-			"version": "7.6.0",
-			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.6.0.tgz",
-			"integrity": "sha512-2bGIS5P1v4+sWTCnKNDZDxbGvEqi0ijeqM/YqHtVGrvG2y0ySgnEEhXErvE9dA0bnIzY9bIzdFK0jFA46ASIIQ==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.8.0.tgz",
+			"integrity": "sha512-D+69HT//cE86aBTLULzSBFLC5A7HcPQzJPiny6P4SLHkDF750MylRKO3iWvdgvb+OSp5dOrOxwXajvaxk1ZfYA==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-plugin-utils": "^7.0.0"
+				"@babel/helper-plugin-utils": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/helper-plugin-utils": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz",
+					"integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==",
+					"dev": true
+				}
 			}
 		},
 		"@babel/plugin-transform-dotall-regex": {
-			"version": "7.4.4",
-			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz",
-			"integrity": "sha512-P05YEhRc2h53lZDjRPk/OektxCVevFzZs2Gfjd545Wde3k+yFDbXORgl2e0xpbq8mLcKJ7Idss4fAg0zORN/zg==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.8.0.tgz",
+			"integrity": "sha512-pq/XLkDB4MPvTe9ktHJInfWksalXogrIGRZJUG7RiDXhEfdNrlducoMPbACZQuCFtelVgVpD0VyreiY0l38G7g==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-plugin-utils": "^7.0.0",
-				"@babel/helper-regex": "^7.4.4",
-				"regexpu-core": "^4.5.4"
+				"@babel/helper-create-regexp-features-plugin": "^7.8.0",
+				"@babel/helper-plugin-utils": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/helper-plugin-utils": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz",
+					"integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==",
+					"dev": true
+				}
 			}
 		},
 		"@babel/plugin-transform-duplicate-keys": {
-			"version": "7.5.0",
-			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz",
-			"integrity": "sha512-igcziksHizyQPlX9gfSjHkE2wmoCH3evvD2qR5w29/Dk0SMKE/eOI7f1HhBdNhR/zxJDqrgpoDTq5YSLH/XMsQ==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.8.0.tgz",
+			"integrity": "sha512-REtYWvpP4TDw4oVeP01vQJcAeewjgk8/i7tPFP11vUjvarUGGyxJLeq79WEnIdnKPQJirZaoDRT4kEWEdSWkDw==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-plugin-utils": "^7.0.0"
+				"@babel/helper-plugin-utils": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/helper-plugin-utils": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz",
+					"integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==",
+					"dev": true
+				}
 			}
 		},
 		"@babel/plugin-transform-exponentiation-operator": {
-			"version": "7.2.0",
-			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz",
-			"integrity": "sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.8.0.tgz",
+			"integrity": "sha512-vaDgF3gPLzVcoe3UZqnra6FA7O797sZc+UCHPd9eQTI34cPtpCA270LzopIXS3Fhc3UmFrijLmre9mHTmUKVgg==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0",
-				"@babel/helper-plugin-utils": "^7.0.0"
+				"@babel/helper-builder-binary-assignment-operator-visitor": "^7.8.0",
+				"@babel/helper-plugin-utils": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/helper-plugin-utils": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz",
+					"integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==",
+					"dev": true
+				}
 			}
 		},
 		"@babel/plugin-transform-for-of": {
-			"version": "7.4.4",
-			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz",
-			"integrity": "sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.8.0.tgz",
+			"integrity": "sha512-9j9g0qViCAo8E5qCBSaQdghymn7A9bRXSfS9jU7oLpYccYFZg9A+1KO8X+HV7fhJYH6mZ+e7MRg4p3sLo+RG6Q==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-plugin-utils": "^7.0.0"
+				"@babel/helper-plugin-utils": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/helper-plugin-utils": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz",
+					"integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==",
+					"dev": true
+				}
 			}
 		},
 		"@babel/plugin-transform-function-name": {
-			"version": "7.4.4",
-			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz",
-			"integrity": "sha512-iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.8.0.tgz",
+			"integrity": "sha512-YL8Ol54UKeIyY1uUGfry+B9ppXAB3aVBB1gG9gxqhg/OBCPpV2QUNswmjvfmyXEdaWv8qODssBgX7on792h44w==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-function-name": "^7.1.0",
-				"@babel/helper-plugin-utils": "^7.0.0"
+				"@babel/helper-function-name": "^7.8.0",
+				"@babel/helper-plugin-utils": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/code-frame": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.0.tgz",
+					"integrity": "sha512-AN2IR/wCUYsM+PdErq6Bp3RFTXl8W0p9Nmymm7zkpsCmh+r/YYcckaCGpU8Q/mEKmST19kkGRaG42A/jxOWwBA==",
+					"dev": true,
+					"requires": {
+						"@babel/highlight": "^7.8.0"
+					}
+				},
+				"@babel/helper-function-name": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.0.tgz",
+					"integrity": "sha512-x9psucuU0Xalw+0Vpr2FYJMLB7/KnPSLZhlkUyOGbYAWRDfmtZBrguYpJYiaNCRV7vGkYjO/gF6/J6yMvdWTDw==",
+					"dev": true,
+					"requires": {
+						"@babel/helper-get-function-arity": "^7.8.0",
+						"@babel/template": "^7.8.0",
+						"@babel/types": "^7.8.0"
+					}
+				},
+				"@babel/helper-get-function-arity": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.0.tgz",
+					"integrity": "sha512-eUP5grliToMapQiTaYS2AAO/WwaCG7cuJztR1v/a1aPzUzUeGt+AaI9OvLATc/AfFkF8SLJ10d5ugGt/AQ9d6w==",
+					"dev": true,
+					"requires": {
+						"@babel/types": "^7.8.0"
+					}
+				},
+				"@babel/helper-plugin-utils": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz",
+					"integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==",
+					"dev": true
+				},
+				"@babel/highlight": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.0.tgz",
+					"integrity": "sha512-OsdTJbHlPtIk2mmtwXItYrdmalJ8T0zpVzNAbKSkHshuywj7zb29Y09McV/jQsQunc/nEyHiPV2oy9llYMLqxw==",
+					"dev": true,
+					"requires": {
+						"chalk": "^2.0.0",
+						"esutils": "^2.0.2",
+						"js-tokens": "^4.0.0"
+					}
+				},
+				"@babel/parser": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.0.tgz",
+					"integrity": "sha512-VVtsnUYbd1+2A2vOVhm4P2qNXQE8L/W859GpUHfUcdhX8d3pEKThZuIr6fztocWx9HbK+00/CR0tXnhAggJ4CA==",
+					"dev": true
+				},
+				"@babel/template": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.0.tgz",
+					"integrity": "sha512-0NNMDsY2t3ltAVVK1WHNiaePo3tXPUeJpCX4I3xSKFoEl852wJHG8mrgHVADf8Lz1y+8al9cF7cSSfzSnFSYiw==",
+					"dev": true,
+					"requires": {
+						"@babel/code-frame": "^7.8.0",
+						"@babel/parser": "^7.8.0",
+						"@babel/types": "^7.8.0"
+					}
+				},
+				"@babel/types": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.0.tgz",
+					"integrity": "sha512-1RF84ehyx9HH09dMMwGWl3UTWlVoCPtqqJPjGuC4JzMe1ZIVDJ2DT8mv3cPv/A7veLD6sgR7vi95lJqm+ZayIg==",
+					"dev": true,
+					"requires": {
+						"esutils": "^2.0.2",
+						"lodash": "^4.17.13",
+						"to-fast-properties": "^2.0.0"
+					}
+				}
 			}
 		},
 		"@babel/plugin-transform-literals": {
-			"version": "7.2.0",
-			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz",
-			"integrity": "sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.8.0.tgz",
+			"integrity": "sha512-7UDPKG+uVltsZt98Hw+rMbLg772r8fQC6YJ2fNDckcpAXgIWqQbMCmCpfYo0hBNhdhqocM73auk4P/zziQshQw==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-plugin-utils": "^7.0.0"
+				"@babel/helper-plugin-utils": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/helper-plugin-utils": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz",
+					"integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==",
+					"dev": true
+				}
 			}
 		},
 		"@babel/plugin-transform-member-expression-literals": {
-			"version": "7.2.0",
-			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz",
-			"integrity": "sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.8.0.tgz",
+			"integrity": "sha512-lJSdaWR56wmrosCiyqKFRVnLrFYoVAk2mtZAyegt7akeJky/gguv0Rukx9GV3XwHGuM1ZPE06cZMjNlcLp8LrQ==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-plugin-utils": "^7.0.0"
+				"@babel/helper-plugin-utils": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/helper-plugin-utils": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz",
+					"integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==",
+					"dev": true
+				}
 			}
 		},
 		"@babel/plugin-transform-modules-amd": {
-			"version": "7.5.0",
-			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz",
-			"integrity": "sha512-n20UsQMKnWrltocZZm24cRURxQnWIvsABPJlw/fvoy9c6AgHZzoelAIzajDHAQrDpuKFFPPcFGd7ChsYuIUMpg==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.8.0.tgz",
+			"integrity": "sha512-mFr1O3TaDL4XozM3AzNPz9AsxzzjTxwn4aOShYP5TlO+4rufvjagV2KKDTPMZTQm1ZA/C/PxJDsDekEnnUGz5A==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-module-transforms": "^7.1.0",
-				"@babel/helper-plugin-utils": "^7.0.0",
+				"@babel/helper-module-transforms": "^7.8.0",
+				"@babel/helper-plugin-utils": "^7.8.0",
 				"babel-plugin-dynamic-import-node": "^2.3.0"
+			},
+			"dependencies": {
+				"@babel/helper-plugin-utils": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz",
+					"integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==",
+					"dev": true
+				}
 			}
 		},
 		"@babel/plugin-transform-modules-commonjs": {
-			"version": "7.6.0",
-			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.6.0.tgz",
-			"integrity": "sha512-Ma93Ix95PNSEngqomy5LSBMAQvYKVe3dy+JlVJSHEXZR5ASL9lQBedMiCyVtmTLraIDVRE3ZjTZvmXXD2Ozw3g==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.8.0.tgz",
+			"integrity": "sha512-w2g8tmL7NgBYt6alc8YawMcmPiYqnVvvI0kLB++VOUOssqdJMAkfQOMGV+2M8H5uhJYDaAghAVMUYps3s+jMrw==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-module-transforms": "^7.4.4",
-				"@babel/helper-plugin-utils": "^7.0.0",
-				"@babel/helper-simple-access": "^7.1.0",
+				"@babel/helper-module-transforms": "^7.8.0",
+				"@babel/helper-plugin-utils": "^7.8.0",
+				"@babel/helper-simple-access": "^7.8.0",
 				"babel-plugin-dynamic-import-node": "^2.3.0"
+			},
+			"dependencies": {
+				"@babel/helper-plugin-utils": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz",
+					"integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==",
+					"dev": true
+				}
 			}
 		},
 		"@babel/plugin-transform-modules-systemjs": {
-			"version": "7.5.0",
-			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz",
-			"integrity": "sha512-Q2m56tyoQWmuNGxEtUyeEkm6qJYFqs4c+XyXH5RAuYxObRNz9Zgj/1g2GMnjYp2EUyEy7YTrxliGCXzecl/vJg==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.8.0.tgz",
+			"integrity": "sha512-tKF9KLiIsiKyWTVU0yo+NcNAylGn7euggYwXw63/tMxGtDTPsB9Y7Ecqv4EoXEwtoJOJ0Lewf17oaWQtindxIA==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-hoist-variables": "^7.4.4",
-				"@babel/helper-plugin-utils": "^7.0.0",
+				"@babel/helper-hoist-variables": "^7.8.0",
+				"@babel/helper-module-transforms": "^7.8.0",
+				"@babel/helper-plugin-utils": "^7.8.0",
 				"babel-plugin-dynamic-import-node": "^2.3.0"
+			},
+			"dependencies": {
+				"@babel/helper-plugin-utils": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz",
+					"integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==",
+					"dev": true
+				}
 			}
 		},
 		"@babel/plugin-transform-modules-umd": {
-			"version": "7.2.0",
-			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz",
-			"integrity": "sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.8.0.tgz",
+			"integrity": "sha512-lAwNfXwmfTy7fl2XOyoVpMXnLkJANgH0vdSYNFcS4RuJPBtHfunGA+Y0L7wsHmfPzyVYt8sUglLjaWtdZMNJNg==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-module-transforms": "^7.1.0",
-				"@babel/helper-plugin-utils": "^7.0.0"
+				"@babel/helper-module-transforms": "^7.8.0",
+				"@babel/helper-plugin-utils": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/helper-plugin-utils": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz",
+					"integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==",
+					"dev": true
+				}
 			}
 		},
 		"@babel/plugin-transform-named-capturing-groups-regex": {
-			"version": "7.6.0",
-			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.6.0.tgz",
-			"integrity": "sha512-jem7uytlmrRl3iCAuQyw8BpB4c4LWvSpvIeXKpMb+7j84lkx4m4mYr5ErAcmN5KM7B6BqrAvRGjBIbbzqCczew==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.0.tgz",
+			"integrity": "sha512-kq1rxQ1HviCP13SMGZ4WjBBpdogTGK7yn/g/+p+g1AQledgHOWKVeMY1DwKYGlGJ/grDGTOqpJLF1v3Sb7ghKA==",
 			"dev": true,
 			"requires": {
-				"regexp-tree": "^0.1.13"
+				"@babel/helper-create-regexp-features-plugin": "^7.8.0"
 			}
 		},
 		"@babel/plugin-transform-new-target": {
-			"version": "7.4.4",
-			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz",
-			"integrity": "sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.8.0.tgz",
+			"integrity": "sha512-hH1Afz9Xy/wkcxhoI0vYw48kTBJqYUhMmhp3SLI1p817iByM6ItH4LS8tZatDAIKmAQAXj8d3Ups1BgVJECDrA==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-plugin-utils": "^7.0.0"
+				"@babel/helper-plugin-utils": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/helper-plugin-utils": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz",
+					"integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==",
+					"dev": true
+				}
 			}
 		},
 		"@babel/plugin-transform-object-super": {
-			"version": "7.5.5",
-			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz",
-			"integrity": "sha512-un1zJQAhSosGFBduPgN/YFNvWVpRuHKU7IHBglLoLZsGmruJPOo6pbInneflUdmq7YvSVqhpPs5zdBvLnteltQ==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.8.0.tgz",
+			"integrity": "sha512-2DYqQ811nRlFVlni6iqfxBVVGqkBgfvEv/lcvmdNu2CaG+EA7zSP1hqYUsqamR+uCdDbsrV7uY6/0rkXbJo5YQ==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-plugin-utils": "^7.0.0",
-				"@babel/helper-replace-supers": "^7.5.5"
+				"@babel/helper-plugin-utils": "^7.8.0",
+				"@babel/helper-replace-supers": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/helper-plugin-utils": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz",
+					"integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==",
+					"dev": true
+				}
 			}
 		},
 		"@babel/plugin-transform-parameters": {
-			"version": "7.4.4",
-			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz",
-			"integrity": "sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.8.0.tgz",
+			"integrity": "sha512-9R2yykk7H92rntETO0fq52vJ4OFaTcDA49K9s8bQPyoD4o3/SkWEklukArCsQC6fowEuraPkH/umopr9uO539g==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-call-delegate": "^7.4.4",
-				"@babel/helper-get-function-arity": "^7.0.0",
-				"@babel/helper-plugin-utils": "^7.0.0"
+				"@babel/helper-call-delegate": "^7.8.0",
+				"@babel/helper-get-function-arity": "^7.8.0",
+				"@babel/helper-plugin-utils": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/helper-get-function-arity": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.0.tgz",
+					"integrity": "sha512-eUP5grliToMapQiTaYS2AAO/WwaCG7cuJztR1v/a1aPzUzUeGt+AaI9OvLATc/AfFkF8SLJ10d5ugGt/AQ9d6w==",
+					"dev": true,
+					"requires": {
+						"@babel/types": "^7.8.0"
+					}
+				},
+				"@babel/helper-plugin-utils": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz",
+					"integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==",
+					"dev": true
+				},
+				"@babel/types": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.0.tgz",
+					"integrity": "sha512-1RF84ehyx9HH09dMMwGWl3UTWlVoCPtqqJPjGuC4JzMe1ZIVDJ2DT8mv3cPv/A7veLD6sgR7vi95lJqm+ZayIg==",
+					"dev": true,
+					"requires": {
+						"esutils": "^2.0.2",
+						"lodash": "^4.17.13",
+						"to-fast-properties": "^2.0.0"
+					}
+				}
 			}
 		},
 		"@babel/plugin-transform-property-literals": {
-			"version": "7.2.0",
-			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz",
-			"integrity": "sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.8.0.tgz",
+			"integrity": "sha512-vjZaQlojnZIahu5ofEW+hPJfDI5A6r2Sbi5C0RuCaAOFj7viDIR5kOR7ul3Fz5US8V1sVk5Zd2yuPaz7iBeysg==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-plugin-utils": "^7.0.0"
+				"@babel/helper-plugin-utils": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/helper-plugin-utils": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz",
+					"integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==",
+					"dev": true
+				}
 			}
 		},
 		"@babel/plugin-transform-regenerator": {
-			"version": "7.4.5",
-			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz",
-			"integrity": "sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.0.tgz",
+			"integrity": "sha512-n88GT8PZuOHWxqxCJORW3g1QaYzQhHu5sEslxYeQkHVoewfnfuWN37t7YGaRLaNUdaZUlRPXhDcLGT7zBa/u0g==",
 			"dev": true,
 			"requires": {
 				"regenerator-transform": "^0.14.0"
 			}
 		},
 		"@babel/plugin-transform-reserved-words": {
-			"version": "7.2.0",
-			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz",
-			"integrity": "sha512-fz43fqW8E1tAB3DKF19/vxbpib1fuyCwSPE418ge5ZxILnBhWyhtPgz8eh1RCGGJlwvksHkyxMxh0eenFi+kFw==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.8.0.tgz",
+			"integrity": "sha512-DnshRyDTXZhmAgO2c1QKZI4CfZjoP2t3fSwRsnbCP9P/FSBpf9I7ovnAELswklw5OeY+/D/JIiaGLoUt2II3LA==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-plugin-utils": "^7.0.0"
+				"@babel/helper-plugin-utils": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/helper-plugin-utils": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz",
+					"integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==",
+					"dev": true
+				}
 			}
 		},
 		"@babel/plugin-transform-shorthand-properties": {
-			"version": "7.2.0",
-			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz",
-			"integrity": "sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.8.0.tgz",
+			"integrity": "sha512-sExhzq63Gl2PMbl7ETpN7Z1A38rLD6GeCT6EEEIIKjTVt9u6dRqJ6nHhaquL7QgR3egj/8fcvq23UvzfPqGAYA==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-plugin-utils": "^7.0.0"
+				"@babel/helper-plugin-utils": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/helper-plugin-utils": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz",
+					"integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==",
+					"dev": true
+				}
 			}
 		},
 		"@babel/plugin-transform-spread": {
-			"version": "7.2.2",
-			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz",
-			"integrity": "sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.8.0.tgz",
+			"integrity": "sha512-6Zjl0pv6x10YmFVRI0VhwJ/rE++geVHNJ9xwd+UIt3ON2VMRO7qI2lPsyLnzidR5HYNd/JXj47kdU9Rrn4YcnQ==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-plugin-utils": "^7.0.0"
+				"@babel/helper-plugin-utils": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/helper-plugin-utils": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz",
+					"integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==",
+					"dev": true
+				}
 			}
 		},
 		"@babel/plugin-transform-sticky-regex": {
-			"version": "7.2.0",
-			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz",
-			"integrity": "sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.8.0.tgz",
+			"integrity": "sha512-uksok0Bqox8YeIRFhr6RRtlBXeGpN1ogiEVjEd7A7rVLPZBXKGbL7kODpE7MQ+avjDLv5EEKtDCeYuWZK7FF7g==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-plugin-utils": "^7.0.0",
-				"@babel/helper-regex": "^7.0.0"
+				"@babel/helper-plugin-utils": "^7.8.0",
+				"@babel/helper-regex": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/helper-plugin-utils": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz",
+					"integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==",
+					"dev": true
+				}
 			}
 		},
 		"@babel/plugin-transform-template-literals": {
-			"version": "7.4.4",
-			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz",
-			"integrity": "sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.8.0.tgz",
+			"integrity": "sha512-EF7Q7LEgeMpogHcvmHMNXBWdLWG1tpA1ErXH3i8zTu3+UEKo6aBn+FldPAJ16UbbbOwSCUCiDP6oZxvVRPhwnQ==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-annotate-as-pure": "^7.0.0",
-				"@babel/helper-plugin-utils": "^7.0.0"
+				"@babel/helper-annotate-as-pure": "^7.8.0",
+				"@babel/helper-plugin-utils": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/helper-plugin-utils": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz",
+					"integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==",
+					"dev": true
+				}
 			}
 		},
 		"@babel/plugin-transform-typeof-symbol": {
-			"version": "7.2.0",
-			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz",
-			"integrity": "sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.8.0.tgz",
+			"integrity": "sha512-rEUBEFzsA9mCS2r7EtXFlM/6GqtzgLdC4WVYM9fIgJX+HcSJ8oMmj8LinfKhbo0ipRauvUM2teE2iNDNqDwO1g==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-plugin-utils": "^7.0.0"
+				"@babel/helper-plugin-utils": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/helper-plugin-utils": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz",
+					"integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==",
+					"dev": true
+				}
 			}
 		},
 		"@babel/plugin-transform-unicode-regex": {
-			"version": "7.4.4",
-			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz",
-			"integrity": "sha512-il+/XdNw01i93+M9J9u4T7/e/Ue/vWfNZE4IRUQjplu2Mqb/AFTDimkw2tdEdSH50wuQXZAbXSql0UphQke+vA==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.8.0.tgz",
+			"integrity": "sha512-qDg8wsnE47B/Sj8ZtOndPHrGBxJMssZJ71SzXrItum9n++iVFN7kYuJO+OHhjom7+/or0zzYqvJNzCkUjyNKqg==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-plugin-utils": "^7.0.0",
-				"@babel/helper-regex": "^7.4.4",
-				"regexpu-core": "^4.5.4"
+				"@babel/helper-create-regexp-features-plugin": "^7.8.0",
+				"@babel/helper-plugin-utils": "^7.8.0"
+			},
+			"dependencies": {
+				"@babel/helper-plugin-utils": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz",
+					"integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==",
+					"dev": true
+				}
 			}
 		},
 		"@babel/polyfill": {
-			"version": "7.4.4",
-			"resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.4.4.tgz",
-			"integrity": "sha512-WlthFLfhQQhh+A2Gn5NSFl0Huxz36x86Jn+E9OW7ibK8edKPq+KLy4apM1yDpQ8kJOVi1OVjpP4vSDLdrI04dg==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.8.0.tgz",
+			"integrity": "sha512-0zTwRCrSUaP4hOt2dEHxGl80ZkxpRlhJv44fRRmbOj27pMR6n0Jti+Ti9OlbbD4ErKC5jKn89aLFqZ3r+JgWxg==",
 			"requires": {
 				"core-js": "^2.6.5",
 				"regenerator-runtime": "^0.13.2"
 			}
 		},
 		"@babel/preset-env": {
-			"version": "7.6.0",
-			"resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.6.0.tgz",
-			"integrity": "sha512-1efzxFv/TcPsNXlRhMzRnkBFMeIqBBgzwmZwlFDw5Ubj0AGLeufxugirwZmkkX/ayi3owsSqoQ4fw8LkfK9SYg==",
-			"dev": true,
-			"requires": {
-				"@babel/helper-module-imports": "^7.0.0",
-				"@babel/helper-plugin-utils": "^7.0.0",
-				"@babel/plugin-proposal-async-generator-functions": "^7.2.0",
-				"@babel/plugin-proposal-dynamic-import": "^7.5.0",
-				"@babel/plugin-proposal-json-strings": "^7.2.0",
-				"@babel/plugin-proposal-object-rest-spread": "^7.5.5",
-				"@babel/plugin-proposal-optional-catch-binding": "^7.2.0",
-				"@babel/plugin-proposal-unicode-property-regex": "^7.4.4",
-				"@babel/plugin-syntax-async-generators": "^7.2.0",
-				"@babel/plugin-syntax-dynamic-import": "^7.2.0",
-				"@babel/plugin-syntax-json-strings": "^7.2.0",
-				"@babel/plugin-syntax-object-rest-spread": "^7.2.0",
-				"@babel/plugin-syntax-optional-catch-binding": "^7.2.0",
-				"@babel/plugin-transform-arrow-functions": "^7.2.0",
-				"@babel/plugin-transform-async-to-generator": "^7.5.0",
-				"@babel/plugin-transform-block-scoped-functions": "^7.2.0",
-				"@babel/plugin-transform-block-scoping": "^7.6.0",
-				"@babel/plugin-transform-classes": "^7.5.5",
-				"@babel/plugin-transform-computed-properties": "^7.2.0",
-				"@babel/plugin-transform-destructuring": "^7.6.0",
-				"@babel/plugin-transform-dotall-regex": "^7.4.4",
-				"@babel/plugin-transform-duplicate-keys": "^7.5.0",
-				"@babel/plugin-transform-exponentiation-operator": "^7.2.0",
-				"@babel/plugin-transform-for-of": "^7.4.4",
-				"@babel/plugin-transform-function-name": "^7.4.4",
-				"@babel/plugin-transform-literals": "^7.2.0",
-				"@babel/plugin-transform-member-expression-literals": "^7.2.0",
-				"@babel/plugin-transform-modules-amd": "^7.5.0",
-				"@babel/plugin-transform-modules-commonjs": "^7.6.0",
-				"@babel/plugin-transform-modules-systemjs": "^7.5.0",
-				"@babel/plugin-transform-modules-umd": "^7.2.0",
-				"@babel/plugin-transform-named-capturing-groups-regex": "^7.6.0",
-				"@babel/plugin-transform-new-target": "^7.4.4",
-				"@babel/plugin-transform-object-super": "^7.5.5",
-				"@babel/plugin-transform-parameters": "^7.4.4",
-				"@babel/plugin-transform-property-literals": "^7.2.0",
-				"@babel/plugin-transform-regenerator": "^7.4.5",
-				"@babel/plugin-transform-reserved-words": "^7.2.0",
-				"@babel/plugin-transform-shorthand-properties": "^7.2.0",
-				"@babel/plugin-transform-spread": "^7.2.0",
-				"@babel/plugin-transform-sticky-regex": "^7.2.0",
-				"@babel/plugin-transform-template-literals": "^7.4.4",
-				"@babel/plugin-transform-typeof-symbol": "^7.2.0",
-				"@babel/plugin-transform-unicode-regex": "^7.4.4",
-				"@babel/types": "^7.6.0",
-				"browserslist": "^4.6.0",
-				"core-js-compat": "^3.1.1",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.8.0.tgz",
+			"integrity": "sha512-g3wnth3Ct+ZvnaHcvb5PQyojqNj0whXTkO7hatXgz+lQ2FphOoXrG1JMIfeaHgDakGzx3LiNe0KsWO69xSVFDA==",
+			"dev": true,
+			"requires": {
+				"@babel/compat-data": "^7.8.0",
+				"@babel/helper-compilation-targets": "^7.8.0",
+				"@babel/helper-module-imports": "^7.8.0",
+				"@babel/helper-plugin-utils": "^7.8.0",
+				"@babel/plugin-proposal-async-generator-functions": "^7.8.0",
+				"@babel/plugin-proposal-dynamic-import": "^7.8.0",
+				"@babel/plugin-proposal-json-strings": "^7.8.0",
+				"@babel/plugin-proposal-nullish-coalescing-operator": "^7.8.0",
+				"@babel/plugin-proposal-object-rest-spread": "^7.8.0",
+				"@babel/plugin-proposal-optional-catch-binding": "^7.8.0",
+				"@babel/plugin-proposal-optional-chaining": "^7.8.0",
+				"@babel/plugin-proposal-unicode-property-regex": "^7.8.0",
+				"@babel/plugin-syntax-async-generators": "^7.8.0",
+				"@babel/plugin-syntax-dynamic-import": "^7.8.0",
+				"@babel/plugin-syntax-json-strings": "^7.8.0",
+				"@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0",
+				"@babel/plugin-syntax-object-rest-spread": "^7.8.0",
+				"@babel/plugin-syntax-optional-catch-binding": "^7.8.0",
+				"@babel/plugin-syntax-optional-chaining": "^7.8.0",
+				"@babel/plugin-syntax-top-level-await": "^7.8.0",
+				"@babel/plugin-transform-arrow-functions": "^7.8.0",
+				"@babel/plugin-transform-async-to-generator": "^7.8.0",
+				"@babel/plugin-transform-block-scoped-functions": "^7.8.0",
+				"@babel/plugin-transform-block-scoping": "^7.8.0",
+				"@babel/plugin-transform-classes": "^7.8.0",
+				"@babel/plugin-transform-computed-properties": "^7.8.0",
+				"@babel/plugin-transform-destructuring": "^7.8.0",
+				"@babel/plugin-transform-dotall-regex": "^7.8.0",
+				"@babel/plugin-transform-duplicate-keys": "^7.8.0",
+				"@babel/plugin-transform-exponentiation-operator": "^7.8.0",
+				"@babel/plugin-transform-for-of": "^7.8.0",
+				"@babel/plugin-transform-function-name": "^7.8.0",
+				"@babel/plugin-transform-literals": "^7.8.0",
+				"@babel/plugin-transform-member-expression-literals": "^7.8.0",
+				"@babel/plugin-transform-modules-amd": "^7.8.0",
+				"@babel/plugin-transform-modules-commonjs": "^7.8.0",
+				"@babel/plugin-transform-modules-systemjs": "^7.8.0",
+				"@babel/plugin-transform-modules-umd": "^7.8.0",
+				"@babel/plugin-transform-named-capturing-groups-regex": "^7.8.0",
+				"@babel/plugin-transform-new-target": "^7.8.0",
+				"@babel/plugin-transform-object-super": "^7.8.0",
+				"@babel/plugin-transform-parameters": "^7.8.0",
+				"@babel/plugin-transform-property-literals": "^7.8.0",
+				"@babel/plugin-transform-regenerator": "^7.8.0",
+				"@babel/plugin-transform-reserved-words": "^7.8.0",
+				"@babel/plugin-transform-shorthand-properties": "^7.8.0",
+				"@babel/plugin-transform-spread": "^7.8.0",
+				"@babel/plugin-transform-sticky-regex": "^7.8.0",
+				"@babel/plugin-transform-template-literals": "^7.8.0",
+				"@babel/plugin-transform-typeof-symbol": "^7.8.0",
+				"@babel/plugin-transform-unicode-regex": "^7.8.0",
+				"@babel/types": "^7.8.0",
+				"browserslist": "^4.8.2",
+				"core-js-compat": "^3.6.2",
 				"invariant": "^2.2.2",
-				"js-levenshtein": "^1.1.3",
+				"levenary": "^1.1.0",
 				"semver": "^5.5.0"
 			},
 			"dependencies": {
+				"@babel/helper-plugin-utils": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.0.tgz",
+					"integrity": "sha512-+hAlRGdf8fHQAyNnDBqTHQhwdLURLdrCROoWaEQYiQhk2sV9Rhs+GoFZZfMJExTq9HG8o2NX3uN2G90bFtmFdA==",
+					"dev": true
+				},
+				"@babel/plugin-syntax-dynamic-import": {
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.0.tgz",
+					"integrity": "sha512-Mx2RzpCHJaBfmFdA2abXDKRHVJdzJ6R0Wqwb6TxCgM7NRR5wcC4cyiAsRL7Ga+lwG8GG1cKvb+4ENjic8y15jA==",
+					"dev": true,
+					"requires": {
+						"@babel/helper-plugin-utils": "^7.8.0"
+					}
+				},
 				"@babel/types": {
-					"version": "7.6.1",
-					"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.1.tgz",
-					"integrity": "sha512-X7gdiuaCmA0uRjCmRtYJNAVCc/q+5xSgsfKJHqMN4iNLILX39677fJE1O40arPMh0TTtS9ItH67yre6c7k6t0g==",
+					"version": "7.8.0",
+					"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.0.tgz",
+					"integrity": "sha512-1RF84ehyx9HH09dMMwGWl3UTWlVoCPtqqJPjGuC4JzMe1ZIVDJ2DT8mv3cPv/A7veLD6sgR7vi95lJqm+ZayIg==",
 					"dev": true,
 					"requires": {
 						"esutils": "^2.0.2",
@@ -970,9 +2582,9 @@
 			}
 		},
 		"@vue/component-compiler-utils": {
-			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.0.0.tgz",
-			"integrity": "sha512-am+04/0UX7ektcmvhYmrf84BDVAD8afFOf4asZjN84q8xzxFclbk5x0MtxuKGfp+zjN5WWPJn3fjFAWtDdIGSw==",
+			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.1.0.tgz",
+			"integrity": "sha512-OJ7swvl8LtKtX5aYP8jHhO6fQBIRIGkU6rvWzK+CGJiNOnvg16nzcBkd9qMZzW8trI2AsqAKx263nv7kb5rhZw==",
 			"dev": true,
 			"requires": {
 				"consolidate": "^0.15.1",
@@ -981,7 +2593,7 @@
 				"merge-source-map": "^1.1.0",
 				"postcss": "^7.0.14",
 				"postcss-selector-parser": "^5.0.0",
-				"prettier": "1.16.3",
+				"prettier": "^1.18.2",
 				"source-map": "~0.6.1",
 				"vue-template-es2015-compiler": "^1.9.0"
 			},
@@ -1212,9 +2824,9 @@
 			"dev": true
 		},
 		"acorn-jsx": {
-			"version": "5.0.2",
-			"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.2.tgz",
-			"integrity": "sha512-tiNTrP1MP0QrChmD2DdupCr6HWSFeKVw5d/dHTu4Y7rkAkRhU/Dt7dphAfIUyxtHpl/eBVip5uTNSpQJHylpAw==",
+			"version": "5.1.0",
+			"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.1.0.tgz",
+			"integrity": "sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==",
 			"dev": true
 		},
 		"ajv": {
@@ -1248,10 +2860,13 @@
 			"dev": true
 		},
 		"ansi-escapes": {
-			"version": "3.2.0",
-			"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz",
-			"integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==",
-			"dev": true
+			"version": "4.3.0",
+			"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.0.tgz",
+			"integrity": "sha512-EiYhwo0v255HUL6eDyuLrXEkTi7WwVCLAw+SeOQ7M7qdun1z1pum4DEm/nuqIVbPvi9RPPc9k9LbyBv6H0DwVg==",
+			"dev": true,
+			"requires": {
+				"type-fest": "^0.8.1"
+			}
 		},
 		"ansi-regex": {
 			"version": "3.0.0",
@@ -1625,13 +3240,14 @@
 			"dev": true
 		},
 		"array-includes": {
-			"version": "3.0.3",
-			"resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz",
-			"integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=",
+			"version": "3.1.1",
+			"resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.1.tgz",
+			"integrity": "sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==",
 			"dev": true,
 			"requires": {
-				"define-properties": "^1.1.2",
-				"es-abstract": "^1.7.0"
+				"define-properties": "^1.1.3",
+				"es-abstract": "^1.17.0",
+				"is-string": "^1.0.5"
 			}
 		},
 		"array-union": {
@@ -1655,6 +3271,16 @@
 			"integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
 			"dev": true
 		},
+		"array.prototype.flat": {
+			"version": "1.2.3",
+			"resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz",
+			"integrity": "sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ==",
+			"dev": true,
+			"requires": {
+				"define-properties": "^1.1.3",
+				"es-abstract": "^1.17.0-next.1"
+			}
+		},
 		"arrify": {
 			"version": "1.0.1",
 			"resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
@@ -1949,6 +3575,16 @@
 			"integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
 			"dev": true
 		},
+		"bindings": {
+			"version": "1.5.0",
+			"resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
+			"integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
+			"dev": true,
+			"optional": true,
+			"requires": {
+				"file-uri-to-path": "1.0.0"
+			}
+		},
 		"block-stream": {
 			"version": "0.0.9",
 			"resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
@@ -2069,20 +3705,34 @@
 			}
 		},
 		"browserslist": {
-			"version": "4.7.0",
-			"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.7.0.tgz",
-			"integrity": "sha512-9rGNDtnj+HaahxiVV38Gn8n8Lr8REKsel68v1sPFfIGEK6uSXTY3h9acgiT1dZVtOOUtifo/Dn8daDQ5dUgVsA==",
+			"version": "4.8.3",
+			"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.8.3.tgz",
+			"integrity": "sha512-iU43cMMknxG1ClEZ2MDKeonKE1CCrFVkQK2AqO2YWFmvIrx4JWrvQ4w4hQez6EpVI8rHTtqh/ruHHDHSOKxvUg==",
 			"dev": true,
 			"requires": {
-				"caniuse-lite": "^1.0.30000989",
-				"electron-to-chromium": "^1.3.247",
-				"node-releases": "^1.1.29"
+				"caniuse-lite": "^1.0.30001017",
+				"electron-to-chromium": "^1.3.322",
+				"node-releases": "^1.1.44"
+			},
+			"dependencies": {
+				"caniuse-lite": {
+					"version": "1.0.30001020",
+					"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001020.tgz",
+					"integrity": "sha512-yWIvwA68wRHKanAVS1GjN8vajAv7MBFshullKCeq/eKpK7pJBVDgFFEqvgWTkcP2+wIDeQGYFRXECjKZnLkUjA==",
+					"dev": true
+				},
+				"electron-to-chromium": {
+					"version": "1.3.332",
+					"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.332.tgz",
+					"integrity": "sha512-AP2HkLhfSOIxP7gDjlyZ4ywGWIcxRMZoU9+JriuVkQe2pSLDdWBsE6+eI6BQOqun1dohLrUTOPHsQLLhhFA7Eg==",
+					"dev": true
+				}
 			}
 		},
 		"browserslist-config-nextcloud": {
-			"version": "0.0.1",
-			"resolved": "https://registry.npmjs.org/browserslist-config-nextcloud/-/browserslist-config-nextcloud-0.0.1.tgz",
-			"integrity": "sha512-BUpPPPfE42jL2puSqfnsoOMoz6g+jqznoaoZmig4Kx1ULApBmM6iH+/7V1yblQz2PsOp39HET1byAB3h3h+kew==",
+			"version": "0.1.0",
+			"resolved": "https://registry.npmjs.org/browserslist-config-nextcloud/-/browserslist-config-nextcloud-0.1.0.tgz",
+			"integrity": "sha512-ruAx5nBTtSLKel+eSw12C0ylGzzfy5loJcfe8gbZ5JoxjwVkpe4V5TX1EHrImTHzhYOA2dXTfHUcCvF174Y1jg==",
 			"dev": true
 		},
 		"buffer": {
@@ -2153,9 +3803,9 @@
 					"dev": true
 				},
 				"yallist": {
-					"version": "3.0.3",
-					"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz",
-					"integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==",
+					"version": "3.1.1",
+					"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+					"integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
 					"dev": true
 				}
 			}
@@ -2399,9 +4049,9 @@
 			}
 		},
 		"chownr": {
-			"version": "1.1.2",
-			"resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.2.tgz",
-			"integrity": "sha512-GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A==",
+			"version": "1.1.3",
+			"resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz",
+			"integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==",
 			"dev": true
 		},
 		"chrome-trace-event": {
@@ -2453,12 +4103,12 @@
 			}
 		},
 		"cli-cursor": {
-			"version": "2.1.0",
-			"resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
-			"integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
+			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
+			"integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
 			"dev": true,
 			"requires": {
-				"restore-cursor": "^2.0.0"
+				"restore-cursor": "^3.1.0"
 			}
 		},
 		"cli-width": {
@@ -2664,9 +4314,9 @@
 			"dev": true
 		},
 		"convert-source-map": {
-			"version": "1.6.0",
-			"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz",
-			"integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==",
+			"version": "1.7.0",
+			"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz",
+			"integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==",
 			"dev": true,
 			"requires": {
 				"safe-buffer": "~5.1.1"
@@ -2693,24 +4343,24 @@
 			"dev": true
 		},
 		"core-js": {
-			"version": "2.6.9",
-			"resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz",
-			"integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A=="
+			"version": "2.6.11",
+			"resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz",
+			"integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg=="
 		},
 		"core-js-compat": {
-			"version": "3.2.1",
-			"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.2.1.tgz",
-			"integrity": "sha512-MwPZle5CF9dEaMYdDeWm73ao/IflDH+FjeJCWEADcEgFSE9TLimFKwJsfmkwzI8eC0Aj0mgvMDjeQjrElkz4/A==",
+			"version": "3.6.3",
+			"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.3.tgz",
+			"integrity": "sha512-Y3YNGU3bU1yrnzVodop23ghArbKv4IqkZg9MMOWv/h7KT6NRk1/SzHhWDDlubg2+tlcUzAqgj1/GyeJ9fUKMeg==",
 			"dev": true,
 			"requires": {
-				"browserslist": "^4.6.6",
-				"semver": "^6.3.0"
+				"browserslist": "^4.8.3",
+				"semver": "7.0.0"
 			},
 			"dependencies": {
 				"semver": {
-					"version": "6.3.0",
-					"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-					"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+					"version": "7.0.0",
+					"resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
+					"integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==",
 					"dev": true
 				}
 			}
@@ -2819,9 +4469,9 @@
 			}
 		},
 		"css-loader": {
-			"version": "3.2.0",
-			"resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.2.0.tgz",
-			"integrity": "sha512-QTF3Ud5H7DaZotgdcJjGMvyDj5F3Pn1j/sC6VBEOVp94cbwqyIBdcs/quzj4MC1BKQSrTpQznegH/5giYbhnCQ==",
+			"version": "3.4.2",
+			"resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.4.2.tgz",
+			"integrity": "sha512-jYq4zdZT0oS0Iykt+fqnzVLRIeiPWhka+7BqPn+oSIpWJAHak5tmB/WZrJ2a21JhCeFyNnnlroSl8c+MtVndzA==",
 			"dev": true,
 			"requires": {
 				"camelcase": "^5.3.1",
@@ -2829,13 +4479,41 @@
 				"icss-utils": "^4.1.1",
 				"loader-utils": "^1.2.3",
 				"normalize-path": "^3.0.0",
-				"postcss": "^7.0.17",
+				"postcss": "^7.0.23",
 				"postcss-modules-extract-imports": "^2.0.0",
 				"postcss-modules-local-by-default": "^3.0.2",
-				"postcss-modules-scope": "^2.1.0",
+				"postcss-modules-scope": "^2.1.1",
 				"postcss-modules-values": "^3.0.0",
-				"postcss-value-parser": "^4.0.0",
-				"schema-utils": "^2.0.0"
+				"postcss-value-parser": "^4.0.2",
+				"schema-utils": "^2.6.0"
+			},
+			"dependencies": {
+				"postcss": {
+					"version": "7.0.26",
+					"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.26.tgz",
+					"integrity": "sha512-IY4oRjpXWYshuTDFxMVkJDtWIk2LhsTlu8bZnbEJA4+bYT16Lvpo8Qv6EvDumhYRgzjZl489pmsY3qVgJQ08nA==",
+					"dev": true,
+					"requires": {
+						"chalk": "^2.4.2",
+						"source-map": "^0.6.1",
+						"supports-color": "^6.1.0"
+					}
+				},
+				"source-map": {
+					"version": "0.6.1",
+					"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+					"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+					"dev": true
+				},
+				"supports-color": {
+					"version": "6.1.0",
+					"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+					"integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+					"dev": true,
+					"requires": {
+						"has-flag": "^3.0.0"
+					}
+				}
 			}
 		},
 		"cssesc": {
@@ -2854,9 +4532,9 @@
 			}
 		},
 		"cyclist": {
-			"version": "0.2.2",
-			"resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz",
-			"integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=",
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz",
+			"integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=",
 			"dev": true
 		},
 		"dashdash": {
@@ -3209,27 +4887,36 @@
 			}
 		},
 		"es-abstract": {
-			"version": "1.14.0",
-			"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.14.0.tgz",
-			"integrity": "sha512-lri42nNq1tIohUuwFBYEM3wKwcrcJa78jukGDdWsuaNxTtxBFGFkKUQ15nc9J+ipje4mhbQR6JwABb4VvawR3A==",
+			"version": "1.17.0",
+			"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.0.tgz",
+			"integrity": "sha512-yYkE07YF+6SIBmg1MsJ9dlub5L48Ek7X0qz+c/CPCHS9EBXfESorzng4cJQjJW5/pB6vDF41u7F8vUhLVDqIug==",
 			"dev": true,
 			"requires": {
-				"es-to-primitive": "^1.2.0",
+				"es-to-primitive": "^1.2.1",
 				"function-bind": "^1.1.1",
 				"has": "^1.0.3",
-				"has-symbols": "^1.0.0",
-				"is-callable": "^1.1.4",
-				"is-regex": "^1.0.4",
-				"object-inspect": "^1.6.0",
+				"has-symbols": "^1.0.1",
+				"is-callable": "^1.1.5",
+				"is-regex": "^1.0.5",
+				"object-inspect": "^1.7.0",
 				"object-keys": "^1.1.1",
-				"string.prototype.trimleft": "^2.0.0",
-				"string.prototype.trimright": "^2.0.0"
+				"object.assign": "^4.1.0",
+				"string.prototype.trimleft": "^2.1.1",
+				"string.prototype.trimright": "^2.1.1"
+			},
+			"dependencies": {
+				"has-symbols": {
+					"version": "1.0.1",
+					"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
+					"integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
+					"dev": true
+				}
 			}
 		},
 		"es-to-primitive": {
-			"version": "1.2.0",
-			"resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz",
-			"integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==",
+			"version": "1.2.1",
+			"resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
+			"integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
 			"dev": true,
 			"requires": {
 				"is-callable": "^1.1.4",
@@ -3249,80 +4936,177 @@
 			"dev": true
 		},
 		"eslint": {
-			"version": "5.16.0",
-			"resolved": "https://registry.npmjs.org/eslint/-/eslint-5.16.0.tgz",
-			"integrity": "sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==",
+			"version": "6.8.0",
+			"resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz",
+			"integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==",
 			"dev": true,
 			"requires": {
 				"@babel/code-frame": "^7.0.0",
-				"ajv": "^6.9.1",
+				"ajv": "^6.10.0",
 				"chalk": "^2.1.0",
 				"cross-spawn": "^6.0.5",
 				"debug": "^4.0.1",
 				"doctrine": "^3.0.0",
-				"eslint-scope": "^4.0.3",
-				"eslint-utils": "^1.3.1",
-				"eslint-visitor-keys": "^1.0.0",
-				"espree": "^5.0.1",
+				"eslint-scope": "^5.0.0",
+				"eslint-utils": "^1.4.3",
+				"eslint-visitor-keys": "^1.1.0",
+				"espree": "^6.1.2",
 				"esquery": "^1.0.1",
 				"esutils": "^2.0.2",
 				"file-entry-cache": "^5.0.1",
 				"functional-red-black-tree": "^1.0.1",
-				"glob": "^7.1.2",
-				"globals": "^11.7.0",
+				"glob-parent": "^5.0.0",
+				"globals": "^12.1.0",
 				"ignore": "^4.0.6",
 				"import-fresh": "^3.0.0",
 				"imurmurhash": "^0.1.4",
-				"inquirer": "^6.2.2",
-				"js-yaml": "^3.13.0",
+				"inquirer": "^7.0.0",
+				"is-glob": "^4.0.0",
+				"js-yaml": "^3.13.1",
 				"json-stable-stringify-without-jsonify": "^1.0.1",
 				"levn": "^0.3.0",
-				"lodash": "^4.17.11",
+				"lodash": "^4.17.14",
 				"minimatch": "^3.0.4",
 				"mkdirp": "^0.5.1",
 				"natural-compare": "^1.4.0",
-				"optionator": "^0.8.2",
-				"path-is-inside": "^1.0.2",
+				"optionator": "^0.8.3",
 				"progress": "^2.0.0",
 				"regexpp": "^2.0.1",
-				"semver": "^5.5.1",
-				"strip-ansi": "^4.0.0",
-				"strip-json-comments": "^2.0.1",
+				"semver": "^6.1.2",
+				"strip-ansi": "^5.2.0",
+				"strip-json-comments": "^3.0.1",
 				"table": "^5.2.3",
-				"text-table": "^0.2.0"
+				"text-table": "^0.2.0",
+				"v8-compile-cache": "^2.0.3"
 			},
 			"dependencies": {
+				"acorn": {
+					"version": "7.1.0",
+					"resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz",
+					"integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==",
+					"dev": true
+				},
+				"acorn-jsx": {
+					"version": "5.1.0",
+					"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.1.0.tgz",
+					"integrity": "sha512-tMUqwBWfLFbJbizRmEcWSLw6HnFzfdJs2sOJEOwwtVPMoH/0Ay+E703oZz78VSXZiiDcZrQ5XKjPIUQixhmgVw==",
+					"dev": true
+				},
+				"ansi-regex": {
+					"version": "4.1.0",
+					"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+					"integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+					"dev": true
+				},
 				"debug": {
 					"version": "4.1.1",
 					"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
 					"integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
 					"dev": true,
 					"requires": {
-						"ms": "^2.1.1"
+						"ms": "^2.1.1"
+					}
+				},
+				"eslint-scope": {
+					"version": "5.0.0",
+					"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz",
+					"integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==",
+					"dev": true,
+					"requires": {
+						"esrecurse": "^4.1.0",
+						"estraverse": "^4.1.1"
+					}
+				},
+				"eslint-utils": {
+					"version": "1.4.3",
+					"resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz",
+					"integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==",
+					"dev": true,
+					"requires": {
+						"eslint-visitor-keys": "^1.1.0"
+					}
+				},
+				"espree": {
+					"version": "6.1.2",
+					"resolved": "https://registry.npmjs.org/espree/-/espree-6.1.2.tgz",
+					"integrity": "sha512-2iUPuuPP+yW1PZaMSDM9eyVf8D5P0Hi8h83YtZ5bPc/zHYjII5khoixIUTMO794NOY8F/ThF1Bo8ncZILarUTA==",
+					"dev": true,
+					"requires": {
+						"acorn": "^7.1.0",
+						"acorn-jsx": "^5.1.0",
+						"eslint-visitor-keys": "^1.1.0"
+					}
+				},
+				"glob-parent": {
+					"version": "5.1.0",
+					"resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz",
+					"integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==",
+					"dev": true,
+					"requires": {
+						"is-glob": "^4.0.1"
+					}
+				},
+				"globals": {
+					"version": "12.3.0",
+					"resolved": "https://registry.npmjs.org/globals/-/globals-12.3.0.tgz",
+					"integrity": "sha512-wAfjdLgFsPZsklLJvOBUBmzYE8/CwhEqSBEMRXA3qxIiNtyqvjYurAtIfDh6chlEPUfmTY3MnZh5Hfh4q0UlIw==",
+					"dev": true,
+					"requires": {
+						"type-fest": "^0.8.1"
+					}
+				},
+				"is-extglob": {
+					"version": "2.1.1",
+					"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+					"integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+					"dev": true
+				},
+				"is-glob": {
+					"version": "4.0.1",
+					"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
+					"integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
+					"dev": true,
+					"requires": {
+						"is-extglob": "^2.1.1"
+					}
+				},
+				"ms": {
+					"version": "2.1.2",
+					"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+					"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+					"dev": true
+				},
+				"semver": {
+					"version": "6.3.0",
+					"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+					"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+					"dev": true
+				},
+				"strip-ansi": {
+					"version": "5.2.0",
+					"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+					"integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+					"dev": true,
+					"requires": {
+						"ansi-regex": "^4.1.0"
 					}
-				},
-				"ms": {
-					"version": "2.1.2",
-					"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-					"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
-					"dev": true
 				}
 			}
 		},
 		"eslint-config-standard": {
-			"version": "12.0.0",
-			"resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-12.0.0.tgz",
-			"integrity": "sha512-COUz8FnXhqFitYj4DTqHzidjIL/t4mumGZto5c7DrBpvWoie+Sn3P4sLEzUGeYhRElWuFEf8K1S1EfvD1vixCQ==",
+			"version": "14.1.0",
+			"resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-14.1.0.tgz",
+			"integrity": "sha512-EF6XkrrGVbvv8hL/kYa/m6vnvmUT+K82pJJc4JJVMM6+Qgqh0pnwprSxdduDLB9p/7bIxD+YV5O0wfb8lmcPbA==",
 			"dev": true
 		},
 		"eslint-import-resolver-node": {
-			"version": "0.3.2",
-			"resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz",
-			"integrity": "sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==",
+			"version": "0.3.3",
+			"resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.3.tgz",
+			"integrity": "sha512-b8crLDo0M5RSe5YG8Pu2DYBj71tSB6OvXkfzwbJU2w7y8P4/yo0MyF8jU26IEuEuHF2K5/gcAJE3LhQGqBBbVg==",
 			"dev": true,
 			"requires": {
 				"debug": "^2.6.9",
-				"resolve": "^1.5.0"
+				"resolve": "^1.13.1"
 			},
 			"dependencies": {
 				"debug": {
@@ -3333,25 +5117,34 @@
 					"requires": {
 						"ms": "2.0.0"
 					}
+				},
+				"resolve": {
+					"version": "1.14.2",
+					"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.14.2.tgz",
+					"integrity": "sha512-EjlOBLBO1kxsUxsKjLt7TAECyKW6fOh1VRkykQkKGzcBbjjPIxBqGh0jf7GJ3k/f5mxMqW3htMD3WdTUVtW8HQ==",
+					"dev": true,
+					"requires": {
+						"path-parse": "^1.0.6"
+					}
 				}
 			}
 		},
 		"eslint-import-resolver-webpack": {
-			"version": "0.11.1",
-			"resolved": "https://registry.npmjs.org/eslint-import-resolver-webpack/-/eslint-import-resolver-webpack-0.11.1.tgz",
-			"integrity": "sha512-eK3zR7xVQR/MaoBWwGuD+CULYVuqe5QFlDukman71aI6IboCGzggDUohHNfu1ZeBnbHcUHJc0ywWoXUBNB6qdg==",
+			"version": "0.12.1",
+			"resolved": "https://registry.npmjs.org/eslint-import-resolver-webpack/-/eslint-import-resolver-webpack-0.12.1.tgz",
+			"integrity": "sha512-O/sUAXk6GWrICiN8JUkkjdt9uZpqZHP+FVnTxtEILL6EZMaPSrnP4lGPSFwcKsv7O211maqq4Nz60+dh236hVg==",
 			"dev": true,
 			"requires": {
 				"array-find": "^1.0.0",
-				"debug": "^2.6.8",
-				"enhanced-resolve": "~0.9.0",
+				"debug": "^2.6.9",
+				"enhanced-resolve": "^0.9.1",
 				"find-root": "^1.1.0",
-				"has": "^1.0.1",
-				"interpret": "^1.0.0",
-				"lodash": "^4.17.4",
+				"has": "^1.0.3",
+				"interpret": "^1.2.0",
+				"lodash": "^4.17.15",
 				"node-libs-browser": "^1.0.0 || ^2.0.0",
-				"resolve": "^1.10.0",
-				"semver": "^5.3.0"
+				"resolve": "^1.13.1",
+				"semver": "^5.7.1"
 			},
 			"dependencies": {
 				"debug": {
@@ -3362,28 +5155,50 @@
 					"requires": {
 						"ms": "2.0.0"
 					}
+				},
+				"resolve": {
+					"version": "1.14.2",
+					"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.14.2.tgz",
+					"integrity": "sha512-EjlOBLBO1kxsUxsKjLt7TAECyKW6fOh1VRkykQkKGzcBbjjPIxBqGh0jf7GJ3k/f5mxMqW3htMD3WdTUVtW8HQ==",
+					"dev": true,
+					"requires": {
+						"path-parse": "^1.0.6"
+					}
 				}
 			}
 		},
 		"eslint-loader": {
-			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-3.0.0.tgz",
-			"integrity": "sha512-rdxyQ0i9VlhwVlR6oEzrIft8WNKYSD2/cOAJ1YVH/F76gAta7Zv1Dr5xJOUyx0fAsHB5cKNz9hwlUVLMFsQlPA==",
+			"version": "3.0.3",
+			"resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-3.0.3.tgz",
+			"integrity": "sha512-+YRqB95PnNvxNp1HEjQmvf9KNvCin5HXYYseOXVC2U0KEcw4IkQ2IQEBG46j7+gW39bMzeu0GsUhVbBY3Votpw==",
 			"dev": true,
 			"requires": {
+				"fs-extra": "^8.1.0",
 				"loader-fs-cache": "^1.0.2",
 				"loader-utils": "^1.2.3",
-				"object-hash": "^1.3.1",
-				"schema-utils": "^2.1.0"
+				"object-hash": "^2.0.1",
+				"schema-utils": "^2.6.1"
+			},
+			"dependencies": {
+				"schema-utils": {
+					"version": "2.6.1",
+					"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.1.tgz",
+					"integrity": "sha512-0WXHDs1VDJyo+Zqs9TKLKyD/h7yDpHUhEFsM2CzkICFdoX1av+GBq/J2xRTFfsQO5kBfhZzANf2VcIm84jqDbg==",
+					"dev": true,
+					"requires": {
+						"ajv": "^6.10.2",
+						"ajv-keywords": "^3.4.1"
+					}
+				}
 			}
 		},
 		"eslint-module-utils": {
-			"version": "2.4.1",
-			"resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.4.1.tgz",
-			"integrity": "sha512-H6DOj+ejw7Tesdgbfs4jeS4YMFrT8uI8xwd1gtQqXssaR0EQ26L+2O/w6wkYFy2MymON0fTwHmXBvvfLNZVZEw==",
+			"version": "2.5.1",
+			"resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.5.1.tgz",
+			"integrity": "sha512-GcNwsYv8MfoEBSbAmV+PSVn2RlhpCShbLImtNviAYa/LE0PgNqxH5tLi1Ld9yeFwdjHsarXK+7G9vsyddmB6dw==",
 			"dev": true,
 			"requires": {
-				"debug": "^2.6.8",
+				"debug": "^2.6.9",
 				"pkg-dir": "^2.0.0"
 			},
 			"dependencies": {
@@ -3451,12 +5266,12 @@
 			}
 		},
 		"eslint-plugin-es": {
-			"version": "2.0.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-2.0.0.tgz",
-			"integrity": "sha512-f6fceVtg27BR02EYnBhgWLFQfK6bN4Ll0nQFrBHOlCsAyxeZkn0NHns5O0YZOPrV1B3ramd6cgFwaoFLcSkwEQ==",
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-3.0.0.tgz",
+			"integrity": "sha512-6/Jb/J/ZvSebydwbBJO1R9E5ky7YeElfK56Veh7e4QGFHCXoIXGH9HhVz+ibJLM3XJ1XjP+T7rKBLUa/Y7eIng==",
 			"dev": true,
 			"requires": {
-				"eslint-utils": "^1.4.2",
+				"eslint-utils": "^2.0.0",
 				"regexpp": "^3.0.0"
 			},
 			"dependencies": {
@@ -3469,22 +5284,23 @@
 			}
 		},
 		"eslint-plugin-import": {
-			"version": "2.18.2",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.18.2.tgz",
-			"integrity": "sha512-5ohpsHAiUBRNaBWAF08izwUGlbrJoJJ+W9/TBwsGoR1MnlgfwMIKrFeSjWbt6moabiXW9xNvtFz+97KHRfI4HQ==",
+			"version": "2.20.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.20.0.tgz",
+			"integrity": "sha512-NK42oA0mUc8Ngn4kONOPsPB1XhbUvNHqF+g307dPV28aknPoiNnKLFd9em4nkswwepdF5ouieqv5Th/63U7YJQ==",
 			"dev": true,
 			"requires": {
 				"array-includes": "^3.0.3",
+				"array.prototype.flat": "^1.2.1",
 				"contains-path": "^0.1.0",
 				"debug": "^2.6.9",
 				"doctrine": "1.5.0",
 				"eslint-import-resolver-node": "^0.3.2",
-				"eslint-module-utils": "^2.4.0",
+				"eslint-module-utils": "^2.4.1",
 				"has": "^1.0.3",
 				"minimatch": "^3.0.4",
 				"object.values": "^1.1.0",
 				"read-pkg-up": "^2.0.0",
-				"resolve": "^1.11.0"
+				"resolve": "^1.12.0"
 			},
 			"dependencies": {
 				"debug": {
@@ -3518,13 +5334,13 @@
 			}
 		},
 		"eslint-plugin-node": {
-			"version": "10.0.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-10.0.0.tgz",
-			"integrity": "sha512-1CSyM/QCjs6PXaT18+zuAXsjXGIGo5Rw630rSKwokSs2jrYURQc4R5JZpoanNCqwNmepg+0eZ9L7YiRUJb8jiQ==",
+			"version": "11.0.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.0.0.tgz",
+			"integrity": "sha512-chUs/NVID+sknFiJzxoN9lM7uKSOEta8GC8365hw1nDfwIPIjjpRSwwPvQanWv8dt/pDe9EV4anmVSwdiSndNg==",
 			"dev": true,
 			"requires": {
-				"eslint-plugin-es": "^2.0.0",
-				"eslint-utils": "^1.4.2",
+				"eslint-plugin-es": "^3.0.0",
+				"eslint-utils": "^2.0.0",
 				"ignore": "^5.1.1",
 				"minimatch": "^3.0.4",
 				"resolve": "^1.10.1",
@@ -3558,12 +5374,13 @@
 			"dev": true
 		},
 		"eslint-plugin-vue": {
-			"version": "5.2.3",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-5.2.3.tgz",
-			"integrity": "sha512-mGwMqbbJf0+VvpGR5Lllq0PMxvTdrZ/ZPjmhkacrCHbubJeJOt+T6E3HUzAifa2Mxi7RSdJfC9HFpOeSYVMMIw==",
+			"version": "6.1.2",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-6.1.2.tgz",
+			"integrity": "sha512-M75oAB+2a/LNkLKRbeEaS07EjzjIUaV7/hYoHAfRFeeF8ZMmCbahUn8nQLsLP85mkar24+zDU3QW2iT1JRsACw==",
 			"dev": true,
 			"requires": {
-				"vue-eslint-parser": "^5.0.0"
+				"semver": "^5.6.0",
+				"vue-eslint-parser": "^7.0.0"
 			}
 		},
 		"eslint-scope": {
@@ -3577,12 +5394,12 @@
 			}
 		},
 		"eslint-utils": {
-			"version": "1.4.2",
-			"resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.2.tgz",
-			"integrity": "sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.0.0.tgz",
+			"integrity": "sha512-0HCPuJv+7Wv1bACm8y5/ECVfYdfsAm9xmVb7saeFlxjPYALefjhbYoCkBjPdPzGH8wWyTpAez82Fh3VKYEZ8OA==",
 			"dev": true,
 			"requires": {
-				"eslint-visitor-keys": "^1.0.0"
+				"eslint-visitor-keys": "^1.1.0"
 			}
 		},
 		"eslint-visitor-keys": {
@@ -3592,14 +5409,22 @@
 			"dev": true
 		},
 		"espree": {
-			"version": "5.0.1",
-			"resolved": "https://registry.npmjs.org/espree/-/espree-5.0.1.tgz",
-			"integrity": "sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==",
+			"version": "6.1.2",
+			"resolved": "https://registry.npmjs.org/espree/-/espree-6.1.2.tgz",
+			"integrity": "sha512-2iUPuuPP+yW1PZaMSDM9eyVf8D5P0Hi8h83YtZ5bPc/zHYjII5khoixIUTMO794NOY8F/ThF1Bo8ncZILarUTA==",
 			"dev": true,
 			"requires": {
-				"acorn": "^6.0.7",
-				"acorn-jsx": "^5.0.0",
-				"eslint-visitor-keys": "^1.0.0"
+				"acorn": "^7.1.0",
+				"acorn-jsx": "^5.1.0",
+				"eslint-visitor-keys": "^1.1.0"
+			},
+			"dependencies": {
+				"acorn": {
+					"version": "7.1.0",
+					"resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz",
+					"integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==",
+					"dev": true
+				}
 			}
 		},
 		"esprima": {
@@ -3788,9 +5613,9 @@
 			"dev": true
 		},
 		"figures": {
-			"version": "2.0.0",
-			"resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
-			"integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
+			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/figures/-/figures-3.1.0.tgz",
+			"integrity": "sha512-ravh8VRXqHuMvZt/d8GblBeqDMkdJMBdv/2KntFH+ra5MXkO7nxNKpzQ3n6QD/2da1kH0aWmNISdvhM7gl2gVg==",
 			"dev": true,
 			"requires": {
 				"escape-string-regexp": "^1.0.5"
@@ -3806,15 +5631,22 @@
 			}
 		},
 		"file-loader": {
-			"version": "4.2.0",
-			"resolved": "https://registry.npmjs.org/file-loader/-/file-loader-4.2.0.tgz",
-			"integrity": "sha512-+xZnaK5R8kBJrHK0/6HRlrKNamvVS5rjyuju+rnyxRGuwUJwpAMsVzUl5dz6rK8brkzjV6JpcFNjp6NqV0g1OQ==",
+			"version": "5.0.2",
+			"resolved": "https://registry.npmjs.org/file-loader/-/file-loader-5.0.2.tgz",
+			"integrity": "sha512-QMiQ+WBkGLejKe81HU8SZ9PovsU/5uaLo0JdTCEXOYv7i7jfAjHZi1tcwp9tSASJPOmmHZtbdCervFmXMH/Dcg==",
 			"dev": true,
 			"requires": {
 				"loader-utils": "^1.2.3",
-				"schema-utils": "^2.0.0"
+				"schema-utils": "^2.5.0"
 			}
 		},
+		"file-uri-to-path": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
+			"integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
+			"dev": true,
+			"optional": true
+		},
 		"filename-regex": {
 			"version": "2.0.1",
 			"resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
@@ -4263,6 +6095,17 @@
 				"readable-stream": "^2.0.0"
 			}
 		},
+		"fs-extra": {
+			"version": "8.1.0",
+			"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
+			"integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
+			"dev": true,
+			"requires": {
+				"graceful-fs": "^4.2.0",
+				"jsonfile": "^4.0.0",
+				"universalify": "^0.1.0"
+			}
+		},
 		"fs-write-stream-atomic": {
 			"version": "1.0.10",
 			"resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
@@ -4282,14 +6125,15 @@
 			"dev": true
 		},
 		"fsevents": {
-			"version": "1.2.9",
-			"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz",
-			"integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==",
+			"version": "1.2.11",
+			"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.11.tgz",
+			"integrity": "sha512-+ux3lx6peh0BpvY0JebGyZoiR4D+oYzdPZMKJwkZ+sFkNJzpL7tXc/wehS49gUAxg3tmMHPHZkA8JU2rhhgDHw==",
 			"dev": true,
 			"optional": true,
 			"requires": {
+				"bindings": "^1.5.0",
 				"nan": "^2.12.1",
-				"node-pre-gyp": "^0.12.0"
+				"node-pre-gyp": "*"
 			},
 			"dependencies": {
 				"abbrev": {
@@ -4337,7 +6181,7 @@
 					}
 				},
 				"chownr": {
-					"version": "1.1.1",
+					"version": "1.1.3",
 					"bundled": true,
 					"dev": true,
 					"optional": true
@@ -4367,7 +6211,7 @@
 					"optional": true
 				},
 				"debug": {
-					"version": "4.1.1",
+					"version": "3.2.6",
 					"bundled": true,
 					"dev": true,
 					"optional": true,
@@ -4394,12 +6238,12 @@
 					"optional": true
 				},
 				"fs-minipass": {
-					"version": "1.2.5",
+					"version": "1.2.7",
 					"bundled": true,
 					"dev": true,
 					"optional": true,
 					"requires": {
-						"minipass": "^2.2.1"
+						"minipass": "^2.6.0"
 					}
 				},
 				"fs.realpath": {
@@ -4425,7 +6269,7 @@
 					}
 				},
 				"glob": {
-					"version": "7.1.3",
+					"version": "7.1.6",
 					"bundled": true,
 					"dev": true,
 					"optional": true,
@@ -4454,7 +6298,7 @@
 					}
 				},
 				"ignore-walk": {
-					"version": "3.0.1",
+					"version": "3.0.3",
 					"bundled": true,
 					"dev": true,
 					"optional": true,
@@ -4473,7 +6317,7 @@
 					}
 				},
 				"inherits": {
-					"version": "2.0.3",
+					"version": "2.0.4",
 					"bundled": true,
 					"dev": true,
 					"optional": true
@@ -4515,7 +6359,7 @@
 					"optional": true
 				},
 				"minipass": {
-					"version": "2.3.5",
+					"version": "2.9.0",
 					"bundled": true,
 					"dev": true,
 					"optional": true,
@@ -4525,12 +6369,12 @@
 					}
 				},
 				"minizlib": {
-					"version": "1.2.1",
+					"version": "1.3.3",
 					"bundled": true,
 					"dev": true,
 					"optional": true,
 					"requires": {
-						"minipass": "^2.2.1"
+						"minipass": "^2.9.0"
 					}
 				},
 				"mkdirp": {
@@ -4543,24 +6387,24 @@
 					}
 				},
 				"ms": {
-					"version": "2.1.1",
+					"version": "2.1.2",
 					"bundled": true,
 					"dev": true,
 					"optional": true
 				},
 				"needle": {
-					"version": "2.3.0",
+					"version": "2.4.0",
 					"bundled": true,
 					"dev": true,
 					"optional": true,
 					"requires": {
-						"debug": "^4.1.0",
+						"debug": "^3.2.6",
 						"iconv-lite": "^0.4.4",
 						"sax": "^1.2.4"
 					}
 				},
 				"node-pre-gyp": {
-					"version": "0.12.0",
+					"version": "0.14.0",
 					"bundled": true,
 					"dev": true,
 					"optional": true,
@@ -4574,7 +6418,7 @@
 						"rc": "^1.2.7",
 						"rimraf": "^2.6.1",
 						"semver": "^5.3.0",
-						"tar": "^4"
+						"tar": "^4.4.2"
 					}
 				},
 				"nopt": {
@@ -4588,13 +6432,22 @@
 					}
 				},
 				"npm-bundled": {
-					"version": "1.0.6",
+					"version": "1.1.1",
+					"bundled": true,
+					"dev": true,
+					"optional": true,
+					"requires": {
+						"npm-normalize-package-bin": "^1.0.1"
+					}
+				},
+				"npm-normalize-package-bin": {
+					"version": "1.0.1",
 					"bundled": true,
 					"dev": true,
 					"optional": true
 				},
 				"npm-packlist": {
-					"version": "1.4.1",
+					"version": "1.4.7",
 					"bundled": true,
 					"dev": true,
 					"optional": true,
@@ -4665,7 +6518,7 @@
 					"optional": true
 				},
 				"process-nextick-args": {
-					"version": "2.0.0",
+					"version": "2.0.1",
 					"bundled": true,
 					"dev": true,
 					"optional": true
@@ -4706,7 +6559,7 @@
 					}
 				},
 				"rimraf": {
-					"version": "2.6.3",
+					"version": "2.7.1",
 					"bundled": true,
 					"dev": true,
 					"optional": true,
@@ -4733,7 +6586,7 @@
 					"optional": true
 				},
 				"semver": {
-					"version": "5.7.0",
+					"version": "5.7.1",
 					"bundled": true,
 					"dev": true,
 					"optional": true
@@ -4786,18 +6639,18 @@
 					"optional": true
 				},
 				"tar": {
-					"version": "4.4.8",
+					"version": "4.4.13",
 					"bundled": true,
 					"dev": true,
 					"optional": true,
 					"requires": {
 						"chownr": "^1.1.1",
 						"fs-minipass": "^1.2.5",
-						"minipass": "^2.3.4",
-						"minizlib": "^1.1.1",
+						"minipass": "^2.8.6",
+						"minizlib": "^1.2.1",
 						"mkdirp": "^0.5.0",
 						"safe-buffer": "^5.1.2",
-						"yallist": "^3.0.2"
+						"yallist": "^3.0.3"
 					}
 				},
 				"util-deprecate": {
@@ -4822,7 +6675,7 @@
 					"optional": true
 				},
 				"yallist": {
-					"version": "3.0.3",
+					"version": "3.1.1",
 					"bundled": true,
 					"dev": true,
 					"optional": true
@@ -4915,6 +6768,12 @@
 				"globule": "^1.0.0"
 			}
 		},
+		"gensync": {
+			"version": "1.0.0-beta.1",
+			"resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz",
+			"integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==",
+			"dev": true
+		},
 		"get-caller-file": {
 			"version": "1.0.3",
 			"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
@@ -5369,9 +7228,9 @@
 			"dev": true
 		},
 		"import-fresh": {
-			"version": "3.1.0",
-			"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.1.0.tgz",
-			"integrity": "sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ==",
+			"version": "3.2.1",
+			"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz",
+			"integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==",
 			"dev": true,
 			"requires": {
 				"parent-module": "^1.0.0",
@@ -5444,32 +7303,66 @@
 			"dev": true
 		},
 		"inquirer": {
-			"version": "6.5.2",
-			"resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz",
-			"integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==",
+			"version": "7.0.1",
+			"resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.1.tgz",
+			"integrity": "sha512-V1FFQ3TIO15det8PijPLFR9M9baSlnRs9nL7zWu1MNVA2T9YVl9ZbrHJhYs7e9X8jeMZ3lr2JH/rdHFgNCBdYw==",
 			"dev": true,
 			"requires": {
-				"ansi-escapes": "^3.2.0",
+				"ansi-escapes": "^4.2.1",
 				"chalk": "^2.4.2",
-				"cli-cursor": "^2.1.0",
+				"cli-cursor": "^3.1.0",
 				"cli-width": "^2.0.0",
 				"external-editor": "^3.0.3",
-				"figures": "^2.0.0",
-				"lodash": "^4.17.12",
-				"mute-stream": "0.0.7",
+				"figures": "^3.0.0",
+				"lodash": "^4.17.15",
+				"mute-stream": "0.0.8",
 				"run-async": "^2.2.0",
-				"rxjs": "^6.4.0",
-				"string-width": "^2.1.0",
+				"rxjs": "^6.5.3",
+				"string-width": "^4.1.0",
 				"strip-ansi": "^5.1.0",
 				"through": "^2.3.6"
 			},
 			"dependencies": {
 				"ansi-regex": {
-					"version": "4.1.0",
-					"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
-					"integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+					"version": "5.0.0",
+					"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
+					"integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
 					"dev": true
 				},
+				"emoji-regex": {
+					"version": "8.0.0",
+					"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+					"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+					"dev": true
+				},
+				"is-fullwidth-code-point": {
+					"version": "3.0.0",
+					"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+					"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+					"dev": true
+				},
+				"string-width": {
+					"version": "4.2.0",
+					"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+					"integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
+					"dev": true,
+					"requires": {
+						"emoji-regex": "^8.0.0",
+						"is-fullwidth-code-point": "^3.0.0",
+						"strip-ansi": "^6.0.0"
+					},
+					"dependencies": {
+						"strip-ansi": {
+							"version": "6.0.0",
+							"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
+							"integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
+							"dev": true,
+							"requires": {
+								"ansi-regex": "^5.0.0"
+							}
+						}
+					}
+				},
 				"strip-ansi": {
 					"version": "5.2.0",
 					"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
@@ -5477,6 +7370,14 @@
 					"dev": true,
 					"requires": {
 						"ansi-regex": "^4.1.0"
+					},
+					"dependencies": {
+						"ansi-regex": {
+							"version": "4.1.0",
+							"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+							"integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+							"dev": true
+						}
 					}
 				}
 			}
@@ -5571,9 +7472,9 @@
 			"integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw=="
 		},
 		"is-callable": {
-			"version": "1.1.4",
-			"resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
-			"integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==",
+			"version": "1.1.5",
+			"resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz",
+			"integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==",
 			"dev": true
 		},
 		"is-data-descriptor": {
@@ -5603,9 +7504,9 @@
 			}
 		},
 		"is-date-object": {
-			"version": "1.0.1",
-			"resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
-			"integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
+			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz",
+			"integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==",
 			"dev": true
 		},
 		"is-decimal": {
@@ -5762,12 +7663,12 @@
 			"dev": true
 		},
 		"is-regex": {
-			"version": "1.0.4",
-			"resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
-			"integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
+			"version": "1.0.5",
+			"resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz",
+			"integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==",
 			"dev": true,
 			"requires": {
-				"has": "^1.0.1"
+				"has": "^1.0.3"
 			}
 		},
 		"is-regexp": {
@@ -5782,6 +7683,12 @@
 			"integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
 			"dev": true
 		},
+		"is-string": {
+			"version": "1.0.5",
+			"resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz",
+			"integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==",
+			"dev": true
+		},
 		"is-supported-regexp-flag": {
 			"version": "1.0.1",
 			"resolved": "https://registry.npmjs.org/is-supported-regexp-flag/-/is-supported-regexp-flag-1.0.1.tgz",
@@ -5789,12 +7696,20 @@
 			"dev": true
 		},
 		"is-symbol": {
-			"version": "1.0.2",
-			"resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz",
-			"integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==",
+			"version": "1.0.3",
+			"resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz",
+			"integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==",
 			"dev": true,
 			"requires": {
-				"has-symbols": "^1.0.0"
+				"has-symbols": "^1.0.1"
+			},
+			"dependencies": {
+				"has-symbols": {
+					"version": "1.0.1",
+					"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
+					"integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
+					"dev": true
+				}
 			}
 		},
 		"is-typedarray": {
@@ -5863,12 +7778,6 @@
 			"integrity": "sha512-M7kLczedRMYX4L8Mdh4MzyAMM9O5osx+4FcOQuTvr3A9F2D9S5JXheN0ewNbrvK2UatkTRhL5ejGmGSjNMiZuw==",
 			"dev": true
 		},
-		"js-levenshtein": {
-			"version": "1.1.6",
-			"resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz",
-			"integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==",
-			"dev": true
-		},
 		"js-tokens": {
 			"version": "4.0.0",
 			"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -5928,9 +7837,9 @@
 			"dev": true
 		},
 		"json2csv": {
-			"version": "4.5.2",
-			"resolved": "https://registry.npmjs.org/json2csv/-/json2csv-4.5.2.tgz",
-			"integrity": "sha512-Te2Knce3VfLKyurH3AolM6Y781ZE+R3jQ+0YQ0HYLiubyicST/19vML24e1dpScaaEQb+1Q1t5IcGXr6esM9Lw==",
+			"version": "4.5.4",
+			"resolved": "https://registry.npmjs.org/json2csv/-/json2csv-4.5.4.tgz",
+			"integrity": "sha512-YxBhY4Lmn8IvVZ36nqg5omxneLy9JlorkqW1j/EDCeqvmi+CQ4uM+wsvXlcIqvGDewIPXMC/O/oF8DX9EH5aoA==",
 			"requires": {
 				"commander": "^2.15.1",
 				"jsonparse": "^1.3.1",
@@ -5938,14 +7847,23 @@
 			}
 		},
 		"json5": {
-			"version": "2.1.0",
-			"resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz",
-			"integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==",
+			"version": "2.1.1",
+			"resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz",
+			"integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==",
 			"dev": true,
 			"requires": {
 				"minimist": "^1.2.0"
 			}
 		},
+		"jsonfile": {
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
+			"integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
+			"dev": true,
+			"requires": {
+				"graceful-fs": "^4.1.6"
+			}
+		},
 		"jsonparse": {
 			"version": "1.3.1",
 			"resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
@@ -5984,6 +7902,21 @@
 				"invert-kv": "^1.0.0"
 			}
 		},
+		"leven": {
+			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
+			"integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
+			"dev": true
+		},
+		"levenary": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/levenary/-/levenary-1.1.0.tgz",
+			"integrity": "sha512-VHcwhO0UTpUW7rLPN2/OiWJdgA1e9BqEDALhrgCe/F+uUJnep6CoUsTzMeP8Rh0NGr9uKquXxqe7lwLZo509nQ==",
+			"dev": true,
+			"requires": {
+				"leven": "^3.1.0"
+			}
+		},
 		"levn": {
 			"version": "0.3.0",
 			"resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
@@ -6113,6 +8046,24 @@
 			"resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
 			"integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk="
 		},
+		"lodash.isboolean": {
+			"version": "3.0.3",
+			"resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz",
+			"integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=",
+			"dev": true
+		},
+		"lodash.isregexp": {
+			"version": "4.0.1",
+			"resolved": "https://registry.npmjs.org/lodash.isregexp/-/lodash.isregexp-4.0.1.tgz",
+			"integrity": "sha1-4T5kezDNVZdSoEzZEghvr32hwws=",
+			"dev": true
+		},
+		"lodash.isstring": {
+			"version": "4.0.1",
+			"resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz",
+			"integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=",
+			"dev": true
+		},
 		"log-symbols": {
 			"version": "2.2.0",
 			"resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz",
@@ -6478,9 +8429,9 @@
 			}
 		},
 		"mimic-fn": {
-			"version": "1.2.0",
-			"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
-			"integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
+			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+			"integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
 			"dev": true
 		},
 		"minimalistic-assert": {
@@ -6601,9 +8552,9 @@
 			"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
 		},
 		"mute-stream": {
-			"version": "0.0.7",
-			"resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
-			"integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=",
+			"version": "0.0.8",
+			"resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
+			"integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
 			"dev": true
 		},
 		"nan": {
@@ -6666,18 +8617,18 @@
 			}
 		},
 		"nextcloud-vue": {
-			"version": "0.12.3",
-			"resolved": "https://registry.npmjs.org/nextcloud-vue/-/nextcloud-vue-0.12.3.tgz",
-			"integrity": "sha512-qH0s1A9jgsbd9LU+icOIkQIcu9HoY8IW+ELUmP+HJvOdLAjAh3TtEz9ifsy+RcnUUOqASTveSEqxVmXDckwWeQ==",
+			"version": "0.12.9",
+			"resolved": "https://registry.npmjs.org/nextcloud-vue/-/nextcloud-vue-0.12.9.tgz",
+			"integrity": "sha512-q0bj+WXZmSJdhjxN68mWS99RaMv0+Ofls/U8q5A4lqQWSKFspkB+auHbJVXxAff/6blQXhMSNaS0EULrNGrwZg==",
 			"requires": {
 				"@babel/polyfill": "^7.4.4",
 				"escape-html": "^1.0.3",
 				"hammerjs": "^2.0.8",
 				"md5": "^2.2.1",
 				"nextcloud-axios": "^0.2.0",
+				"v-click-outside": "^2.1.4",
 				"v-tooltip": "^2.0.0-rc.33",
 				"vue": "^2.6.7",
-				"vue-click-outside": "^1.0.7",
 				"vue-multiselect": "^2.1.3",
 				"vue-visible": "^1.0.2",
 				"vue2-datepicker": "^2.10.0"
@@ -6757,18 +8708,26 @@
 			}
 		},
 		"node-releases": {
-			"version": "1.1.29",
-			"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.29.tgz",
-			"integrity": "sha512-R5bDhzh6I+tpi/9i2hrrvGJ3yKPYzlVOORDkXhnZuwi5D3q1I5w4vYy24PJXTcLk9Q0kws9TO77T75bcK8/ysQ==",
+			"version": "1.1.45",
+			"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.45.tgz",
+			"integrity": "sha512-cXvGSfhITKI8qsV116u2FTzH5EWZJfgG7d4cpqwF8I8+1tWpD6AsvvGRKq2onR0DNj1jfqsjkXZsm14JMS7Cyg==",
 			"dev": true,
 			"requires": {
-				"semver": "^5.3.0"
+				"semver": "^6.3.0"
+			},
+			"dependencies": {
+				"semver": {
+					"version": "6.3.0",
+					"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+					"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+					"dev": true
+				}
 			}
 		},
 		"node-sass": {
-			"version": "4.12.0",
-			"resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.12.0.tgz",
-			"integrity": "sha512-A1Iv4oN+Iel6EPv77/HddXErL2a+gZ4uBeZUy+a8O35CFYTXhgA8MgLCWBtwpGZdCvTvQ9d+bQxX/QC36GDPpQ==",
+			"version": "4.13.0",
+			"resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.13.0.tgz",
+			"integrity": "sha512-W1XBrvoJ1dy7VsvTAS5q1V45lREbTlZQqFbiHb3R3OTTCma0XBtuG6xZ6Z4506nR4lmHPTqVRwxT6KgtWC97CA==",
 			"dev": true,
 			"requires": {
 				"async-foreach": "^0.1.3",
@@ -6778,7 +8737,7 @@
 				"get-stdin": "^4.0.1",
 				"glob": "^7.0.3",
 				"in-publish": "^2.0.0",
-				"lodash": "^4.17.11",
+				"lodash": "^4.17.15",
 				"meow": "^3.7.0",
 				"mkdirp": "^0.5.1",
 				"nan": "^2.13.2",
@@ -6964,15 +8923,15 @@
 			}
 		},
 		"object-hash": {
-			"version": "1.3.1",
-			"resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz",
-			"integrity": "sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==",
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.0.1.tgz",
+			"integrity": "sha512-HgcGMooY4JC2PBt9sdUdJ6PMzpin+YtY3r/7wg0uTifP+HJWW8rammseSEHuyt0UeShI183UGssCJqm1bJR7QA==",
 			"dev": true
 		},
 		"object-inspect": {
-			"version": "1.6.0",
-			"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz",
-			"integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==",
+			"version": "1.7.0",
+			"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz",
+			"integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==",
 			"dev": true
 		},
 		"object-keys": {
@@ -7022,13 +8981,13 @@
 			}
 		},
 		"object.values": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.0.tgz",
-			"integrity": "sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg==",
+			"version": "1.1.1",
+			"resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz",
+			"integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==",
 			"dev": true,
 			"requires": {
 				"define-properties": "^1.1.3",
-				"es-abstract": "^1.12.0",
+				"es-abstract": "^1.17.0-next.1",
 				"function-bind": "^1.1.1",
 				"has": "^1.0.3"
 			}
@@ -7043,26 +9002,26 @@
 			}
 		},
 		"onetime": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
-			"integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
+			"version": "5.1.0",
+			"resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
+			"integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==",
 			"dev": true,
 			"requires": {
-				"mimic-fn": "^1.0.0"
+				"mimic-fn": "^2.1.0"
 			}
 		},
 		"optionator": {
-			"version": "0.8.2",
-			"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
-			"integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=",
+			"version": "0.8.3",
+			"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
+			"integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
 			"dev": true,
 			"requires": {
 				"deep-is": "~0.1.3",
-				"fast-levenshtein": "~2.0.4",
+				"fast-levenshtein": "~2.0.6",
 				"levn": "~0.3.0",
 				"prelude-ls": "~1.1.2",
 				"type-check": "~0.3.2",
-				"wordwrap": "~1.0.0"
+				"word-wrap": "~1.2.3"
 			}
 		},
 		"os-browserify": {
@@ -7151,12 +9110,12 @@
 			"dev": true
 		},
 		"parallel-transform": {
-			"version": "1.1.0",
-			"resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz",
-			"integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=",
+			"version": "1.2.0",
+			"resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz",
+			"integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==",
 			"dev": true,
 			"requires": {
-				"cyclist": "~0.2.2",
+				"cyclist": "^1.0.1",
 				"inherits": "^2.0.3",
 				"readable-stream": "^2.1.5"
 			}
@@ -7255,12 +9214,6 @@
 			"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
 			"dev": true
 		},
-		"path-is-inside": {
-			"version": "1.0.2",
-			"resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
-			"integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
-			"dev": true
-		},
 		"path-key": {
 			"version": "2.0.1",
 			"resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
@@ -7340,9 +9293,9 @@
 			}
 		},
 		"popper.js": {
-			"version": "1.15.0",
-			"resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.15.0.tgz",
-			"integrity": "sha512-w010cY1oCUmI+9KwwlWki+r5jxKfTFDVoadl7MSrIujHU5MJ5OR6HTDj6Xo8aoR/QsA56x8jKjA59qGH4ELtrA=="
+			"version": "1.16.0",
+			"resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.0.tgz",
+			"integrity": "sha512-+G+EkOPoE5S/zChTpmBSSDYmhXJ5PsW8eMhH8cP/CQHMFPBG/kC9Y5IIw6qNYgdJ+/COf0ddY2li28iHaZRSjw=="
 		},
 		"posix-character-classes": {
 			"version": "0.1.1",
@@ -7497,9 +9450,9 @@
 			}
 		},
 		"postcss-modules-scope": {
-			"version": "2.1.0",
-			"resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.1.0.tgz",
-			"integrity": "sha512-91Rjps0JnmtUB0cujlc8KIKCsJXWjzuxGeT/+Q2i2HXKZ7nBUeF9YQTZZTNvHVoNYj1AthsjnGLtqDUE0Op79A==",
+			"version": "2.1.1",
+			"resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.1.1.tgz",
+			"integrity": "sha512-OXRUPecnHCg8b9xWvldG/jUpRIGPNRka0r4D4j0ESUU2/5IOnpsjfPPmDprM3Ih8CgZ8FXjWqaniK5v4rWt3oQ==",
 			"dev": true,
 			"requires": {
 				"postcss": "^7.0.6",
@@ -7668,9 +9621,9 @@
 			"dev": true
 		},
 		"prettier": {
-			"version": "1.16.3",
-			"resolved": "https://registry.npmjs.org/prettier/-/prettier-1.16.3.tgz",
-			"integrity": "sha512-kn/GU6SMRYPxUakNXhpP0EedT/KmaPzr0H5lIsDogrykbaxOpOfAFfk5XA7DZrJyMAv1wlMV3CPcZruGXVVUZw==",
+			"version": "1.19.1",
+			"resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz",
+			"integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==",
 			"dev": true
 		},
 		"private": {
@@ -7716,9 +9669,9 @@
 			"dev": true
 		},
 		"psl": {
-			"version": "1.3.1",
-			"resolved": "https://registry.npmjs.org/psl/-/psl-1.3.1.tgz",
-			"integrity": "sha512-2KLd5fKOdAfShtY2d/8XDWVRnmp3zp40Qt6ge2zBPFARLXOGUf2fHD5eg+TV/5oxBtQKVhjUaKFsAaE4HnwfSA==",
+			"version": "1.4.0",
+			"resolved": "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz",
+			"integrity": "sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw==",
 			"dev": true
 		},
 		"public-encrypt": {
@@ -8282,12 +10235,6 @@
 				"safe-regex": "^1.1.0"
 			}
 		},
-		"regexp-tree": {
-			"version": "0.1.13",
-			"resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.13.tgz",
-			"integrity": "sha512-hwdV/GQY5F8ReLZWO+W1SRoN5YfpOKY6852+tBFcma72DKBIcHjPRIlIvQN35bCOljuAfP2G2iB0FC/w236mUw==",
-			"dev": true
-		},
 		"regexpp": {
 			"version": "2.0.1",
 			"resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz",
@@ -8295,9 +10242,9 @@
 			"dev": true
 		},
 		"regexpu-core": {
-			"version": "4.5.5",
-			"resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.5.5.tgz",
-			"integrity": "sha512-FpI67+ky9J+cDizQUJlIlNZFKual/lUkFr1AG6zOCpwZ9cLrg8UUVakyUQJD7fCDIe9Z2nwTQJNPyonatNmDFQ==",
+			"version": "4.6.0",
+			"resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz",
+			"integrity": "sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==",
 			"dev": true,
 			"requires": {
 				"regenerate": "^1.4.0",
@@ -8309,15 +10256,15 @@
 			}
 		},
 		"regjsgen": {
-			"version": "0.5.0",
-			"resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz",
-			"integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA==",
+			"version": "0.5.1",
+			"resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.1.tgz",
+			"integrity": "sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==",
 			"dev": true
 		},
 		"regjsparser": {
-			"version": "0.6.0",
-			"resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz",
-			"integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==",
+			"version": "0.6.2",
+			"resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.2.tgz",
+			"integrity": "sha512-E9ghzUtoLwDekPT0DYCp+c4h+bvuUpe6rRHCTYn6eGoqj1LgKXxT6I0Il4WbjhQkOghzi/V+y03bPKvbllL93Q==",
 			"dev": true,
 			"requires": {
 				"jsesc": "~0.5.0"
@@ -8534,12 +10481,12 @@
 			"dev": true
 		},
 		"restore-cursor": {
-			"version": "2.0.0",
-			"resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
-			"integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
+			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
+			"integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
 			"dev": true,
 			"requires": {
-				"onetime": "^2.0.0",
+				"onetime": "^5.1.0",
 				"signal-exit": "^3.0.2"
 			}
 		},
@@ -8587,9 +10534,9 @@
 			}
 		},
 		"rxjs": {
-			"version": "6.5.2",
-			"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.2.tgz",
-			"integrity": "sha512-HUb7j3kvb7p7eCUHE3FqjoDsC1xfZQ4AHFWfTKSpZ+sAhhz5X1WX0ZuUqWbzB2QhSLp3DoLUG+hMdEDKqWo2Zg==",
+			"version": "6.5.3",
+			"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz",
+			"integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==",
 			"dev": true,
 			"requires": {
 				"tslib": "^1.9.0"
@@ -8629,30 +10576,30 @@
 			}
 		},
 		"sass-loader": {
-			"version": "7.3.1",
-			"resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.3.1.tgz",
-			"integrity": "sha512-tuU7+zm0pTCynKYHpdqaPpe+MMTQ76I9TPZ7i4/5dZsigE350shQWe5EZNl5dBidM49TPET75tNqRbcsUZWeNA==",
+			"version": "8.0.1",
+			"resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-8.0.1.tgz",
+			"integrity": "sha512-ANR2JHuoxzCI+OPDA0hJBv1Y16A2021hucu0S3DOGgpukKzq9W+4vX9jhIqs4qibT5E7RIRsHMMrN0kdF5nUig==",
 			"dev": true,
 			"requires": {
 				"clone-deep": "^4.0.1",
-				"loader-utils": "^1.0.1",
-				"neo-async": "^2.5.0",
-				"pify": "^4.0.1",
-				"semver": "^6.3.0"
+				"loader-utils": "^1.2.3",
+				"neo-async": "^2.6.1",
+				"schema-utils": "^2.6.1",
+				"semver": "^7.1.1"
 			},
 			"dependencies": {
 				"semver": {
-					"version": "6.3.0",
-					"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-					"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+					"version": "7.1.1",
+					"resolved": "https://registry.npmjs.org/semver/-/semver-7.1.1.tgz",
+					"integrity": "sha512-WfuG+fl6eh3eZ2qAf6goB7nhiCd7NPXhmyFxigB/TOkQyeLP8w8GsVehvtGNtnNmyboz4TgeK40B1Kbql/8c5A==",
 					"dev": true
 				}
 			}
 		},
 		"schema-utils": {
-			"version": "2.2.0",
-			"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.2.0.tgz",
-			"integrity": "sha512-5EwsCNhfFTZvUreQhx/4vVQpJ/lnCAkgoIHLhSpp4ZirE+4hzFvdJi0FMub6hxbFVBJYSpeVVmon+2e7uEGRrA==",
+			"version": "2.6.1",
+			"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.1.tgz",
+			"integrity": "sha512-0WXHDs1VDJyo+Zqs9TKLKyD/h7yDpHUhEFsM2CzkICFdoX1av+GBq/J2xRTFfsQO5kBfhZzANf2VcIm84jqDbg==",
 			"dev": true,
 			"requires": {
 				"ajv": "^6.10.2",
@@ -8692,9 +10639,9 @@
 			"dev": true
 		},
 		"serialize-javascript": {
-			"version": "1.9.0",
-			"resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.0.tgz",
-			"integrity": "sha512-UkGlcYMtw4d9w7YfCtJFgdRTps8N4L0A48R+SmcGL57ki1+yHwJXnalk5bjgrw+ljv6SfzjzPjhohod2qllg/Q==",
+			"version": "2.1.2",
+			"resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz",
+			"integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==",
 			"dev": true
 		},
 		"set-blocking": {
@@ -8937,9 +10884,9 @@
 			}
 		},
 		"source-map-support": {
-			"version": "0.5.13",
-			"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz",
-			"integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==",
+			"version": "0.5.16",
+			"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz",
+			"integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==",
 			"dev": true,
 			"requires": {
 				"buffer-from": "^1.0.0",
@@ -9109,9 +11056,9 @@
 			}
 		},
 		"stream-shift": {
-			"version": "1.0.0",
-			"resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz",
-			"integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=",
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz",
+			"integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==",
 			"dev": true
 		},
 		"string-width": {
@@ -9125,23 +11072,23 @@
 			}
 		},
 		"string.prototype.trimleft": {
-			"version": "2.0.0",
-			"resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.0.0.tgz",
-			"integrity": "sha1-aLaqjhYsaoDnbjqKDC50cYbicf8=",
+			"version": "2.1.1",
+			"resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz",
+			"integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==",
 			"dev": true,
 			"requires": {
-				"define-properties": "^1.1.2",
-				"function-bind": "^1.0.2"
+				"define-properties": "^1.1.3",
+				"function-bind": "^1.1.1"
 			}
 		},
 		"string.prototype.trimright": {
-			"version": "2.0.0",
-			"resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.0.0.tgz",
-			"integrity": "sha1-q0pW2AKgH75yk+EehPJNyBZGYd0=",
+			"version": "2.1.1",
+			"resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz",
+			"integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==",
 			"dev": true,
 			"requires": {
-				"define-properties": "^1.1.2",
-				"function-bind": "^1.0.2"
+				"define-properties": "^1.1.3",
+				"function-bind": "^1.1.1"
 			}
 		},
 		"string_decoder": {
@@ -9204,9 +11151,9 @@
 			}
 		},
 		"strip-json-comments": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
-			"integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz",
+			"integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==",
 			"dev": true
 		},
 		"style-search": {
@@ -9549,12 +11496,14 @@
 			}
 		},
 		"stylelint-scss": {
-			"version": "3.10.1",
-			"resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-3.10.1.tgz",
-			"integrity": "sha512-YnzYmcLd5DGGsjfoj44gArjo3TWhMWjS/ytfu+1HKtToZae5ditZOXHBmrgitsHvNk9mzp5WO3/PjA5IO1GpUw==",
+			"version": "3.13.0",
+			"resolved": "https://registry.npmjs.org/stylelint-scss/-/stylelint-scss-3.13.0.tgz",
+			"integrity": "sha512-SaLnvQyndaPcsgVJsMh6zJ1uKVzkRZJx+Wg/stzoB1mTBdEmGketbHrGbMQNymzH/0mJ06zDSpeCDvNxqIJE5A==",
 			"dev": true,
 			"requires": {
-				"lodash": "^4.17.15",
+				"lodash.isboolean": "^3.0.3",
+				"lodash.isregexp": "^4.0.1",
+				"lodash.isstring": "^4.0.1",
 				"postcss-media-query-parser": "^0.2.3",
 				"postcss-resolve-nested-selector": "^0.1.1",
 				"postcss-selector-parser": "^6.0.2",
@@ -9953,9 +11902,9 @@
 			}
 		},
 		"terser": {
-			"version": "4.2.1",
-			"resolved": "https://registry.npmjs.org/terser/-/terser-4.2.1.tgz",
-			"integrity": "sha512-cGbc5utAcX4a9+2GGVX4DsenG6v0x3glnDi5hx8816X1McEAwPlPgRtXPJzSBsbpILxZ8MQMT0KvArLuE0HP5A==",
+			"version": "4.4.3",
+			"resolved": "https://registry.npmjs.org/terser/-/terser-4.4.3.tgz",
+			"integrity": "sha512-0ikKraVtRDKGzHrzkCv5rUNDzqlhmhowOBqC0XqUHFpW+vJ45+20/IFBcebwKfiS2Z9fJin6Eo+F1zLZsxi8RA==",
 			"dev": true,
 			"requires": {
 				"commander": "^2.20.0",
@@ -9972,16 +11921,16 @@
 			}
 		},
 		"terser-webpack-plugin": {
-			"version": "1.4.1",
-			"resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz",
-			"integrity": "sha512-ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg==",
+			"version": "1.4.3",
+			"resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.3.tgz",
+			"integrity": "sha512-QMxecFz/gHQwteWwSo5nTc6UaICqN1bMedC5sMtUc7y3Ha3Q8y6ZO0iCR8pq4RJC8Hjf0FEPEHZqcMB/+DFCrA==",
 			"dev": true,
 			"requires": {
 				"cacache": "^12.0.2",
 				"find-cache-dir": "^2.1.0",
 				"is-wsl": "^1.1.0",
 				"schema-utils": "^1.0.0",
-				"serialize-javascript": "^1.7.0",
+				"serialize-javascript": "^2.1.2",
 				"source-map": "^0.6.1",
 				"terser": "^4.1.2",
 				"webpack-sources": "^1.4.0",
@@ -10231,6 +12180,12 @@
 				"prelude-ls": "~1.1.2"
 			}
 		},
+		"type-fest": {
+			"version": "0.8.1",
+			"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
+			"integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
+			"dev": true
+		},
 		"typedarray": {
 			"version": "0.0.6",
 			"resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
@@ -10373,6 +12328,12 @@
 				"unist-util-is": "^3.0.0"
 			}
 		},
+		"universalify": {
+			"version": "0.1.2",
+			"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
+			"integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
+			"dev": true
+		},
 		"unset-value": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
@@ -10487,6 +12448,11 @@
 			"integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==",
 			"dev": true
 		},
+		"v-click-outside": {
+			"version": "2.1.5",
+			"resolved": "https://registry.npmjs.org/v-click-outside/-/v-click-outside-2.1.5.tgz",
+			"integrity": "sha512-VPNCOTZK6WZy73lcWc+R7IW1uaBFEO3/Csrs5CzWVOdvE30V8Y1+BE/BtTlcEmeDGx0eqdE7bSCg55Jj37PMJg=="
+		},
 		"v-tooltip": {
 			"version": "2.0.2",
 			"resolved": "https://registry.npmjs.org/v-tooltip/-/v-tooltip-2.0.2.tgz",
@@ -10566,14 +12532,9 @@
 			"dev": true
 		},
 		"vue": {
-			"version": "2.6.10",
-			"resolved": "https://registry.npmjs.org/vue/-/vue-2.6.10.tgz",
-			"integrity": "sha512-ImThpeNU9HbdZL3utgMCq0oiMzAkt1mcgy3/E6zWC/G6AaQoeuFdsl9nDhTDU3X1R6FK7nsIUuRACVcjI+A2GQ=="
-		},
-		"vue-click-outside": {
-			"version": "1.0.7",
-			"resolved": "https://registry.npmjs.org/vue-click-outside/-/vue-click-outside-1.0.7.tgz",
-			"integrity": "sha1-zdKxYF48SUR4TheU6uShKg9wC9Y="
+			"version": "2.6.11",
+			"resolved": "https://registry.npmjs.org/vue/-/vue-2.6.11.tgz",
+			"integrity": "sha512-VfPwgcGABbGAue9+sfrD4PuwFar7gPb1yl1UK1MwXoQPAw0BKSqWfoYCT/ThFrdEVWoI51dBuyCoiNU9bZDZxQ=="
 		},
 		"vue-clipboard2": {
 			"version": "0.3.1",
@@ -10584,17 +12545,17 @@
 			}
 		},
 		"vue-eslint-parser": {
-			"version": "5.0.0",
-			"resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-5.0.0.tgz",
-			"integrity": "sha512-JlHVZwBBTNVvzmifwjpZYn0oPWH2SgWv5dojlZBsrhablDu95VFD+hriB1rQGwbD+bms6g+rAFhQHk6+NyiS6g==",
+			"version": "7.0.0",
+			"resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-7.0.0.tgz",
+			"integrity": "sha512-yR0dLxsTT7JfD2YQo9BhnQ6bUTLsZouuzt9SKRP7XNaZJV459gvlsJo4vT2nhZ/2dH9j3c53bIx9dnqU2prM9g==",
 			"dev": true,
 			"requires": {
-				"debug": "^4.1.0",
-				"eslint-scope": "^4.0.0",
-				"eslint-visitor-keys": "^1.0.0",
-				"espree": "^4.1.0",
+				"debug": "^4.1.1",
+				"eslint-scope": "^5.0.0",
+				"eslint-visitor-keys": "^1.1.0",
+				"espree": "^6.1.2",
 				"esquery": "^1.0.1",
-				"lodash": "^4.17.11"
+				"lodash": "^4.17.15"
 			},
 			"dependencies": {
 				"debug": {
@@ -10606,15 +12567,14 @@
 						"ms": "^2.1.1"
 					}
 				},
-				"espree": {
-					"version": "4.1.0",
-					"resolved": "https://registry.npmjs.org/espree/-/espree-4.1.0.tgz",
-					"integrity": "sha512-I5BycZW6FCVIub93TeVY1s7vjhP9CY6cXCznIRfiig7nRviKZYdRnj/sHEWC6A7WE9RDWOFq9+7OsWSYz8qv2w==",
+				"eslint-scope": {
+					"version": "5.0.0",
+					"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz",
+					"integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==",
 					"dev": true,
 					"requires": {
-						"acorn": "^6.0.2",
-						"acorn-jsx": "^5.0.0",
-						"eslint-visitor-keys": "^1.0.0"
+						"esrecurse": "^4.1.0",
+						"estraverse": "^4.1.1"
 					}
 				},
 				"ms": {
@@ -10626,18 +12586,18 @@
 			}
 		},
 		"vue-hot-reload-api": {
-			"version": "2.3.3",
-			"resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.3.tgz",
-			"integrity": "sha512-KmvZVtmM26BQOMK1rwUZsrqxEGeKiYSZGA7SNWE6uExx8UX/cj9hq2MRV/wWC3Cq6AoeDGk57rL9YMFRel/q+g==",
+			"version": "2.3.4",
+			"resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz",
+			"integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==",
 			"dev": true
 		},
 		"vue-loader": {
-			"version": "15.7.1",
-			"resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.7.1.tgz",
-			"integrity": "sha512-fwIKtA23Pl/rqfYP5TSGK7gkEuLhoTvRYW+TU7ER3q9GpNLt/PjG5NLv3XHRDiTg7OPM1JcckBgds+VnAc+HbA==",
+			"version": "15.8.3",
+			"resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.8.3.tgz",
+			"integrity": "sha512-yFksTFbhp+lxlm92DrKdpVIWMpranXnTEuGSc0oW+Gk43M9LWaAmBTnfj5+FCdve715mTHvo78IdaXf5TbiTJg==",
 			"dev": true,
 			"requires": {
-				"@vue/component-compiler-utils": "^3.0.0",
+				"@vue/component-compiler-utils": "^3.1.0",
 				"hash-sum": "^1.0.2",
 				"loader-utils": "^1.1.0",
 				"vue-hot-reload-api": "^2.3.0",
@@ -10670,9 +12630,9 @@
 			}
 		},
 		"vue-template-compiler": {
-			"version": "2.6.10",
-			"resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.10.tgz",
-			"integrity": "sha512-jVZkw4/I/HT5ZMvRnhv78okGusqe0+qH2A0Em0Cp8aq78+NK9TII263CDVz2QXZsIT+yyV/gZc/j/vlwa+Epyg==",
+			"version": "2.6.11",
+			"resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.11.tgz",
+			"integrity": "sha512-KIq15bvQDrcCjpGjrAhx4mUlyyHfdmTaoNfeoATHLAiWB+MU3cx4lOzMwrnUh9cCxy0Lt1T11hAFY6TQgroUAA==",
 			"dev": true,
 			"requires": {
 				"de-indent": "^1.0.2",
@@ -10691,9 +12651,9 @@
 			"integrity": "sha512-yaX2its9XAJKGuQqf7LsiZHHSkxsIK8rmCOQOvEGEoF41blKRK8qr9my4qYoD6ikdLss4n8tKqYBecmaY0+WJg=="
 		},
 		"vue2-datepicker": {
-			"version": "2.12.0",
-			"resolved": "https://registry.npmjs.org/vue2-datepicker/-/vue2-datepicker-2.12.0.tgz",
-			"integrity": "sha512-09PRIFm5hWrpfSBxWKJqm78yC0MTUZlq9MItLsWDe1OPgRqwWpex4fGkL7/nJG+d39v60wckQoVdk9RpLx8C9w==",
+			"version": "2.13.4",
+			"resolved": "https://registry.npmjs.org/vue2-datepicker/-/vue2-datepicker-2.13.4.tgz",
+			"integrity": "sha512-a2eRLqBSRTFRJ/DVcPArXALpnICj+DTvoJGkvuZTvytO7FD3rmxbGS/DNzK1v+hDbHiOJtHwB7N8pyT1XZtWfw==",
 			"requires": {
 				"fecha": "^2.3.3"
 			}
@@ -10710,9 +12670,9 @@
 			}
 		},
 		"webpack": {
-			"version": "4.39.3",
-			"resolved": "https://registry.npmjs.org/webpack/-/webpack-4.39.3.tgz",
-			"integrity": "sha512-BXSI9M211JyCVc3JxHWDpze85CvjC842EvpRsVTc/d15YJGlox7GIDd38kJgWrb3ZluyvIjgenbLDMBQPDcxYQ==",
+			"version": "4.41.5",
+			"resolved": "https://registry.npmjs.org/webpack/-/webpack-4.41.5.tgz",
+			"integrity": "sha512-wp0Co4vpyumnp3KlkmpM5LWuzvZYayDwM2n17EHFr4qxBBbRokC7DJawPJC7TfSFZ9HZ6GsdH40EBj4UV0nmpw==",
 			"dev": true,
 			"requires": {
 				"@webassemblyjs/ast": "1.8.5",
@@ -10735,7 +12695,7 @@
 				"node-libs-browser": "^2.2.1",
 				"schema-utils": "^1.0.0",
 				"tapable": "^1.1.3",
-				"terser-webpack-plugin": "^1.4.1",
+				"terser-webpack-plugin": "^1.4.3",
 				"watchpack": "^1.6.0",
 				"webpack-sources": "^1.4.1"
 			},
@@ -10791,14 +12751,26 @@
 					}
 				},
 				"enhanced-resolve": {
-					"version": "4.1.0",
-					"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz",
-					"integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==",
+					"version": "4.1.1",
+					"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz",
+					"integrity": "sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA==",
 					"dev": true,
 					"requires": {
 						"graceful-fs": "^4.1.2",
-						"memory-fs": "^0.4.0",
+						"memory-fs": "^0.5.0",
 						"tapable": "^1.0.0"
+					},
+					"dependencies": {
+						"memory-fs": {
+							"version": "0.5.0",
+							"resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz",
+							"integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==",
+							"dev": true,
+							"requires": {
+								"errno": "^0.1.3",
+								"readable-stream": "^2.0.1"
+							}
+						}
 					}
 				},
 				"expand-brackets": {
@@ -11058,9 +13030,9 @@
 			}
 		},
 		"webpack-cli": {
-			"version": "3.3.8",
-			"resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.8.tgz",
-			"integrity": "sha512-RANYSXwikSWINjHMd/mtesblNSpjpDLoYTBtP99n1RhXqVI/wxN40Auqy42I7y4xrbmRBoA5Zy5E0JSBD5XRhw==",
+			"version": "3.3.10",
+			"resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.10.tgz",
+			"integrity": "sha512-u1dgND9+MXaEt74sJR4PR7qkPxXUSQ0RXYq8x1L6Jg1MYVEmGPrH6Ah6C4arD4r0J1P5HKjRqpab36k0eIzPqg==",
 			"dev": true,
 			"requires": {
 				"chalk": "2.4.2",
@@ -11292,10 +13264,10 @@
 				"string-width": "^1.0.2 || 2"
 			}
 		},
-		"wordwrap": {
-			"version": "1.0.0",
-			"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
-			"integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
+		"word-wrap": {
+			"version": "1.2.3",
+			"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
+			"integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
 			"dev": true
 		},
 		"worker-farm": {
diff --git a/package.json b/package.json
index 8a1e3404de5ab45ddec4d98a7fba34cc818928fd..be95c8f51a0af071adb0e8d3d704e37c2c7e6bf9 100644
--- a/package.json
+++ b/package.json
@@ -69,11 +69,11 @@
 		"test:coverage": "jest --coverage"
 	},
 	"dependencies": {
-		"json2csv": "4.5.2",
+		"json2csv": "4.5.4",
 		"moment": "^2.23.0",
 		"nextcloud-axios": "^0.2.1",
-		"nextcloud-vue": "^0.12.3",
-		"vue": "^2.6.10",
+		"nextcloud-vue": "^0.12.9",
+		"vue": "^2.6.11",
 		"vue-clipboard2": "^0.3.1",
 		"vue-router": "^3.1.3"
 	},
@@ -84,35 +84,35 @@
 		"node": ">=10.0.0"
 	},
 	"devDependencies": {
-		"@babel/core": "^7.6.0",
-		"@babel/plugin-syntax-dynamic-import": "^7.2.0",
-		"@babel/preset-env": "^7.6.0",
+		"@babel/core": "^7.8.0",
+		"@babel/plugin-syntax-dynamic-import": "^7.8.0",
+		"@babel/preset-env": "^7.8.0",
 		"babel-eslint": "^10.0.1",
 		"babel-loader": "^8.0.4",
-		"browserslist-config-nextcloud": "0.0.1",
-		"css-loader": "^3.2.0",
-		"eslint": "^5.16.0",
-		"eslint-config-standard": "^12.0.0",
-		"eslint-import-resolver-webpack": "^0.11.1",
-		"eslint-loader": "^3.0.0",
-		"eslint-plugin-import": "^2.18.2",
+		"browserslist-config-nextcloud": "0.1.0",
+		"css-loader": "^3.4.2",
+		"eslint": "^6.8.0",
+		"eslint-config-standard": "^14.1.0",
+		"eslint-import-resolver-webpack": "^0.12.1",
+		"eslint-loader": "^3.0.3",
+		"eslint-plugin-import": "^2.20.0",
 		"eslint-plugin-nextcloud": "^0.3.0",
-		"eslint-plugin-node": "^9.2.0",
+		"eslint-plugin-node": "^11.0.0",
 		"eslint-plugin-promise": "^4.2.1",
 		"eslint-plugin-standard": "^4.0.1",
-		"eslint-plugin-vue": "^5.2.3",
-		"file-loader": "^4.2.0",
-		"node-sass": "^4.12.0",
-		"sass-loader": "^7.3.1",
+		"eslint-plugin-vue": "^6.1.2",
+		"file-loader": "^5.0.2",
+		"node-sass": "^4.13.0",
+		"sass-loader": "^8.0.1",
 		"stylelint": "^8.4.0",
 		"stylelint-config-recommended-scss": "^3.3.0",
-		"stylelint-scss": "^3.10.1",
+		"stylelint-scss": "^3.13.0",
 		"stylelint-webpack-plugin": "^0.10.5",
-		"vue-loader": "^15.7.1",
+		"vue-loader": "^15.8.3",
 		"vue-style-loader": "^4.1.1",
-		"vue-template-compiler": "^2.6.10",
-		"webpack": "^4.39.3",
-		"webpack-cli": "^3.3.8",
+		"vue-template-compiler": "^2.6.11",
+		"webpack": "^4.41.5",
+		"webpack-cli": "^3.3.10",
 		"webpack-merge": "^4.2.2"
 	}
 }
diff --git a/src/components/formListItem.vue b/src/components/formListItem.vue
index 2e2d46c0c9baf0d6e9c10624a585d320fdf00777..2486a56e37adc5b4bc70c9e9a38c78da9c815cd1 100644
--- a/src/components/formListItem.vue
+++ b/src/components/formListItem.vue
@@ -34,17 +34,17 @@
 		<div class="wrapper group-2">
 			<div class="wrapper-group-2-5">
 				<div class="deletetwo">
-					{{ t('forms',"Delete Form") }}
+					{{ t('forms',"Delete form") }}
 				</div>
 			</div>
 			<div class="wrapper-group-2-5">
 				<div class="copyL">
-					{{ t('forms', "Copy Link") }}
+					{{ t('forms', "Copy link") }}
 				</div>
 			</div>
 			<div class="wrapper-group-2-5">
 				<div class="result">
-					{{ t('forms', "View Results") }}
+					{{ t('forms', "View results") }}
 				</div>
 			</div>
 			<div class="wrapper group-2-1">
@@ -90,7 +90,7 @@
 			</div>
 			<div class="list-results wrapper">
 				<button class="button btn primary" @click="viewResults">
-					<span>{{ t('forms', 'View Results') }}</span>
+					<span>{{ t('forms', 'View results') }}</span>
 				</button>
 			</div>
 
diff --git a/src/components/quizFormItem.vue b/src/components/quizFormItem.vue
index e868a20ee915f430fa5794aea736fcd2834bba55..1c87d0af329321d707159559005b67019bf0327d 100644
--- a/src/components/quizFormItem.vue
+++ b/src/components/quizFormItem.vue
@@ -50,7 +50,7 @@
 </template>
 
 <script>
-import TextFormItem from '../components/textFormItem'
+import TextFormItem from './textFormItem.vue'
 export default {
 	components: {
 		TextFormItem
diff --git a/src/main.js b/src/main.js
index 242afe8091b21e93a523729413794b6b7ef11c6e..abd0af2c4bd91a0660fb190aa1846a67602152a1 100644
--- a/src/main.js
+++ b/src/main.js
@@ -29,12 +29,12 @@ import VueClipboard from 'vue-clipboard2'
 import { DatetimePicker, PopoverMenu, Tooltip } from 'nextcloud-vue'
 
 import Modal from './plugins/plugin.js'
-import Controls from './components/_base-Controls'
-import UserDiv from './components/_base-UserDiv'
-import SideBar from './components/_base-SideBar'
-import SideBarClose from './components/sideBarClose'
-import ShareDiv from './components/shareDiv'
-import LoadingOverlay from './components/_base-LoadingOverlay'
+import Controls from './components/_base-Controls.vue'
+import UserDiv from './components/_base-UserDiv.vue'
+import SideBar from './components/_base-SideBar.vue'
+import SideBarClose from './components/sideBarClose.vue'
+import ShareDiv from './components/shareDiv.vue'
+import LoadingOverlay from './components/_base-LoadingOverlay.vue'
 
 Vue.component('Controls', Controls)
 Vue.component('PopoverMenu', PopoverMenu)
diff --git a/src/views/Create.vue b/src/views/Create.vue
index d5f8824d06bef412592d4294f70c727d31186613..871b322a566687adb15493aec6e6552333ec06a2 100644
--- a/src/views/Create.vue
+++ b/src/views/Create.vue
@@ -125,6 +125,13 @@
 						{{ t('forms', 'Anonymous form') }}
 					</label>
 
+					<input id="unique" v-model="form.event.unique" :disabled="form.event.access !== 'registered' || form.event.isAnonymous"
+						type="checkbox" class="checkbox"
+					>
+					<label for="unique" class="title">
+						<span>{{ t('forms', 'Only allow one submission per user') }}</span>
+					</label>
+
 					<input v-show="form.event.isAnonymous" id="trueAnonymous" v-model="form.event.fullAnonymous"
 						:disabled="protect" type="checkbox" class="checkbox"
 					>
@@ -186,7 +193,7 @@
 
 <script>
 import moment from 'moment'
-import QuizFormItem from '../components/quizFormItem'
+import QuizFormItem from '../components/quizFormItem.vue'
 import axios from 'nextcloud-axios'
 
 export default {
@@ -217,6 +224,7 @@ export default {
 					description: '',
 					created: '',
 					access: 'public',
+					unique: false,
 					expiration: false,
 					expirationDate: '',
 					expired: false,
diff --git a/src/views/List.vue b/src/views/List.vue
index e26f7e826007c4a9c3a3294ec1259d694246f73e..da039594a7bd0d875a245fe2c5cc50c4a2697758 100644
--- a/src/views/List.vue
+++ b/src/views/List.vue
@@ -64,7 +64,7 @@
 
 <script>
 
-import formListItem from '../components/formListItem'
+import formListItem from '../components/formListItem.vue'
 import axios from 'nextcloud-axios'
 
 export default {
diff --git a/src/views/Results.vue b/src/views/Results.vue
index 4e000ab5ffbbf315cf1601beb3efe9ec8559248e..0cde13f64e78cff98c4645997acb6b99c318f45d 100644
--- a/src/views/Results.vue
+++ b/src/views/Results.vue
@@ -60,7 +60,7 @@
 <script>
 // import moment from 'moment'
 // import lodash from 'lodash'
-import resultItem from '../components/resultItem'
+import resultItem from '../components/resultItem.vue'
 import json2csvParser from 'json2csv'
 import axios from 'nextcloud-axios'